Jacob Kunselman · Apps
2026-10-25

Podcasts, books and the Bible: three apps I own

AI agents built them in a week. They run on a Raspberry Pi in my garage, work on my phone with no signal, and every one of them knows what was said in the others.

Have an AI agent? It can build these for you. Point it at this page; there is a section for it at the bottom.

Why

The apps I used for listening and reading were rented. The podcast app wanted an account and kept my history on its servers. The Bible app put its best study tools behind a subscription. The reading apps wanted me in their store. None of them worked well without signal, and none of them knew about the others. When a preacher quoted Romans or a host recommended Bunyan, it was gone by the next episode.

So I described what I wanted to Claude Code, one app at a time, in a sentence or two:

  • "Build me my own podcasting app that gets new podcasts for me when they are available and downloads them for offline, chapters, album art, etc."
  • "A Bible … multiple translations all linked together by chapters and verses. I can add bookmarks with dates. Run podcasts through it and bookmark all the Bible references."
  • "Anything public domain that is mentioned in a podcast I want it downloaded and text searchable."

The agents did the rest: they wrote the code and the tests, and they found and checked every source and every licence. I used each app every day and said what was wrong.

The shape

One small computer, three small servers, three installable web apps.

  • A Raspberry Pi 5 in the garage does the work. It checks the feeds, downloads the episodes, builds the indexes and serves the apps. Each server is a Python file with no framework, about as much machinery as a well pump.
  • The apps install from Chrome onto my phone, my laptops and the TV, and keep everything they need on the device: the episodes I'm likely to play next, the whole Bible with its study tools, and every book. On a plane they all still work, and the Bible and the books still search every word.
  • They're private. They're served only inside my own network (Tailscale), so there's no login, no account, no ads and no tracking. Where I stopped carries between my phone, laptop and TV.
  • Everything in them is free to keep. Public-domain texts, open data with its licence followed, podcasts from their public feeds. Where a source's terms said no, it was left out, and the README says why.

Podcasts

Every episode of the shows I follow, ready before I want it. Every ten minutes the Pi reads each show's feed and downloads anything new, with its art, its chapters (each with its own picture) and its transcript. The phone keeps the next two episodes of every show by itself and lets go of the ones I've finished.

The podcast list on a phone: a live church radio station at the top, then episodes with their art, how much is left, and where each one is kept The player: a chapter's own artwork, the chapter title, a scrubber marked at every chapter, and the chapter list with checks for the ones heard
The list, with a live station and a church's YouTube sermons alongside the shows. The player, 39 minutes into No Agenda, on the chapter about AI agents.
  • Chapters everywhere: marked on the scrubber, in a list, and on the lock screen, where the track buttons skip a chapter. The app remembers which chapters I've heard.
  • Search every word ever said. Shows that publish transcripts get theirs; the rest are transcribed by Whisper on my laptop's graphics card, at 79 times real time. A search lists every moment, and a tap plays from there.
  • On the TV, too: a 33 KB Android TV app wraps the same page. The remote moves a highlight, and while something plays, Back then OK pauses it from anywhere.
  • Old shows, whole: Jordan Peterson's lectures from before 2021, the Biblical Series and Maps of Meaning among them, 266 hours, all searchable down to the moment.
The same player on a television: large chapter art on the left, the chapter title, scrubber and remote-friendly controls on the right
On the living-room TV. While it plays the screen stays on, so I can watch each chapter's art change.
Search results for Gutenberg across shows: each episode with the exact moments the word was said and a few words around it An episode's details: art, length, 21 chapters, and the chapter list with a picture for each
Searching "Gutenberg" finds the moment in each episode. An episode's details, with its 21 chapters.

The Bible

Ten translations lined up verse by verse, from the Berean Standard Bible to the 1599 Geneva, plus R.H. Charles's Enoch and Jubilees. Pick any of them to read side by side; tap a verse and it's there in every one. Each translation is one that's free to keep. The ones that aren't, I still own on paper.

John 1 in the Berean Standard Bible and the King James Version, verse by verse John 3:16 in Greek, word by word: each word, how it sounds, and its English; one word outlined with a dashed line
Two translations side by side. John 3:16 in Greek, a word at a time. A dashed word is only in the Greek the KJV was translated from.
  • The Hebrew and Greek under every verse, 447,276 words, each with how it sounds and what it means. Tap a word for its grammar in plain English, Strong's entry, the Abbott-Smith lexicon and every verse it appears in.
  • The study shelf other apps charge for: Jamieson-Fausset-Brown and Matthew Henry, Nave's Topical Bible, Easton's dictionary, 343,571 cross-references, and Spurgeon's Morning and Evening for the day.
  • Every verse the podcasts quoted. The Pi reads every transcript for references said aloud ("first Corinthians thirteen", "Psalm one nineteen") and for verses quoted without a name, and lists them by episode. A tap plays that moment in the podcast app.
  • The Bible in a year, three ways, with a check box and a date for every day. Plus dated bookmarks with notes, kept in step across devices.
The Greek word agapao: its grammar spelled out, Strong's definition, the Abbott-Smith lexicon entry, and 'In 110 verses' Psalm 23:1 in Hebrew, right to left, with transliteration and English, then Jamieson-Fausset-Brown and Matthew Henry's notes
Tap a word for its whole entry. Psalm 23:1 in Hebrew, right to left, with the notes on the psalm.
Heard in podcasts: Bible references found in episodes, each with its time, the reference, whether it was said or quoted, and the words The Bible in a year: three plans, a start date, Spurgeon's Morning and Evening for the day, and a check box for each day's reading
Every reference heard in the podcasts, with the moment it was said. The reading plans, with Spurgeon for the day.

How sure is "heard"? I read the hits against the transcripts until a random 40 of each kind, said and quoted, came back 40 for 40.

Books

Every public-domain book the podcasts mention, downloaded and searchable. When a host says "Dostoevsky's Crime and Punishment", or a pastor brings up The Pilgrim's Progress, the book arrives from Project Gutenberg, and its page lists every moment it came up. A tap on one plays it in the podcast app.

Books heard in the podcasts: The Declaration of Independence heard 6 times, The Pilgrim's Progress, War and Peace, Propaganda, and more, each with how many times and when last The Pilgrim's Progress: its summary, Read and Search this book, and the two moments it was heard, with what was said
47 books named in the podcasts, 138 times in all. The Pilgrim's Progress, heard on No Agenda and in a sermon.
  • It has to be sure it's the book. A title counts with its author named nearby, or alone only when it's famous and can't be anything else. "Milton Friedman" isn't Milton, and crime and punishment in lower case isn't Dostoevsky. Every one of the 138 it found was read against its transcript.
  • Gutenberg's Top 100 books are kept too, along with the top authors and the top 100 of each of Gutenberg's 72 categories. Any book on those lists is a tap away.
  • A reader made for reading: serif type, poetry kept as poetry, the place kept, and search inside one book or all of them, offline.
Reading The Pilgrim's Progress: Bunyan's verse prologue set as verse in a serif type Gutenberg's categories, Adventure to Classics of Literature, each with how many books and how many of its top 100 are on the device
Bunyan's verse, set as verse. Gutenberg's categories, each with its 100 most downloaded books.

Done carefully

What I care about most here can't be seen in a screenshot.

  • Only what's free to keep. One site offered every commentary as tidy JSON, but its terms let you keep a copy for only 30 days, so the agent went to each publisher's own files instead. My NIV and NKJV stay on the shelf.
  • Polite to the sources. Books come from Gutenberg's mirror one at a time with a pause between, as their robot policy asks. A church that posts its sermons only on YouTube gets them indexed and linked, not downloaded.
  • Nothing downloaded just to be thrown away. Whisper only transcribes audio that's already on the Pi.
  • Checked by reading. Every finder was measured by reading what it found against the transcript, and each false hit became a test.
  • The Pi stays responsive. The batch jobs run at low priority on two of its four cores, and the heavy jobs go to the laptops.

What bit

  • Ranking by downloads put Punch first. Hundreds of issues of one magazine add up. Each book is now ranked by its best single edition, the way Gutenberg ranks its Top 100.
  • Captions write verses strangely: Daniel 2 .21, Isaiah 8 -12, John 1135. Each one is a rule now, with a test.
  • The TV froze. The list drew all 2,180 episodes and their full-size art, about 2 GB of pixels on a 2 GB box. Now it draws 60 rows at a time with 13 KB thumbnails, and a redraw takes 0.1 s instead of 2.7.
  • Feeds lie about length. One show's ad-inserted audio ran nearly ten minutes past what its feed said, so transcript times come from the Pi's own copy.
  • Two Bibles count the Psalms differently. In Douay-Rheims and the Septuagint, Psalm 23 is Psalm 22. They're mapped, so the verses line up.

By the numbers

  • 8 shows, 2,180 episodes, 593 transcripts searchable to the moment
  • 10 translations and two books of Ethiopia's canon, 447,276 Hebrew and Greek words, 343,571 cross-references, 21,004 commentary notes, and 113 MB to keep it all on the phone
  • 2,132 Bible references found in what the podcasts said
  • 61,188 public-domain books in the catalog, 131 kept on the phone
  • 1 week from the first app to the third, and 0 subscriptions

For your AI agent

This part is for your agent. The apps are built around my shows and my machines, so rather than hand you my code, I wrote down what to build and what we learned. An agent can build yours from that. Paste something like this into Claude Code, or whatever agent you use:

Read https://jacobkunselman.com/apps/agent.md and set these apps up for me. Ask me which podcasts I follow, which Bible translations I want, and which always-on computer to use first. Run its acceptance tests.

agent.md is the plain-text spec for all three: the parts, the data sources and their licences, how the offline saving and the syncing work, how the reference and book finders decide, the rules that keep it legal and polite, and the acceptance tests. Plan on an always-on Linux machine (a Raspberry Pi 5 is plenty), Tailscale on it and your phone, and an evening with your agent.