Business Client need Web Development

Contact person: Business Client

Phone:Show

Email:Show

Location: Pretoria, South Africa

Budget: Recommended by industry experts

Time to start: As soon as possible

Project description:
"Project: Build Phase 1 of “Needletime” – Radio Airplay Monitoring Platform (PHP/MySQL + ACRCloud)

I’m looking for an experienced PHP/MySQL developer (ideally with Laravel) to build Phase 1 of a web platform called Needletime.

Needletime uses ACRCloud to detect when songs are played on radio/online stations and provides airplay reports to:

CMOs / PROs (e.g. IMPRA – South African rights organization)

Individual artists (independent or CMO members)

Phase 1 is a working MVP with real data, not a prototype.

Tech Stack

Preferred:

Backend: PHP 8+ (Laravel preferred, but open to other modern MVC frameworks)

Database: MySQL 8+

Frontend: Blade/Twig + basic JS (and a simple chart library like [login to view URL])

Background Jobs: Cron + queue worker (Supervisor or similar)

Integration: ACRCloud (I will provide API keys & docs)

Core Functional Scope (Phase 1)

Below is the must-have feature set for this project.

1. Authentication & Roles

Email/password login

Password reset (email link)

Role-based access:

Platform Admin (my team)

Org Admin (CMO/Label admin, or Indie owner)

Member/Artist (CMO member or indie artist)

2. Organizations & Users

organizations table with:

Fields: name, type (CMO, LABEL, INDIE), contact email, logo, status

Platform Admin can:

Create/edit organizations

Assign Org Admin users

Independent artist signup:

Self-register → auto-create an INDIE organization and set them as its Org Admin

3. Stations & ACRCloud Integration

stations table with:

name, code, type (FM/ONLINE/TV), region, stream_url, is_active

Platform Admin screens to:

Create/edit/delete stations

Attach ACRCloud config (project/keys) per station (or globally)

Background worker:

Continuously read audio from station stream_url

Send chunks to ACRCloud identify endpoint

Parse the response and insert into play_logs

4. Data Model: Repertoire & Members

organization_members:

organization_id, name, membership_number, email, status

works:

organization_id, ISRC, title, artist_name, ACRID (optional), release_year

work_members (many-to-many):

work_id, organization_member_id, share_percentage (optional)

CMO Admin:

Upload CSV of members (name, membership_number, email)

Upload CSV of works (title, artist_name, ISRC, membership_number)

UI to view:

Member list & detail (with linked works)

Works list & detail (with linked members)

Independent artist:

Simple “Add Track” form:

title, artist_name (pre-filled), ISRC (optional)

Stored as works under their INDIE organization

Internally you may link them via organization_members or a simplified pattern

5. Play Logs & Mapping Logic

play_logs table:

station_id

work_id (nullable)

acrid

detected_at (DATETIME)

duration_seconds

confidence

raw_title

raw_artist

When inserting play_logs from ACRCloud:

Try to match to a work by ISRC (if returned) or ACRID

If matched → set work_id

If not, leave work_id null, but keep raw title/artist

(Aggregate tables for performance are nice-to-have; if needed we can discuss.)

6. Dashboards & Reports
6.1 Org Admin (CMOs, Labels, Indie Owners)

Org Dashboard

Stats for the current month:

Total members

Total works

Total plays

Number of stations with plays

Charts:

Top 10 works by number of plays

Top 10 stations by plays

Play Reports

Filter form:

Date range

Station (multi-select)

Member (optional)

Work (optional)

On-screen summary:

Grouped by work:

work title, main member, total plays, total duration

Export detailed CSV:

One row per play with:

work_title

work_isrc

member_name (if any)

station_name

play_date

play_time

duration_seconds

confidence

6.2 Member / Artist Portal

Member Dashboard

For that member (or indie org user) only:

Total plays in last 30 days

Number of tracks with any plays

Number of stations where their tracks got plays

Top 5 tracks by plays

My Works

List of works belonging to that member/indie:

Title, ISRC, total plays (for selected period), number of stations

Work detail:

Summary stats (total plays, total duration)

Chart: plays over time (last 30 days or selected period)

Table: plays per station (aggregated)

Export CSV:

Per-play detailed log:

station_name, play_date, play_time, duration_seconds, confidence

My Stations

Table of:

Station name, number of works played, total plays

Clicking a station:

List of works with plays on that station

7. Platform Admin Console

Global dashboard:

Total organizations by type

Total stations

Total plays (last 30 days)

Recent global play logs (last N rows)

Stations list:

Show last_detection_at per station

Basic flag if no detections within a threshold

Milestones (For Planning / Bidding)

You can propose your own structure, but roughly:

Setup & Auth

Framework setup, user/organization models, auth & roles, basic layout

Organizations & Stations

Org management, station CRUD, ACRCloud service setup

ACR + Play Logs

Stream worker, identify calls, play_logs creation, basic global recent-plays view

Members & Works

Member & works imports, linking to repertoire, indie track creation

Dashboards & Reports

Org admin dashboard + reports, member/artist dashboard + works/stations, CSV exports

Platform Admin, Polish & UAT

Global admin dashboard, basic health checks, permission hardening, bug fixes

Please include milestone-based payments in your proposal.

What I’ll Provide

ACRCloud credentials and docs

Initial station list (stream URLs)

Example CSVs for:

Member import

Works import

Brand name, basic logo & colors

What I Expect From You

Strong PHP/MySQL experience (Laravel or similar framework preferred)

Proven experience integrating with external APIs (bonus if you’ve worked with streaming or ACRCloud/Gracenote/etc.)

Ability to design clean database schemas and efficient queries

Good communication and ability to ask the right questions early

Clear documentation:

Basic setup guide (README)

Brief explanation of cron/jobs for monitoring stations

When you bid, please:

Share relevant projects: anything with APIs, streaming, reporting dashboards, etc.

Suggest how long you estimate for Phase 1 and how you’d break down milestones.

Confirm if you’re comfortable handling:

Continuous stream monitoring

ACRCloud integration

CSV imports & exports" (client-provided description)


Matched companies (7)

...

Haven Futures

We Build any kind of Software and Provide wide range of tech solutions.

...

Versasia Infosoft

Versasia Infosoft is a trusted provider of custom IT solutions, offering end-to-end services in software development, web and mobile app development,… Read more

...

WhizzAct Private Limited

WhizzAct aims to deliver the supreme service at an effective cost, ensuring complete customer satisfaction. Emphatic use of the latest tools and tech… Read more

...

Mobiweb Global Solutions

Mobiweb Global Solutions is a full-service IT company specializing in web development, mobile app development, blockchain, AI, IoT, and game developm… Read more

...

eShop Genius

We’re in the industry With the experience of 12+years created more than 1200 stores and have build brands! At eShop Genius, we are an ISO certi… Read more

...

B2Bcert ISO consultants in Bangalore

B2Bcert is a globally recognized certification and consulting firm dedicated to helping businesses achieve international quality and compliance stand… Read more

...

TG Coders

We create custom apps for businesses and startups TG Coders is a technology partner specializing in creating custom mobile and web applications for … Read more