Nathan Gathright

Nathan Gathright

@nathang.co

Building pod.link ✦ Sr. Product Designer at linktr.ee ✦ Full of information. Some of it’s actually useful. ✦ he/him

1.9K followers546 following117 posts

How do you design a gallery wall that’ll look good on camera for Zoom calls? I made a LiDAR scan of my office and a comprehensive spreadsheet of all my various gear and artwork. After a lot of back and forth with Codex, voilà! An interactive version of my office: office.nathangathright.com

• Reflect on what surprised you, what worked, or what you learned about your own creator practice during the camp. • Write a short post sharing one or two takeaways: a habit you built, a lesson that landed, or a connection you made. • Keep it warm and personal. This is your wrap-up moment.

Just bought my ticket to Podcast Movement NYC. They redid the call-for-speakers process, and half the schedule will be chosen by popular vote. Pitch your most unhinged session ideas for me to present.

Back in NYC for my birthday, and we had to hit up this brunch spot again to see if we still pass the vibe check.

Nathan Gathright@nathang.co

In NYC and our waiter assumed we were local cause we had "city energy." I'll be riding that high all weekend.

Now that the Pandora’s Box of “slop-forking” has been opened, I’m curious how it plays out the next time a startup shuts down. Will we still get the same chorus of “just open-source it!”?

Will founders preemptively generate and release their own AI-sanitized “slop-fork” version (stripping proprietary code, accepting lower quality) … or just the test suite/schema/eval harness … or will this make them more reluctant to release *anything*?

It's already infuriating to get an undismissable advertisement in System Settings menu, but couldn't they at least align the notification pimple properly?

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.

View full thread

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.

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.

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.

View full thread

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 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.

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.

View full thread

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.

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.

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.

View full thread

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.

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.

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.

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.

View full thread

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.

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.

View full thread

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.

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.

View full thread

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.

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.

View full thread

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.

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.

View full thread

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.

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.

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?

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 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.

I’m working on a project that displays Unicode characters like “☰ Trigram For Heaven.” Turns out that the names aren’t available in JavaScript, so I added a dependency to fetch them. It’s kinda wild how much bigger it is than the rest of my codebase. 🤯

Upgrading to oversized towels at home ruined hotel showers for me. I repeatedly forgot to lower my expectations. Then my first shower of each trip ends with a disappointing reality check.