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.

Built With

Share this project:

Updates