Skip to content
retrokidworks
All work

Original Music Sharing Community

A community where users upload and listen to their own songs, which I ran myself for 11 years while migrating its stack

A community where users share songs they made themselves. I built the server, database, API and web on my own, and kept improving it over 11 years of running it.

What I did

  • Migrated the frontend from the original PHP, CodeIgniter, MySQL and jQuery stack through React to Next.js (SSR), Redux, TypeScript and Prisma, and the backend to Node.js, GraphQL, MongoDB and pm2
  • Automated deployment with a pm2 ecosystem and GitHub Actions
  • Handled the upload queue with a Redis-based message queue
  • Scaled to 1,000 concurrent users: minimized DB connections with php-apc caching, split reads and writes with MySQL master-slave replication, distributed traffic with DNS round-robin, and simplified new server setup with Docker
  • Periodic ping tests that send a Telegram alert when a server goes down