// the find
podverse/podverse-rn
Podverse mobile app written in React Native for iOS, Android, and F-Droid
Podverse is a full-featured open-source podcast client for iOS, Android, and F-Droid, written in React Native with TypeScript. It implements Podcasting 2.0 features (chapters, transcripts, value4value/Lightning payments) that most closed-source apps don't touch. Aimed at developers who want to self-host or fork a complete podcast app, and FOSS-minded users who want clip-sharing and cross-device sync without a walled garden.
- Podcasting 2.0 support is unusually complete: chapters, transcripts, comments, chat rooms, and value4value Lightning boosts are all implemented — more than most commercial apps bother with.
- The codebase is genuinely TypeScript throughout the React Native layer with a reasonable component structure; it's not just JS renamed to .ts with 'any' everywhere.
- E2E test suite using WebDriverIO covers a wide set of screens and user flows, including logged-in/out states and queue manipulation — rare for an open-source mobile app.
- F-Droid build variant is maintained as a first-class target, UnifiedPush is supported, and Firebase/Google dependencies are cleanly separated, which is the right way to handle this.
- The contributing setup requires running a separate backend (podverse-ops repo with its own DB), there's no mock server or offline dev mode, so spinning up a local dev environment is a real time investment.
- React Native version is pinned to 0.66.x with several patches applied via patch-package — that's quite old (2021), and the patches suggest upstream bugs that were never properly resolved. Upgrading will be painful.
- Premium features (clips, sync, playlists) are server-side only and tied to podverse.fm accounts; self-hosters have to run the full backend stack to enable them, and that infrastructure is not documented in this repo.
- iOS version support listed as 14–16 with no mention of iOS 17/18, and the AppDelegate is still in Objective-C — signals that iOS-side native code hasn't kept pace with the platform.