Writing · 5 min read
Show & Tell: It Took 6 Months to Launch an iOS App in 6 Days
The Feed & Thread is the result of six days and six months. I never knew I wanted to launch an iOS app when I started.

The Feed & Thread, available on iOS and at feedandthread.com, is the result of six days and six months. I never knew I wanted to launch an iOS app when I started trying to stay current with my industry and community while using AI to make that easier.
Six months later, I knew exactly what I wanted to build and how to build it.
I've been scraping UX industry feeds, Reddit communities, and CMS content for the better part of a year, building a personal briefing system on my own infrastructure. At first it was daily summary emails to myself. Then a dashboard. Then a more serious aggregation pipeline pulling from dozens of sources across multiple domains. I was learning what freshness actually costs at scale, how to balance GPU load across simultaneous jobs, and what it takes to make content worth consuming rather than just worth collecting.
Along the way, I was working with Claude Code to build a half-baked iOS app and shared it with a few friends via TestFlight. It was ugly and incomplete and it didn't know what it wanted to be when it grew up. And I learned the Apple Developer ecosystem well enough that it wouldn't slow me down later. That matters more than it sounds.
I also spent a lot of time with TTS models: Kokoro, Chatterbox, and a variety of one-shot others; the lower quality, faster-processing side of this space is a time vacuum. I was learning how to write for speech, how to chunk content so it doesn't sound like an AI Instagram voiceover trying to sell hair restoration products, and how to coax something close to a real voice out of a synthetic one. Then Qwen3-TTS came out and introduced a driver conflict with our RTX 5060 Ti that had me manually rebooting a server more times than I'd like to admit on a Saturday evening. Pro tip: a smart plug and a BIOS setting to power on after restore will save you a lot of flights of stairs.
When the driver issues resolved, Claude Code and I refined our infrastructure to include Voice Registry: an administration layer that houses voice derivatives with configurable tempo, temperature, and tuning. I recorded myself at different speeds and energy levels and fed those into the model to create derivatives. Some of them sound enough unlike me that they won't annoy you. The process of creating new voices entirely is more involved than I expected; our attempts ranged from pre-teen to uncomfortably sultry before we landed on the right audition: Seven out of ten. We'll take it.
The podcast came together from all of this. I structured a Run of Show template system, learning from the Chicago Camps Tent Talks podcast exactly what a broadcast needed. Templates meant I'd only solve the architecture problem once.
Then came intro and outro music, stingers, music beds, all prompted and rendered locally via DiffRhythm. You can lose an entire evening rendering two-minute audio samples and tweaking fades before you remember you forgot to add volume ducking to the Run of Show settings you're currently trying to stitch your first episode with.
Eventually we had four segments: The Tease, The Feed, The Thread, and The Take. Two synthetic voices covering what got published in UX yesterday, what the community is arguing about on Reddit, and a closing conversation where the hosts land in different places on what it means. And now we're at around seventy daily episodes produced and we've never used a cloud API, never invoked an external subscription service. Creation is happening in my HomeLab with two GPUs that keep the scripts flowing and the hosts palavering.
Then I looked at the half-baked iOS app still sitting in TestFlight and realized: this podcast just gave it a reason to exist.
One Sunday evening the sketches on my whiteboard turned into an App Map, and the App Map turned into an MVP before I went to sleep. The Feed & Thread app would be the home for all of it: a daily industry briefing, browsable articles from over 50 RSS sources, community discussions from more than a dozen Reddit communities, and the full podcast archive with in-app playback. Over the next few evenings, designs got refined, the podcast wired in, and Claude Code and I launched a lightweight website and a lightweight ethical ad platform, impression and click tracking only, no behavioral profiling, serving Chicago Camps promotions between content items.
By Friday I was submitting the package to App Review. It's live today.
Here's what I want to be transparent about: a lot of people are claiming to build apps with a prompt and 20 minutes of jittering code creation from their favorite AI tool. And sure, some of them did just that. A lot of those are already stale URLs or abandoned ideas with a Stripe connection and a pricing carousel to purchase a subscription.
Speed without infrastructure gets you a demo. And in many cases, probably not a very good one, or one that didn't consider error handling and error states, fallback mechanisms, basic level security requirements, actual adherence to design systems and global style sheets (ask me how I know!), and the impact that scale can bring. I'm sure this is the tip of the iceberg.
Speed with infrastructure can get you a product or an outcome. The six days were fast because six months of separate experiments, scrapers, voice models, audio pipelines, podcast templates, and a failed TestFlight app, all suddenly had somewhere to go.
Claude Code was the development partner throughout. And the reason any of this came together quickly is because I'd been building the pieces without knowing exactly what I was building toward from the beginning. Each piece along the way generally had a purpose, including that initial iOS app which had a purpose of "can I FAFO and make an iOS app? Because if I can, that'll open some future doors," which is an okay purpose, at least for me.
Generally, though that's not a workflow I'd recommend as a strategy. It's what sustained curiosity looks like when it finally has somewhere to go.
