Localcaster - Podcast Player app icon

getting started

How to Use

Localcaster works like any other podcast app — search and subscribe — with an extra capability for shows you've archived on your own network share. Here is everything you need to go from a blank app to your first episode playing.

Step 1 — Add a Podcast

Tap Add Feed on the Feeds screen. You have three options:

Search Podcasts — type a show's name and tap it. No account needed.

From Web (RSS URL) — already have a link? Paste it in directly.

From Network Share — for shows you've already archived yourself. See "Connect a Network Share" below.

Switching from another app? Use Settings → Import OPML File… to bring in a batch of subscriptions at once, and Export OPML to take yours elsewhere.

Step 2 — Download Episodes

Open a show to see its episode list. Tap the download button next to any episode — or use the bulk-download menu to grab all new episodes at once. Downloads work on Wi-Fi or cellular; by default they're limited to Wi-Fi, which you can change in Settings. Cover art and full show notes come down alongside the audio automatically.

A download can be paused and resumed at any time.

Step 3 — Play

Tap any downloaded episode to open its detail screen, then tap Play. The mini-player appears at the bottom of every screen while something is loaded; tap it to open the full player.

The full player includes:

Scrubber — drag to any position in the episode.

Skip buttons — back and forward skip intervals set independently, anywhere from 10 to 120 seconds each; they apply to the lock-screen controls too. Headphone and car-stereo track buttons skip within the episode rather than changing tracks.

Speed control — 0.8× to 2.0×, persisted across episodes.

Sleep timer — stop after a set time, or at the end of the current episode, with a smooth fade-out.

Output picker — switch to AirPlay, Bluetooth, or the built-in speaker without leaving the player.

Chapters & timestamp links — tap any chapter or timestamp in the show notes to jump straight to that moment.

Your position is saved automatically. If you close the app and come back, playback resumes where you left off.

Connect a Network Share

This is for podcasts you've already downloaded to your own NAS or file server — an extra capability, not something you need for ordinary subscriptions.

Prepare the feed on your server (one-time, per show). Episodes are produced by podcast-dl, a command-line tool you run on your own computer or server (not inside the app):

terminal
npx podcast-dl \
  --url "<RSS feed URL>" \
  --out-dir "<folder on your share>" \
  --include-meta \
  --include-episode-meta \
  --include-episode-images

--include-meta and --include-episode-meta are required — they produce the JSON files Localcaster uses to read the feed. Run the same command again later to fetch new episodes.

Add a connection. From "Add Feed," choose From Network Share, then enter a name, the server's host (IP or hostname), and the share name. If the share needs a login, enter your username and password; if it allows open access, turn on "Connect without a username/password" instead. The connection is tested before it's saved, and your password is stored only in the iOS Keychain.

Add the feed. Open the connection and browse its folders — Localcaster flags folders that look like podcast-dl output. Open one and tap Add as Feed; it appears on your Feeds screen right alongside your web subscriptions.

Localcaster supports SMB2 and SMB3 only. Very old servers using only SMB1, AFP, NFS, WebDAV, and FTP are not supported. The app only ever reads from your share — it never writes back, except when you explicitly choose to archive an episode there.

Keeping Feeds Up to Date

Pull to refresh a feed (or use refresh-all) to pick up new episodes — a web subscription re-fetches its RSS, a network-share feed re-reads its folder after you've re-run podcast-dl. New episodes are flagged so they're easy to spot, and the "New Episodes" inbox on the Feeds screen collects everything new across every show in one place.

If an episode's file has been removed from the source, it is marked "Removed" rather than silently deleted — any copy you already downloaded stays until you delete it yourself.

New-Episode Notifications

Go to Settings → Web Feeds to turn on notifications and scheduled background checks for your web subscriptions, plus optional auto-download so new episodes are ready to play without opening the app. This applies to web (RSS) subscriptions only — network-share feeds check for new episodes when you refresh them.

Playlists & Up Next

The Playlists tab lets you build dynamic queues from your library. Create a playlist, choose whether to draw from whole shows or individual episode picks, and set filters (unplayed / in-progress / played) and a sort order. Use a playlist's "Play All" button to start it as a queue — reorder or add to the Up Next queue on the fly from any episode's menu.

Bookmarks

Tap the bookmark button in the player transport row to save a timestamp. An optional label lets you note what the bookmark is for. Bookmarks appear in the episode's detail view sorted by time; tap one to jump back to that moment.

Shows that list chapter-style timestamps in their notes (without a real chapter track) get those lines surfaced automatically as read-only "from description" bookmarks — each one tappable to jump there.

Transcripts

Open an episode and select the Transcript tab. If the show publishes a transcript, it loads automatically — tap any timed line to jump playback there, and use the search field to find a word, with matches highlighted in place.

If there's no published transcript and you're on an iPhone with iOS 26 or later, download the episode and tap Generate. Transcription runs entirely on your device — offline, nothing uploaded — and can take several minutes for a long episode. This works for network-share feeds and manual files too. It's per-episode and something you start yourself; it never runs automatically.

Sort, Filter & Search Episodes

Each show's episode list has its own sort (by date, title, or duration, ascending or descending) and a status filter (all, unplayed, played, downloaded, not downloaded). Search within a single show from its episode list, or search your entire library at once from the New Episodes screen.

Browse Files on a Share

The Files tab lets you browse a saved network-share connection and download individual audio files one at a time, without adding a whole feed — useful for a one-off recording. The same tab shows per-show storage totals and a Delete Played Downloads action that clears every finished download in one tap. Deleting a download never unsubscribes you.

Archive a Web Feed to Your Share

If you have a web (RSS) subscription and a saved network-share connection, you can write its downloaded episodes back to your share in the same format podcast-dl produces. Open the feed (or a single downloaded episode), choose Archive to Share… from its menu, pick a destination folder, and confirm — each episode's status shows live as it runs.

This is a one-time export, not an ongoing sync. Re-running it later picks up anything new and skips files already uploaded, but the app never reads back from the destination.

Siri & Shortcuts

Three voice commands work with no setup: "Play the latest episode in Localcaster" (plays the most recent downloaded episode of a show you name), "Resume Localcaster," and "Pause Localcaster." Each is also available as a building block in the Shortcuts app. No special entitlement needed.

Troubleshooting

A search result won't add / an RSS URL fails — check the link is the actual podcast RSS feed URL, not a redirect shortener or the show's webpage.

"Guest/anonymous not permitted" (network shares) — the server disallows passwordless access (Windows disables this by default). Use a username and password instead.

Can't connect to a share at all — Localcaster supports SMB2/3 only. Very old SMB1-only servers, AFP, NFS, WebDAV, and FTP are not supported.

A folder won't add as a feed — it needs at least one audio file with a matching *.meta.json. Re-run podcast-dl with --include-meta and --include-episode-meta.

An episode shows "Removed" — its audio file is no longer in the source. Any copy you already downloaded stays until you delete it.

Contact & Support

Questions or issues not covered here? Reach us at hello@typewrittencode.com — we read every message.