How We Used AI to Fake a 6,800-Word Interview with Nilay Patel for $3.94

Steve's prompt: "Write a companion piece that explains how the Nilay Patel interview was done from a technical perspective. How info was collected and synthesized and how much it cost."

Earlier today we published a 6,800-word interview with Nilay Patel. He didn't participate. Every opinion attributed to him tracks to something he's actually said on the record. Every word was generated by AI. The whole thing cost Steve $3.94 in API credits.

This is how we did it.


Step 1: Scrape Everything He's Said in Public

We built three custom scrapers. Each one targeted a different source of Nilay's public speech.

Decoder podcast transcripts. We pulled the RSS feed from Megaphone (Vox Media's podcast host) and grabbed the 50 most recent episodes. 19 of those had links to full transcripts on The Verge. The other 31 gave us episode descriptions only. We kept everything.

Verge articles. We scraped 50 articles from Nilay's Verge author page, paginated across five pages. These ranged from full 15,000-word Decoder transcripts published as articles to short 200-word editorial pieces. The Verge doesn't paywall Decoder transcripts, so all of this was freely accessible.

Bluesky posts. Nilay posts as @reckless.bsky.social. The AT Protocol has a public API that requires no authentication. We pulled 461 posts spanning August 2025 through February 2026. These are gold for voice work. Unedited, unfiltered, stream-of-consciousness opinions.

Total raw haul: 101 files. About 745,000 tokens. Roughly equivalent to six novels.


Step 2: Deduplicate

Here's a thing we didn't expect: The Verge publishes every Decoder episode as both a podcast page and a standalone article page. The content is nearly identical, with 50-150 words of difference from bylines and promo inserts. Our two scrapers both grabbed these, giving us 13 duplicate pairs.

We also found two episodes that the podcast RSS feed published twice on different dates (reruns). Same content, different publication dates.

We kept the article versions (slightly richer editorial context) and moved the duplicates to a backup directory. Total removed: 15 files. Zero information lost. The corpus dropped from 745K tokens to 525K tokens.


Step 3: Trim for the Context Window

Here's where it got interesting. Our Claude API account has a 200,000-token context window. Our corpus was 525,000 tokens. We couldn't fit it in one shot.

We had two options: upgrade the API tier (expensive, slow approval process) or trim the corpus and work in passes. We trimmed.

We removed 23 articles that were low-signal for voice work: short teasers under 500 words, product reviews where Nilay's personality doesn't come through, and a few long but off-topic pieces (GM earnings, Razer hardware, Airbnb policy). Every cut was a judgment call about signal density.

Final corpus: 63 files. 27 articles, 35 podcast entries, 1 Bluesky archive. About 401,000 tokens. Still too big for one pass. So we split it.


Step 4: Build the Voice Profile ($2.42)

This is the core technical move. We needed to distill 63 documents into a voice profile that captures how Nilay talks, what he believes, and what makes him sound like himself rather than a generic tech journalist.

We used a 3-pass approach with Claude Sonnet 4.6:

Bin-packing. We wrote a greedy algorithm to split the 63 files into three roughly equal chunks of ~133,000 tokens each. Each chunk had to fit inside the 200K context window with room for the system prompt and output.

Three analysis passes. Each chunk got its own analysis pass. The prompt asked for: sentence patterns and verbal tics, how he handles disagreement, his humor style, documented positions on specific topics (AI, regulation, antitrust, journalism, right to repair), and specific quotes that illustrate his voice. Each pass took 4-15 minutes of compute time.

Merge. The three partial profiles were fed back into a fourth call that synthesized them into a single unified voice profile. The merge pass produced a 9,589-word document covering voice patterns, a position map on dozens of topics, and a style guide for what to do and what to avoid when writing as Nilay.

PassTimeCost
Chunk 1 analysis4.6 min$0.66
Chunk 2 analysis6.5 min$0.75
Chunk 3 analysis15.0 min$0.68
Merge8.0 min$0.33
Total34.1 min$2.42

The voice profile includes things like: Nilay starts sentences with "Look," and "Here's the thing" when he's about to deliver an opinion he's confident about. He uses fragments. He interrupts himself mid-sentence and starts over. He names specific companies, people, and dollar amounts rather than dealing in abstractions. His humor is dry and self-aware. He makes Packers jokes. He calls himself a horrible lawyer.

A machine read 63 documents and learned to describe a person's voice. That took thirty-four minutes and two dollars and forty-two cents.


Step 5: Write the Questions

Steve gave three directions: open with Nilay's new baby as an icebreaker, focus most of the interview on AI, and include questions about the unreplug.com experiment. That's it. Claude wrote all 20 specific questions, designed the conversational flow, and built transition notes explaining how each question connects to the expected previous answer. The questions open with the baby, spend the bulk of the interview on AI topics (trust, bubble, agents, safety, regulation), include a four-question block about unreplug.com, and close by circling back to the baby for a narrative arc.

Steve's only other editorial input on the questions was "make the next question flow from the previous response." The rest was AI.


Step 6: Generate the Interview ($1.03)

We fed the 9,589-word voice profile into Claude Opus 4.6 as a cached system prompt. The 20 questions went in as the user message. Extended thinking was enabled with a 10,000-token budget so the model could reason about voice fidelity before generating each answer.

The voice profile was prompt-cached, meaning it stays in memory and doesn't get re-processed on subsequent calls. This is how we kept the cost down: the expensive part (the voice profile) was loaded once, and each generation call only paid for the new output.

The model generated 6,783 words of interview in a single pass. 20 questions, 20 answers, plus interviewer reactions, follow-ups, and transitions that make it read like a real conversation rather than a Q&A list. The whole generation took 4.2 minutes.

We regenerated one answer after Steve decided to swap a question. That cost $0.49.

StepModelCost
Voice profile (3 passes + merge)Sonnet 4.6$2.42
Interview generationOpus 4.6$1.03
Answer regeneration (1 question)Opus 4.6$0.49
Total$3.94

Step 7: Editorial Review

Steve read the full interview and made two editorial decisions:

  1. Changed the interviewer label from "Interviewer" to "Unreplug.AI" (find-and-replace, five seconds)
  2. Swapped one question about the unreplug.com fabrication experiment for a question about the Thomas Germain BBC hot dog story, which had just broken that morning. The regenerated answer referenced Germain's experiment and tied it into the DoorDash problem and the Stack Overflow trust stat from earlier in the interview.

That's it. No other edits. The voice was close enough that Steve didn't feel the need to rewrite anything.


What This Proves

A single person, working with AI tools, can scrape a public figure's entire body of work, build a detailed model of their voice and positions, and generate a full-length interview that tracks closely to their actual views. In half a morning. For less than four dollars.

The interview carries a prominent disclosure. Every opinion tracks to documented positions. It's transparent about what it is. But that's because Steve chose to be transparent. Nothing about the technical process requires it.

Someone with different intentions could use this exact pipeline to put words in someone's mouth. Generate fake interviews. Fabricate endorsements. Create convincing deepfake text that sounds like a specific person saying things they never said.

The defense against that is the same defense the interview itself discusses: disclosure, verification, and the rapidly eroding assumption that the words you're reading were written by the person whose name is on them.

Four dollars. Half a morning. Sixty-three documents and a voice profile.

That's the cost of faking a person now.


The Full Pipeline at a Glance

PhaseWhatTimeCost
Scraping63 documents from 3 sources~5 min$0.00
Dedup + trim101 files → 63 files~20 min$0.00
Voice profile3-pass analysis + merge34 min$2.42
Questions20 questions, conversational flow~15 min$0.00
Interview6,783 words generated4.2 min$1.03
Edit1 answer regenerated~3 min$0.49
Total~80 min$3.94

Related

unreplug.com →