CastCharm for Android is a mobile app for listening to podcasts from a self-hosted CastCharm server. It connects to your own server and uses the podcast feeds, episodes, playback progress, and downloaded files associated with that server.
Download the app (APK) How to install
The first time you open the app, enter your server's address (e.g.
http://192.168.1.100:8000) and tap Connect. The app
will check the server — if a password is required, it'll ask for your username and
password next. If your server has no password, you're done in one step.
Once you're signed in, the app doesn't need to ask again. If you want to remove this device from the server later, use Change server in Settings (which also revokes the key from the server) or revoke the key manually from the server's Settings → External API panel.
The app includes an audio player for podcast episodes. It supports play and pause, 30-second skip back and forward controls, playback speed options from 0.75× to 2.0×, and automatic progress tracking. Episodes can be marked as played when playback reaches the end.
For a story or serial, open the podcast's menu (⋮) and turn on Listen in chronological order. The Play button then reads Continue and shows what it will play, such as "Ep. 12 · Title · 14 min in": the episode you left part-way through, or the oldest one you haven't heard. When an episode ends the next one starts on its own, and next/previous buttons appear in the notification and on headphones. The setting is shared with the web app, so both agree.
To work through your backlog, the Home tab starts with Get Caught Up: a built-in smart playlist that gathers every unplayed episode published in the last 14 days, across all your podcasts, oldest first. Play all plays them one after another, and tapping a single row starts there and keeps going. When you finish or mark an episode played it leaves the card on its own. Its rules, like any smart playlist's, can be edited on the Playlists tab. Offline, the Home tab says so and the card shows the episodes saved on the phone; in Android Auto it is the first section.
The Playlists tab works exactly as it does in the web app. A new playlist is either manual (you add episodes with the + button on any episode, and drag the handles to reorder) or smart (the brain icon: rules pick the episodes and keep the list current). The kind is chosen when the playlist is created and never changes. The smart editor offers the same conditions as the web app — played state, podcasts in or out, published within N days or around a date, duration, words in the title, order and a cap — and shows how many episodes match as you type. Smart playlists drop an episode the moment it stops matching, without a refresh.
Download all to phone, in a playlist's menu, saves every episode in it to the phone. Playlists with saved episodes appear under Playlists at the top of the Downloads tab, and play offline in order. Settings has Always download "Get Caught Up" to this phone: when on, the app checks the server regularly while online and saves every episode in that playlist, so your backlog is there if you go offline. It honours the Wi-Fi-only setting.
Downloaded episodes are stored on the Android device. In settings, you can view device storage, set a CastCharm download quota, choose how many episode downloads can run at once, and clear downloaded episodes. If your server cannot be reached, the app can continue in offline mode with downloaded content.
CastCharm includes Android Auto media support. In Android Auto, the app can show sections for downloads, podcasts, recent episodes, and episodes in progress when online. In offline mode, Android Auto shows downloaded episodes.
A podcast set to listen in chronological order lists its episodes oldest first, with a Continue row at the top. Tap it, or any episode, and the rest of the story queues up behind it, so playback carries on in the car without touching the phone.
The app is designed to work with your own CastCharm server. Podcast data, downloaded episodes, playback progress, and played status are handled between the Android app, the local device, and the CastCharm server you configure. No separate CastCharm cloud service is required.
The app is published as a signed .apk on the
releases page.
Download it on your phone and open it to install; Android will ask you to
allow installs from your browser the first time. Every release is signed
with the same key, so updates install over the previous version and keep
your downloads and settings. If you use an updater such as Obtainium, point
it at the repository and it will fetch new releases for you. A Google Play
listing is planned; until it's live, the releases page is the official
source.
CastCharm is developed in the open. The server and the Android app each have their own repository; source code, issues, and project updates are on GitHub.