Readit News logoReadit News
Posted by u/aegrumet 2 months ago
Show HN: I built a local-first podcast appwherever.audio...
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.

kornork · 2 months ago
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 · 2 months ago
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...

miloignis · 2 months ago
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 · 2 months ago
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.
gausswho · 2 months ago
I am into this idea and liking this so far.

Found a bug:

- Search for a podcast creator

- Click on a result

- A modal will pop up with a list of episodes

- Click the title of the episode

Expected details of that episode. Instead the modal is dismissed and I see the search results again.

Note that if I click View Details to go to the creator page, a similar list of episodes show up and clicking the title of those opens up a modal with episode information as I would expect.

Am on Firefox Nightly on GrapheneOS

aegrumet · 2 months ago
Agree, the experience is inconsistent. Nice catch! I'll work on a fix and post back.
aegrumet · 2 months ago
This is fixed in v0.47.5.
gausswho · 2 months ago
Confirmed. Thanks!
pajamasam · 2 months ago
Looks really nice. Well done! I always thought PWAs were only allowed store in the order of megabytes of data, but now I see that the limits (https://developer.mozilla.org/en-US/docs/Web/API/Storage_API...) for IndexDB are quite generous.
The_SamminAter · 2 months ago
I noticed that this doesn’t work on iOS 14 due to new/unsupported JS (just shows a blank page), would this be possible to workaround/fix? I quite like the idea, and would love to switch to it as my way to consume podcasts.
aegrumet · 2 months ago
Ah, bummer. Just did some quick research, which suggested that first load can fail on iOS 14, but that refreshing the page might fix the issue. Can you try and report back?

I don't see iOS 14 in the list of simulators that ships with XCode, so this could be a challenge to reproduce.

Another option: try another browser. So if you're using Safari, try e.g. Chrome or Firefox.

The_SamminAter · 2 months ago
Thanks for taking the time to respond! I’ve tried refreshing a couple of times and I’m afraid it made no difference. Chrome and Firefox all use the same embedded WebKit, so I’m afraid it still happens on them. I have XCode with an iOS 14 (as well as some similarly-old) Simulators if you’d like me to see if I can isolate and upload that, but according to Apple documentation[0] you should be able to download older simulators from Settings->Components->Add Platforms.

[0]: https://developer.apple.com/documentation/xcode/downloading-...

Grangar · 2 months ago
This is incredible. Podcasts are what kept me on Spotify and now I can finally switch!
kethinov · 2 months ago
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 · 2 months ago
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 · 2 months ago
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!

suprnurd · 2 months ago
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 · 2 months ago
aegrumet · 2 months ago
Yes exactly!

Deleted Comment