AI
← All projects

Music analytics platform

Year
2026
Music analytics platform screenshot

A streaming-chart ingestion and analytics platform I built solo for a music industry client. The platform pulls a regional top-200 chart on a daily schedule, keeps the full historical record, surfaces leaderboards and trends through a Django admin dashboard, and exports the same spreadsheet shape the client's analysts had been maintaining by hand.

Private client work — the project itself isn't public, so I'm keeping specifics light. There's a longer write-up of the engineering decisions in the blog post.

What it does

  • Daily ingest of a regional streaming chart (rank, track, artists, label, play count, previous rank, status) with full history retained.
  • Canonical catalog of artists, tracks and labels, decoupled from any single streaming source via per-source identifier tables — multi-source-ready from day one.
  • Admin dashboard built on django-unfold with KPI cards, today's #1, climbers, new entries, time-series charts, and per-entity drill-ins.
  • Export XLSX on every analytics view, producing the same sixteen-column workbook the analysts already lived in, with rolling stats (peak position, days on chart, rank history) computed server-side.
  • Credentials encrypted at rest with Fernet, raw payloads archived to object storage, Cloud Scheduler driving the daily sync.

Stack

AreaTools
LanguagePython
BackendDjango, Django REST Framework, PostgreSQL, django-unfold
ETLopenpyxl, requests, Playwright (fallback), Fernet (credential encryption)
InfrastructureGoogle Cloud (Cloud Run, Cloud SQL, Cloud Storage, Cloud Scheduler, Secret Manager)