Mobile
Capy Springs
A cozy gamified focus timer where a capybara soaks in a hot spring while you work.
A Kotlin + Jetpack Compose Android app that downloads the audio track from a YouTube link (or a share from the YouTube app) into a local library with background playback, per-book speed, bookmarks, and a sleep timer.
Long-form audio on YouTube — lectures, public-domain audiobooks, podcasts — has none of the things an audiobook listener needs: it loses your position, stops when the screen locks, and offers no library, speed, or bookmark controls.
The app bundles a yt-dlp runtime to extract audio in a foreground WorkManager download, stores books in a Room database with the playback position checkpointed every few seconds, and plays through a Media3 MediaSessionService so audio survives backgrounding with full notification and headset controls. A second iteration adds playlist handling, bookmarks, and a rights-confirmation flow.
Reliable resume is a persistence problem, not a player problem — checkpointing position on a timer plus every pause/stop into Room made playback feel trustworthy in a way ExoPlayer alone never did.
Mobile
A cozy gamified focus timer where a capybara soaks in a hot spring while you work.