[HN Gopher] Show HN: I built a local-first podcast app
       ___________________________________________________________________
        
       Show HN: I built a local-first podcast app
        
       I worked on early podcast software in 2004 (iPodder/Juice) and have
       been a heavy podcast consumer ever since. I wanted a podcast app
       that respects your privacy and embraces the open web--and to
       explore what's possible in the browser.  The result is
       wherever.audio, which you can try right now at the link above.  How
       it works: It's a progressive web app that stores all your
       subscriptions and data locally in your browser using IndexedDB. Add
       it to your home screen and it feels native. Works offline with
       downloaded episodes. No central server storing your data--just some
       Cloudflare/AWS helpers to smooth out browser limitations.  What
       makes it different:  - True local-first: Your data stays on your
       device  - Custom feeds: Add any RSS feed, not just what's in a
       directory  - On-device search: Search across all feeds and
       episodes, including your custom ones  - Podcasting 2.0 support:
       Chapters, transcripts, funding tags, and others  - Auto-generated
       chapters: For popular shows that don't have them  - AI-powered
       discovery: Ask questions to find shows and episodes (this feature
       does send queries to a 3rd party API, and also uses anonymized
       analytics while we work out the prompts)  - Audio-guided tutorials:
       Interactive walkthroughs with voice guidance and visual cues  The
       basics work well too: Standard playback features, queue management,
       speed controls, etc.  I'm really interested in feedback--this is
       more passion project than business right now. I've been dogfooding
       it as my daily podcast app for over a year, and I'm open to
       exploring making it a business if people find it valuable. Curious
       if there are unmet needs that a privacy-focused, open web approach
       could address.
        
       Author : aegrumet
       Score  : 43 points
       Date   : 2025-10-08 16:46 UTC (6 hours ago)
        
 (HTM) web link (wherever.audio)
 (TXT) w3m dump (wherever.audio)
        
       | phildini wrote:
       | This is super cool and I love the idea of keeping the data and AI
       | local.
        
         | aegrumet wrote:
         | Thanks! Also, to be transparent, the chatbot uses a third party
         | hosted API. Just updated the post to reflect that. There are
         | actually models that can run in a browser, but last time I
         | checked they were pretty heavy to run.
        
       | wedrawmonsters wrote:
       | First website in months that hasn't made me immediately angry
       | with cookie popups and email list signup nonsense. I love it.
        
         | aegrumet wrote:
         | <3
        
       | suprnurd wrote:
       | Cool idea! I was playing with the app and I was curious why do
       | some of the podcasts say "requires proxy" in red? Thanks!
        
         | miloignis wrote:
         | From the docs, to get around CORS:
         | https://docs.wherever.audio/blocking.html#proxied-requests-f...
        
           | aegrumet wrote:
           | Yes exactly!
        
       | kornork wrote:
       | I'm sure your idea's great, but I was hoping for a regionally
       | local-first podcast app when I clicked the link, e.g. something
       | that would show me podcasts from near where I live.
        
         | aegrumet wrote:
         | This gives me some motivation to look at the podcast:location
         | tag, which I think unlocks this use case.
         | 
         | https://github.com/Podcastindex-org/podcast-namespace/blob/m...
        
       | kethinov wrote:
       | Any plans to make an Electron or Tauri version?
       | 
       | Also personally I do not prefer to play podcasts with a podcast
       | app. I just want it to download the files to a directory which I
       | then sync with another audio player. Does your app make that
       | workflow easy?
        
         | catapultnovice wrote:
         | I made something for pretty much this use case[0] - it probably
         | has _quirks_ because I'm the only user I know of, but it is
         | free :)
         | 
         | [0] https://github.com/Slord6/podcast-playlist
        
         | aegrumet wrote:
         | Not at the moment but I've been meaning to dig into stuff like
         | this.
         | 
         | Fun sidenote, what you're describing is how the first podcast
         | apps worked back in the day!
        
       | miloignis wrote:
       | Very cool - played around with it, and it seems quite featured,
       | and my test podcast worked!
       | 
       | I really appreciate the local-first, self-contained but very
       | portable architecture, with an optional server connection to
       | handle CORS and index and whatnot; that's a really solid
       | approach.
       | 
       | Hopefully this isn't too annoying, but I saw you open-sourced
       | what looks like the backend, do you have any plans/interest to
       | open-source the front end as well, for people who might want to
       | self-host?
        
         | aegrumet wrote:
         | Yay! And not at all annoying. No plans to open-source the
         | frontend at this stage but I'll keep the request in mind. Btw,
         | that backend was part of an earlier abandoned infrastructure
         | attempt. Still cool code imo, but no longer running on it.
        
       | hoistbypetard wrote:
       | I haven't tried it yet, but that's a great choice of name! Well
       | done.
        
         | aegrumet wrote:
         | Thanks :-)
        
       | jcul wrote:
       | This is actually pretty amazing, definitely the most impressive
       | pwa I've ever seen.
       | 
       | It took me about 3 minutes to add to my home screen, export a
       | opml from pocket casts and import it to whatever.
       | 
       | Having offline downloads, ability to adjust playback speed etc is
       | really cool too.
       | 
       | Nice work!
       | 
       | I'm on my phone now, so I'm curious to see how it looks on a
       | browser. Obviously syncing of podcasts / listening positions is
       | not going to work, by design?
       | 
       | The AI search is actually kind of cool for discovering podcasts
       | too, I kind of rolled my eyes a bit when I read it, but it
       | actually worked ok for a query I tried, and I do find it
       | difficult to find new podcasts.
        
         | aegrumet wrote:
         | Nice, thanks!
         | 
         | > Obviously syncing of podcasts / listening positions is not
         | going to work, by design?
         | 
         | Not sure, can you say more? Quick potential answers in the
         | meantime.
         | 
         | For syncing, there's an auto-sync that runs in the background
         | and prioritizes the shows that you've listened to most in the
         | past month, but eventually cycles through all podcasts that you
         | follow. There's also a manual sync on the Following page.
         | 
         | For listening positions, there's a Queue where you can drag
         | individual episodes up and down to change the order, and
         | playback will automatically cycle to the next episode in the
         | queue when the playing episode finishes.
        
         | aegrumet wrote:
         | Ah, just realized you might be talking about syncing state
         | between devices. Definitely haven't tackled that, as there's no
         | coordinating server in the architecture at this point. But I
         | did recently add "beaming", which lets you quickly transfer
         | your subscription lists between devices with a QR code backed
         | by an ephemeral, signed link.
        
         | aegrumet wrote:
         | When open in the browser, try some vi navigation keys :-)
        
       | sdotdev wrote:
       | love how frictionless the site is, really good ux other devs
       | should take note
        
       ___________________________________________________________________
       (page generated 2025-10-08 23:01 UTC)