Building Your Own Audiobook Server? There's a Mobile App for That
If you've ever tried to roll your own audiobook or podcast setup, you know the pain: you get the server running, the library organized, and then realize you have no decent way to listen on your phone. Audiobookshelf solves that end-to-end, and the mobile app is the piece that makes the whole thing actually usable when you're away from your desk.
What It Does
Audiobookshelf is a self-hosted audiobook and podcast server, and this repository is the companion mobile app for iOS and Android. It's built with NuxtJS and Capacitor, which means a single codebase runs on both platforms. You point the app at your own Audiobookshelf server, and it handles playback and library browsing from there.
The app requires an Audiobookshelf server to connect with, so it's not a standalone player. The server is a separate project, and this repo is specifically the client you carry around with you. If you're the type who'd rather keep your media on hardware you control, this is the front end for that setup.
Why It's Cool
-
One codebase, two platforms. NuxtJS handles the web app layer, and Capacitor wraps it into native iOS and Android builds. That's a pragmatic choice for a small project—you're not maintaining two separate native apps, and contributors only need to learn one stack.
-
It's actually shipping. The Android app is available on the Google Play Store (currently in beta), and iOS is in early beta via Test Flight. This isn't a proof-of-concept sitting in a repo with a "coming soon" note—there's something you can install today.
-
Localization is handled properly. The project uses Weblate for translations, hosted for free, and there's a live translation status badge right in the README. If you want the app in your language, you can contribute directly rather than waiting on the maintainers. That's a good sign for a project's long-term health.
-
The dev setup is documented for real humans. The README doesn't just say "install Node and Android Studio." It gives you winget commands for Windows and a single homebrew line for Mac, plus expandable screenshots for each step. Someone clearly thought about the friction of getting a new contributor from zero to a running build.
-
It complements rather than duplicates. Because the app depends on the server, the two projects stay focused. The server handles storage, metadata, and streaming; the app handles the listening experience. Clean separation.
The honest caveat here: iOS is in early beta and the Test Flight beta is currently full. Apple caps beta testers at 10,000, so if you're on iOS and want in, you'll need to watch the Discord for updates. Android users have a much easier path right now.
How to Try It
The fastest route is to install the Android beta from the Google Play Store. For iOS, the Test Flight link is https://testflight.apple.com/join/wiic7QIW, though the beta is currently full—join the Discord to hear about openings.
Either way, you'll need an Audiobookshelf server running first. Head to the main project repo or audiobookshelf.org to set that up.
If you want to build the app yourself, the process is straightforward. You'll need Git, Node.js version 20, a code editor, Android Studio, and the Android SDK.
On Windows, you can install most of it with winget:
winget install -e --id Git.Git; `
winget install -e --id Microsoft.VisualStudioCode; `
winget install -e --id Google.AndroidStudio; `
winget install -e --id OpenJS.NodeJS --version 20.11.0;
On Mac, homebrew covers it in one line:
brew install android-studio node cocoapods
Then clone the repo, install packages, and build:
npm install
npm run generate
npx cap sync
npx cap open android
That last command opens Android Studio with the native project ready to go. The README includes screenshots for each of these steps if you get stuck.
Final Thoughts
This is a solid, focused project for a specific audience: people who already run (or plan to run) an Audiobookshelf server and want a mobile client that isn't a compromise. It's not trying to be a general-purpose podcast app, and it doesn't pretend to be. The Android beta is the practical entry point right now; iOS users will need some patience. If self-hosting your media library appeals to you, this is the missing piece that makes the whole setup work on your phone. Check out the repository and see if it fits your setup.
Follow @githubprojects for more developer tools and open source projects.