It's already infuriating to get an undismissable advertisement in System Settings menu, but couldn't they at least align the notification pimple properly?
Posts by Nathan Gathright
Podcasting’s separation from the web has mostly been a good thing for creators. But it also means the ecosystem never built the connective tissue that the web takes for granted. The pieces to fix this are already out there. What’s missing is someone putting them together.
None of this works if it requires podcasters to change what they’re already doing. You can’t convince everyone to adopt a new URL scheme or append special parameters. They link to what’s convenient. Every podcast reference, however it’s formatted, should be a potential in-app destination.
The nice thing about this approach is that it works around feed generators rather than depending on them. Don’t count on every hosting platform adding some new tag. Put the intelligence in the podcast app instead. Every link in a show’s notes and chapters could be quietly crawled in the background.
Subscribing to Podnews Daily in Airshow by searching for the root domain
Podcast apps could fix this today. Crawl every link in show notes for RSS feeds and Schema.org podcast metadata — the same way RSS readers already detect feeds behind web pages. If a link points to a podcast, open it natively. Subscribe, preview, play. No browser redirect.
The catch is that Timed Links only work within Apple’s ecosystem. If a podcaster links to a show’s Spotify page or personal website, Apple’s detection doesn’t recognize it. It encourages podcasters to include Apple Podcasts links over alternatives, which isn’t ideal for listeners in other apps.
Timed Links within Apple Podcasts in iOS 26.2 beta 1
Apple is partway there. Timed Links in Apple Podcasts can detect when a host mentions another show and link right to it. But the links only go to Apple Podcasts pages. It's a closed-loop version of something that should be an open standard. It’s the behavior you’d want from every podcast app.
Other federated ecosystems don’t work like this. Tap a Mastodon link inside a Mastodon app and it opens natively. You don’t get bounced to a browser showing a webpage with a list of ActivityPub apps. The app understands the link. Podcast apps could do the same, but they don’t.
The simplest case: one show recommending another. The best a host can do is say "find it wherever you get your podcasts." The listener has to remember the name, open their app, search for it, find the right one, hit subscribe. That's a lot of steps to lose someone.
Podcast apps are basically browsers for audio. But unlike the actual web, there were never search engines or algorithmic feeds putting pressure on the ecosystem to build discovery tools. Podcasters got stability through RSS — at the cost of staying invisible to new listeners.
Podcasting is an internet-born medium that never really grew up on the web. Most episodes have a canonical URL, but nobody sends listeners there. The browser isn't where podcasts happen. Your podcast app is. And that shaped everything about discovery.
Marco's take: once you're used to navigating a podcast with transcripts, using seek forward/back buttons feels like being a dinosaur. Transcripts are table stakes now.
What's next: transcript search, AI-generated chapters, topic summaries, LLM post-processing to fix transcription errors, and someday, phones may be fast enough to just do it all on-device during overnight charging. The Swift code already runs on both server and phone.
Transcripts are stored on Cloudflare R2 in a custom compressed format with word-level timing and confidence scores. The UI only highlights at the paragraph level for now, but the granular data is there for future features like clip sharing and word-by-word highlighting.
The trickiest problem was dynamic ad insertion. Different listeners get different ads, so the audio doesn't match. The solution was audio signatures that fingerprint the non-ad content, then align the server transcript to whatever version your phone downloaded.
So he expanded scope. Overcast now transcribes private/membership podcasts too. Built deduplication so one transcript serves all subscribers getting the same audio. Also working backward through archives. Podcasts with 100+ listeners are getting full back catalogs done.
At one point the queue wasn't keeping up despite 48 machines churning away. Turned out a bug was preventing completed jobs from being deleted, so they kept getting re-processed. Fixed the bug, queue dropped to zero in hours. He had way more capacity than he needed.
Final count: 48 Mac Minis. All base model M4s, 16GB RAM. Some in the data center, some at Mac Mini Vault, some at a host in the Netherlands, a few still at his house. Total recurring cost for the whole operation: ~$1,000/month. Cloud APIs would have been thousands per day.
By the time he'd accumulated 18, a full cabinet started to make economic sense. He signed a contract and had to face the challenges that come with the reality that most data centers simply don't want to deal with one guy renting three rack units.
So he started buying Mac Minis. First two, then a third for EU podcasts. Then more during sales at $450-500 a pop. He eventually called a data center on Long Island to ask about racking a few units. They told him the minimum was basically a full cabinet, 48 rack units.
Last summer Apple released an on-device speech transcription API in the iOS 26 beta. It's the Siri dictation model, and it runs locally on Apple silicon. On a single M4 Mac Mini, it could transcribe audio at 200x real-time. 200 minutes of audio per 1 minute of wall clock time.
Apple Podcasts launched transcripts ~2 years ago using massive cloud infrastructure. Cloud transcription APIs would cost Overcast thousands of dollars per day. OpenAI's Whisper is too slow to scale. So what does a solo developer do?
@marcoarment.bsky.social just announced on the Accidental Tech Podcast that Overcast is shipping podcast transcripts for every public podcast with more than one listener. No subscription required. The story of how he pulled it off is genuinely absurd.
Me: Anyway, be proud I resisted the urge to buy another domain name. [redacted] is very reasonably-priced 👀 Her: You buy domain names the way I buy books. 😂 Me: unfortunately, books don't come with renewal fees 😅 Her: I think you mean "fortunately". I'd probably still buy them even if they did.
Our relationship in a nutshell
Update: I downloaded Apple's USDZ model, which they use for AR previews, and described exactly what I wanted to Claude Code. It extracted measurements, generated an OpenSCAD file, and rendered this turnaround in Blender. Sent it off to print, excited to see how it turns out!
😅 If it works, it works!
Now I just need to mount my Mac Studio on the other side. My first attempt at a 3D-printed solution was a failure.
If you can help, please reach out.
A black mid-tower PC suspended in mid-air mounted below a white standing-height desk
Built a PC this weekend and mounted it underneath my sit/stand desk.
If you use Google as spell check, has it gotten worse lately? Tapping the “Did you mean ___?” link looks correct at first glance, but the search box reverts once you tap into it.
Every night, a GitHub Pages action rebuilds the Astro project to update the team pages, generate a new og:image with the same info, and post it to Bluesky. And yes… I shipped this right as the season is ending. 😅 Contributions welcome for other sports.
github.com/nathangathri...