Airplay Monitoring Platform Developer Needed

Job ID: 40027359

Budget: $30 – $250 USD

I’m looking for a developer / small team to help me build Phase 1 of an airplay monitoring platform built on PHP + MySQL, with integration to ACRCloud for radio/TV detection data.

1. High-level overview

The platform (working title: Airplay Monitor) will:

Track radio airplay for songs using ACRCloud’s broadcast monitoring APIs.

Allow music creators and rights holders (members) to:

Log in,

Select which collective management organisation (CMO) they’re acting as a member of (e.g. IMPRA, SAMPRA, etc.),

Link their tracks (using ISRC / metadata search against ACRCloud’s DB, no audio uploads),

View a dashboard of spins, minutes on air, stations, and

Download CSV reports of their airplay.

Allow CMO admins (starting with IMPRA) to:

View organisation-level dashboards,

See basic stats per member and per track, and

Export CSV reports suitable for royalty/needle-time calculations.

Be built from day one as multi-tenant, so multiple CMOs can be onboarded later, with some users having memberships in more than one CMO.

Phase 1 is an MVP focused on a pilot with IMPRA, but the architecture should support adding other CMOs later with minimal changes.

2. Tech stack & architecture

Preferred stack:

Backend: PHP 8 (happy to use Laravel or a lightweight framework if you prefer).

Database: MySQL 8 (or MariaDB equivalent).

Frontend: Server-rendered HTML with basic JS (Chart.js or similar for charts).

Background jobs: Cron + PHP CLI scripts (for ACRCloud polling and summaries).

External service: ACRCloud (I will provide account & credentials).

3. Phase 1 focus (what I need built now)

In short, Phase 1 should deliver:

User auth & multi-CMO membership

Email/password login + logout + password reset.

Support for users with one or more CMO memberships.

“Choose organisation” screen if a user belongs to more than one CMO.

Context-aware header, e.g. “Viewing as: IMPRA Member #12345”.

Core data model & migrations

Tables for users, CMOs, memberships, tracks, track-to-membership links, stations, plays, integration state, and API logs (as per the attached spec).

ACRCloud integration

PHP client to call ACRCloud (signed requests).

CLI script (cron) to:

Poll broadcast monitoring logs on a time window.

Upsert stations and tracks.

Insert play events into the plays table.

Basic error logging and resilience.

Member area (MVP)

Member dashboard scoped to current membership:

Total spins, minutes, stations, number of tracks.

Simple time-series chart (spins per day in last 30 days).

Track summary table.

Track management:

List of tracks linked to that membership.

“Add / Link Track” flow:

Enter ISRC or artist + title.

Query ACRCloud for matches.

Select result → create/link track.

Track detail page:

Summary, plays table, simple per-day chart.

CSV export for that track & date range.

CMO admin area (MVP)

CMO admin dashboard (for one CMO, e.g. IMPRA):

Summary metrics (members, tracks, spins, minutes).

Simple chart: top stations.

Top tracks table.

CMO CSV export:

Member number & name, track, ISRC, station, country, spins, minutes for a chosen date range.

Super admin basics

Simple screens to:

Manage CMOs (create/edit).

Manage stations (create/edit, assign ACRCloud station ID).

I’ve already drafted a detailed technical specification with database schema, routes, roles, and milestones. You can treat that as the blueprint for Phase 1.

I’ve attached it below / in the document:

Attachment: Airplay Monitor – Phase 1 Technical Specification

4. What I’d like from you

If this is something you can take on, please reply with:

Your proposed approach

Would you use Laravel or plain PHP?

How you’d structure the integration with ACRCloud.

Estimated effort & timeline

Rough breakdown by milestone (e.g. setup, auth, ACRCloud integration, dashboards, reports).

Budget / rate

Your hourly/daily rate or a ballpark fixed price for Phase 1 MVP.

Relevant experience

Links or short descriptions of similar projects (APIs, multi-tenant dashboards, reporting systems, etc.).

We can then have a short call to align on details, and if we’re both happy, move ahead with Phase 1 and the IMPRA pilot.