This started as a hackathon project with two of my friends. We had a weekend to build something, decided on a podcast player, and split the work across frontend, backend, and database. After the hackathon we kept going - adding proper authentication, a playback system, and the ability to upload and store audio.
Features
- Upload and store podcast audio in the database
- Stream or download episodes directly
- Player controls with progress tracking
- Favourites with login system
What I learnt
- React Context for shared state (audio player that persists across page navigation)
- MongoDB for storing audio metadata
- Coordinating work across a team - who owns what, how to merge without stepping on each other
- How to scope a project for a tight deadline and know what to cut