ENDPOINT: https://hackmit-jam.vercel.app/ (some features might not work bc i ran out of api credits 💀)
All hackathons have a soundtrack; it's the keyboards clacking, free redbull popping, and devs in the zone. I wanted to build something that turns all that chaotic energy into actual music! Like, what if your team could have an instant anthem for those 3am hackMIT sprints? What if your messy commit history could literally become a hyper track? introducing... jam! 👀 creating a soundtrack from your hackathon!
jam is basically "turn vibes into music" but for hackers. Two modes:
- HackJam: Takes 1-3 people's Spotify tastes, mixes them with whatever hackathon mood you're in (lock-in mode, debug spiral, free swag hunt, etc.), and spits out a custom team anthem. You can get one banger or keep it streaming new tracks until you tell it to stop.
- RepoJam: Ever make any emotional git commits to your porject? me too. This feature reads your GitHub repo's README and recent commits, turns all that into lyrics, and generates a track that actually matches your developer vibe. Love or hate it; but worth trying out
- Suno: Suno API for the actual music generation! (/generate + /clips) with real-time streaming
- Spotify: Full OAuth flow plus some track/genre analytics with dev API; grabs top artists/tracks, recent plays, saved music, then fills gaps with recommendations and mood nudges
- Backend: Python FastAPI because it's fast to prototype and handles async nicely. Vercel hosting + front end templates
- GitHub: Pulls README + commit history and parses it into actual song structure
- APIs fail, users have weird data, things break
- streaming UX is everything; people want to hear something immediately, even if it's not perfect.
- how OAuth works (silent screams)
- building by yourself is possible, but building with others is almost always better! i'd have liked to do this project with others, and while some unexpected situations early on prevented that, i learned how to make the most of it by meeting new people and gaining feedback on the process from those around me (eg with OAuth/permissions issues; resolved with the advice of some new hackathon friends! and getting feedback on the UX from others!)