Inspiration
I built OfflineTunes out of a personal need: I have a large music collection and wanted an efficient way to clean and organize my library while still enjoying listening to it, especially while driving. Existing apps didn’t give me fine-grained control over my library, especially for FLAC and MP3 files, or the ability to quickly approve, deny, and organize songs. Finetunes was born from the idea of making playlist curation faster, more intuitive, and entirely under the user’s control.
What it does
OfflineTunes is an offline music player that supports MP3, FLAC, and other popular audio formats. Users can browse their music by folders or tags. The core feature, Finetunes, lets you create a list of songs similar to playlists and then approve or deny tracks as you listen. Approved songs can be added to playlists, marked as favorites, bulk-rated, or moved, while Denied songs can even be deleted to clean up your library. The app works with steering wheel buttons, headphones, and Bluetooth devices, keeping music curation seamless and hands-free.
How we built it
OfflineTunes was built using vanilla JavaScript and Tailwind CSS within Capacitor JS, which allows a web app to function as a native app. Vanilla JS gave precise control over performance and logic, while Tailwind enabled rapid prototyping and a minimal, responsive design with a small CSS footprint. The app integrates filesystem access for local songs and uses lightweight logic to handle playlists, Finetunes curation, and playback efficiently.
Challenges we ran into
Building OfflineTunes came with several hurdles:
Performance: iOS native components have fluid animations and transitions that are hard to replicate in a hybrid app. Achieving smooth playback and responsive UI required extensive optimization.
File management: Handling large libraries with remote transfers and nested folders introduced memory and speed constraints, especially for over ~200 songs.
App size: Despite keeping the codebase lean (<400KB), packaging for iOS ballooned the app to ~30MB due to required native modules.
UX consistency: Designing Finetunes to feel intuitive across steering wheel controls, headphones, and Bluetooth required careful UI/UX iteration.
Accomplishments that we're proud of
Successfully implemented Finetunes, a unique, user-driven curation system that works offline.
Built a lean, performant music player supporting multiple formats (FLAC, MP3, AAC, WAV, OGG, M4A, OPUS, WEBM).
Delivered a hands-free curation workflow compatible with steering wheels, headphones, and Bluetooth audio.
Created a responsive, minimal UI using Tailwind CSS that remains lightweight yet functional.
Enabled offline playback with full user control, including bulk actions and organization tools.
What we learned
Hybrid apps can get close to native performance with careful optimization, but visual polish still requires workarounds.
User-centered features like Finetunes benefit from real-world testing (e.g., driving scenarios).
File management and memory optimization are critical when dealing with local media libraries, especially with large formats like FLAC.
Lean, modular design in vanilla JS and Tailwind allows faster iteration without sacrificing performance.
What's next for OfflineTunes
We have many exciting features planned to make OfflineTunes even more powerful and enjoyable:
- Equalizer: Fine-tune your audio with custom sound profiles.
- Playlist Folders: Organize playlists into custom folder structures for better library management.
- Cloud Storage Services Support: Sync your music across Dropbox, OneDrive, Google Drive, and more.
- Listen Together: Share listening sessions with friends in real-time.
- Music Discovery Recommendations: Receive personalized suggestions based on your taste.
- Metadata Editing: Edit song titles, artists, and album information directly in the app.
- Yearly Wrap: Get annual insights into your listening habits.
- Smart Playlists: Auto-generate playlists based on your preferences.
- A-B Loop: Repeat specific sections of songs seamlessly.
- Multi Queue: Manage multiple playback queues at the same time.
- Share Songs: Quickly share your favorite songs with friends and family.
- Music Server: Stream your music library to any browser.
These features will expand the ways users can curate, enjoy, and manage their offline music, while keeping OfflineTunes lean, fast, and fully under their control.
Built With
- capacitorjs
- javascript

Log in or sign up for Devpost to join the conversation.