Platform to connect a Spotify account and analyze listening habits: top artists, tracks, genres, listening time, period comparisons, device filters, generated playlists, sharing and friend comparisons. Web, API, real-time scraper and mobile app.
Context
Existing tools stopped at a “top 50”. I wanted a real analytics layer, in real time, with a freemium model. It is also the project on which I learned Go and running things in production.
What I built
- Go/Gin API with JWT, Spotify OAuth2, multi-level caches, per-IP rate limiting, Prometheus metrics, structured logs, Sentry and New Relic (Gin + Mongo).
- Scheduled Go scraper (gocron): listening collection every 20 seconds, daily aggregation, webhooks, supervision heartbeats.
- Next.js front end (Redux Toolkit, Radix, Framer Motion, three.js 3D globe, FR/EN i18n), Stripe subscriptions, and an Expo / React Native mobile app.
- Log latency analyzer (Go + gonum/plot) to drive optimizations.
Outcome
After more than two years of development, Spotify declined the quota extension required to open the service to the public. I discontinued the project in April 2025. It left me with a production-grade backend stack, three open-source packages and a real understanding of third-party platform dependency.