finds.dev← search

// the find

SkyD666/PodAura

★ 1,238 · Kotlin · GPL-3.0 · updated Jun 2026

All-in-on podcast app for RSS, media dl & play. MVI arch, Material You style. ⭐️ Star to support!

PodAura is an Android podcast client (macOS in beta) that combines RSS feed management, media downloading, and playback into one app. It uses MPV as its player engine via JNA bindings and targets Compose Multiplatform across platforms. Aimed at developers and power users who want an F-Droid-distributed, privacy-respecting alternative to Pocket Casts or Overcast.

MPV as the playback engine is a genuinely good call — you get hardware decoding, subtitle track support, and format coverage that any custom ExoPlayer implementation would struggle to match. The MVI architecture with Kotlin Flow is cleanly separated; the downloader is its own module with platform-specific implementations behind a common interface, which is the right way to do KMP. WorkManager for background downloads means the OS can't easily kill mid-transfer. Available on F-Droid with no proprietary dependencies, which matters for the target user.

The macOS port is beta and will stay painful: Compose Multiplatform desktop is not close to production quality for media apps, and bridging MPV via JNA on macOS is a different integration path than Android — two fragile surfaces to maintain. The custom HTML renderer (the htmlrender module) is reimplementing a subset of a browser engine from scratch; it will silently mangle RSS article formatting in ways that are hard to track down. The module is literally called 'fundation' (typo baked into the package name), which suggests the codebase has rough edges that refactoring hasn't touched. GPL v3 is fine for a personal app but closes the door on anyone wanting to fork this into a commercial product or library.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →