Nexo Player: One App for Media, Reading, and Listening

Inspiration

People often need separate apps to watch videos, listen to music, read ebooks, convert documents into audio, and protect private files. I wanted to bring these everyday workflows together in one cohesive Android application while keeping user-owned media local.

What it does

Nexo Player combines local video and music playback with PDF and EPUB reading, document-to-audiobook generation, text-to-speech, and a secure file vault.

Users can preview narrator voices, generate audiobooks in the background, export audio in formats such as M4B and MP3, resume playback, and protect private files with PIN or biometric authentication.

The app also includes features such as subtitles, Picture-in-Picture, playback-speed controls, playlists, an equalizer, bookmarks, and reading progress.

How I built it

I developed Nexo Player as a native Android application using Kotlin, Jetpack Compose, Android Media3, and supporting libraries for document processing, playback, and local data management.

The architecture focuses on keeping media workflows responsive, separating private files from the regular media library, and supporting local processing wherever available. Background audiobook generation required particular attention to progress reporting, task continuity, and error handling.

Challenges

The main challenge was combining several different types of media workflows without making the application confusing or unreliable. Video playback, document parsing, audio generation, background processing, and private storage each have different technical and user-experience requirements.

I focused on keeping these features connected through a consistent interface while treating playback continuity, privacy, and recovery from interruptions as important parts of the product.

What I learned

A feature-rich application needs more than a large number of capabilities. It needs a coherent user experience, dependable background work, clear progress feedback, and privacy-conscious handling of local files.

Building Nexo Player strengthened my experience in native Android development, media architecture, document-to-audio workflows, and end-to-end product engineering.

What's next

The goal is to continue improving narration quality, document processing, playback reliability, large-library performance, and the connection between reading and listening.

Built With

Share this project:

Updates