Inspiration
The mp3 player I used to use started to add a lot of fluff while the only mp3 converters were always trying to install viruses while I was installing.
What it does
Allows the user to play mp3 files that are installed on their android device and also allow users to input a YouTube link which would then convert the link into a mp3 file and install it into their system
How we built it
We used Kotlin to create this application. We also used a python micro service which is responsible for converting the links to mp3 files. The python micro service uses yt-dlp to handle the conversion.
Challenges we ran into
The backend worked perfectly when hosted locally, but once we deployed it, everything started breaking. We had to deal with YouTube cookie authentication, streaming issues, files saving to the wrong directory, and Fly.io containers deleting files unexpectedly. Debugging path mismatches, cookie handling, and storage permissions took the most time. The MVP was solid, but deployment humbled us.
Accomplishments that we're proud of
We built a fully working YouTube-to-MP3 converter MVP that connects Android (Kotlin) to a FastAPI + yt-dlp backend and streams downloadable MP3 files. We solved real problems like safe conversions without shady websites, automated file cleanup, and got the entire pipeline deployed and working. The fact that everything ran smoothly on-device and in production is something we’re proud of.
What we learned
We learned how to build and connect a FastAPI microservice to a native Android app, how yt-dlp and FFmpeg handle video-to-audio conversion, and how to debug container logs, API failures, and file streaming issues. Deploying with cookies also showed us that backend deployments are never as simple as they look, logs and teamwork save lives.
What's next for OurFirstHackathon
We want to add playlist support, implement a better UI/UX, and download history so users can manage previously converted tracks. Our goal is to turn the MVP into a full offline music library and make conversions even faster, cleaner, and more seamless.
Log in or sign up for Devpost to join the conversation.