Spiral: Building an AI Ghostwriter You Can Actually Use
Episode of Every's AI & I podcast in which host Dan Shipper interviews engineer Danny Aziz about rebuilding Spiral, an AI writing partner tuned to Every's editorial taste. They cover why AI tools that slow you down can improve writing, the agents running under Spiral's hood, how Spiral helps you explore the "canvas of possibilities," why Danny pivoted away from the old version of Spiral, coding with AI without losing your craft, Danny's workflow building the product as a solo engineer, and how he used DSPy to give the model editorial taste.
Chapters:
00:01:00 – Introduction
00:05:26 – How Danny used Spiral to prepare for this podcast
00:08:29 – Why slowing down makes AI writing better
00:13:42 – The agents working under the hood for Spiral
00:14:46 – How Spiral helps you explore the canvas of possibilities
00:24:41 – Why Danny pivoted away from the old version of Spiral
00:31:51 – How to use AI without losing your craft
00:34:55 – Danny's workflow for building Spiral as a solo engineer
00:40:39 – Code with AI while staying in control
00:45:26 – What Danny learned about getting AI to write well
00:47:52 – How Danny used DSPy to give AI taste
00:56:16 – Dan v. AI Dan: Can the machine match the man?
# Video Identity Observations: "Spiral: Building an AI Ghostwriter You Can Actually Use"
## Video Format
- **Interview/conversation format**: The host identifies himself: *"In this conversation with AI and I host Dan Shipper, you'll hear how I use AI tools like Droid and Claude Code…"*
- Hosted on a show called **"AI and I"**, with a guest (Danny, GM of Spiral) being interviewed while sharing screens and demos.
- Includes a **sponsor read** (Framer) and a **humorous AI-generated outro** ("You absolutely positively have to smash that like button… Dan, I'm absolutely hopelessly in love with you"), suggesting a polished production with ads.
## Explicit Self-Descriptions (Creator Claims)
- **Channel topic scope — AI tools and how they're used well**: Host: *"we do a ton of um cloud code content on every"* and intro references *"how I use AI tools like Droid and Claude Code."*
- **Part of a larger organization**: Frequent references to **"Every"** — *"At every we run four AI products in-house"*, *"the every ecosystem"* — indicating the channel belongs to a company/product studio with multiple AI products (Spiral, Monologue, Sparkle mentioned).
- **Audience assumption — AI-interested builders/practitioners**: The host frames content for *"people who are not as familiar with the every ecosystem"* and refers to a prior guest piece: *"we have a great piece on every with Michael Taylor around DSPy."*
- **Explicit call to action**: The outro directs viewers to *"smash that like button and subscribe to AI and I"*, with the show described as *"not just a show. It's a journey into the future with Dan Shipper as the captain."*
## Observable Presentation Evidence
- **Demonstrated audience**: technical and product-minded AI users — discussion assumes familiarity with Cursor, Windsurf, Claude Code, terminal workflows, context windows, prompt optimization (DSPy/GEPA), and model versions.
- **Demonstrated scope**: hands-on demos of AI product building, live product walkthroughs, workflow discussions, and meta-experiments (e.g., building a "judge" prompt replicating the host's taste).
- **Promotional cross-links**: The episode ends with specific pointers — *"Spiral, you can go to writing.new… It's trypiral on Twitter… I am Danny Aziz 97 everywhere"* — showing the channel promotes its ecosystem's products and guests' handles.
- **Tone**: informal, collegial, profanity present in conversation ("this database migration is fucked"), friendly banter between host and guest who are colleagues.
- **Ecosystem content marketing**: The episode itself functions as a launch showcase for Every's internal product (Spiral), with host praising: *"you built all of this by yourself that is crazy… that would have been totally impossible a year ago."*
## Audience & Claimed Scope Summary
| Dimension | Evidence |
|---|---|
| Intended audience | AI practitioners, builders, writers interested in AI tooling |
| Claimed scope | "AI and I" — conversations about building with AI; part of Every's content ecosystem |
| Demonstrated scope | Technical deep-dives, product demos, AI workflow experimentation |
| Tone | Casual expert-to-expert conversation with demos |
# Delivery Observation: Danny Aziz — "Spiral: Building an AI Ghostwriter You Can Actually Use"
## Format Overview
This is a **two-speaker conversation/demo video**. The primary speaker (Danny, GM of Spiral) delivers a scripted intro, then a live product demo and discussion with interviewer Dan Shipper. The transcript includes a mid-roll sponsor read (Framer) and an AI-generated-sounding outro, which are separate delivery voices.
---
## Tone
- **Casual, enthusiastic, demo-driven.** Danny's conversational register is loose and rapid:
> "Um, and there's like so many tiny moments that we like thought about on this."
- **Earnest and reflective** when discussing product philosophy:
> "good writing is downstream of good thinking."
- **Playful and self-deprecating** in exchanges:
> "Um, you know Dan Shipper steals hats and he steals words out of my mouth. Um, we can cut that."
## Vocabulary & Recurring Terms
Danny repeats a small set of signature terms throughout:
- **"Slop"** — appears repeatedly as his label for bad AI writing:
> "Most AI writing is sloth [slop]." … "cuz that's how you get slop." … "there's so much of their training data that is slop."
- **"Intentional / intentionality"** — his core value word:
> "a really beautiful and intentional AI writing experience" … "be a bit more intentional" … "I want to be intentional with what I write."
- **"Beautiful"** — used as a general quality descriptor, not just visual:
> "the most beautiful [ __ ] app I've ever made" … "you can go from something to like something beautiful."
- **"Tiny moments / tiny little moments"** — for small UX details:
> "there's like so many tiny moments" … "a lot of tiny little moments like this that we've added."
- **Casual engineering slang:** "ripping" tokens/agents ("I've been ripping the most tokens," "just going to let it go rip"), "yolo mode," "go downstream from the original thought."
## Teaching / Demo Habits
- **Live walkthrough with running meta-commentary**, including admitting live bugs:
> "oh that was a little janky. I got to fix that."
- **Meta-demonstration:** he prepared for the podcast *using the product itself*:
> "I actually prepared beforehand um talking about this interview with spiral and I thought that could be kind of meta."
- **Concrete numbers and specifics** when explaining experiments:
> "the base prompt was about 58.8% accurate" … "it spat out this prompt that was 76.5% accurate."
- **Contrast structure:** he repeatedly frames lessons as before/after or old/new (old Spiral vs. new Spiral; rubrics-based prompting vs. fluid prompting; Twitter-scrolling vs. parallel terminal panes).
- **Quotes users and colleagues** to support points:
> "He said that Spiral helped him go downstream from the original thought that he shared."
## Communication Patterns
- **Heavy filler and self-restart:** frequent "um," "you know," "like," and repeated words ("it it it was missing this thing," "I I think").
- **Trail-offs and hedging on uncertain claims:**
> "I don't really know what that means, but whatever."
> "I feel like it's probably more like 65% um accurate."
- **Analogy use:** improv ("yes anding"), ghostwriting, chiseling marble, Instagram filters, slot machine vs. writing partner.
- **Direct address of disagreement with the product:** openly critical of his own old work:
> "I never liked the stuff that came out of it and I never found myself going like reaching for it."
## Interviewer Patterns (Dan Shipper)
- **Interrupts to steer and praise** ("wait, I want to pause you here," "I just want to like pause you there").
- **Personal affirmation language:**
> "I'm just like I'm so proud of you."
- **Playful teasing** about hair, leather jacket, and Vim regret.
## Stable Patterns vs. Isolated Moments
- **Stable (repeated across segments):** "slop" framing, "intentional" vocabulary, filler-heavy casual register, demo-with-numbers habit, old-vs-new contrast structure.
- **Isolated / low-confidence:** the apology to "Flo" ("Sorry, Flo.") and the detailed tweet critique ("I feel like the VC community…") occur once; strong opinions about VC tweets may reflect this specific critique rather than a general delivery habit. The closing outro's hyperbolic style is a distinct (likely scripted/AI-generated) voice, not characteristic of Danny's delivery.
# Position Record: "Spiral: Building an AI Ghostwriter You Can Actually Use"
## Speakers
- **Danny Aziz** — General Manager of Spiral (identifies himself in intro; "Danny Aziz 97" online)
- **Dan Shipper** — Host of *AI & I*; built the first version of Spiral ("AI generated slop by Dan Shipper," per Danny, jokingly confirmed)
- **Framer ad read** — embedded promotional segment (attributed to the show, not a substantive discussion participant)
---
## Danny Aziz's Positions
### On AI writing generally
- **"Most AI writing is slop."** Without hours of prompt babysitting, output is generic; with effort, "you're not writing—you're holding the AI's hand."
- **Most people are bad prompters:** "99% of people who are using AI are probably rubbish prompters." Good products should absorb the prompting burden so users can "take a beat and actually think about what they're writing."
- He worries about a world where people let ChatGPT/Claude "do all the thinking for me," but rejects the conclusion that AI must be shunned: "We can have both."
### On Spiral's design philosophy
- **"Writing partner, not a slot machine."** The word *partner* anchors the product: it interviews first, asks questions, then drafts.
- **Slowness as a feature:** deliberately uses a reasoning model, thinking shown by default (open, not clicked), so users can see reasoning and catch misunderstandings.
- **Interview-first approach:** it asks for concrete details, "yes-ands" the user (improv principle), questions should always "provide value."
- **Why interviewing matters:** an early user said Spiral helped him go "downstream from the original thought" rather than just repurposing it.
- **Three-draft UI as middle ground:** inspired by Midjourney's multiple options, but text differences are harder to perceive than image differences; three "felt like that perfect middle ground." Users traverse/prune—recent metaphor: "chiseling marble."
- **Multi-agent architecture:** one model doing both interviewing and writing "really didn't work" due to **context rot**—large context windows exist but attention across a million tokens "just isn't there yet." Solution: handoff where the writer receives the *entire* prior context window, not a summary.
### On old Spiral's failure
- Old paradigm (examples → style guide → generation) "was a great first start for last year" but couldn't support collaboration; usage declined.
- He personally never liked its output and used it only out of "shoulds"; he adds: "shoulds are not what I should actually be doing with my life."
- Studio lesson: "if we're not using it, it just doesn't matter. It doesn't matter if other people are using it."
- Personal realization (around March, after months of dragging himself out of bed feeling guilt): **"good writing is downstream of good thinking"** — that problem motivated him; text transformation for marketing did not.
### On prompting and models
- **Rules-based rubrics failed:** early scoring/self-grading prompts "none of that worked." Moved to fluid, principle-based prompting; newer models (Claude 4, GPT-5) "unlocked a new level of capabilities."
- **Writing is fluid:** reading Orwell's *Why I Write* during WWII, he disliked parts of it—concluding that communication styles change and "good writing is so fluid."
- **Training data concern:** "there's so much of their training data that is slop." Half-joking proposal: Anthropic should hire them to prune nonsense from training data for a bespoke "Sonnet 4.9."
- **Model-specific prompting:** GPT-5 was briefly Spiral's writing model and required "so different" a prompt (heavy XML tags); prompts must keep evolving as models change.
- **AI-isms** come from two things: habituation (especially for people staring at AI output all day) and the volume of "nonsense written on the internet over the last 15–20 years" in training data.
### On non-determinism
- He cannot stand behind all Spiral output—it "would require an infinite number of me looking at an infinite number of outputs." A filter-like "done" state doesn't exist for this product; it will "always be evolving."
### On his building workflow
- Tool journey: Cursor → Windsurf (Cascade was the first somewhat agentic feature) → terminal-only with Claude Code → now **Droid (Factory)**, which he's "completely fallen in love with."
- **Why Droid:** model-agnostic (GPT-5, Anthropic models, GLM 4.6) with better per-model ergonomics/prompting. Concrete example: a failed database migration fixed in ~3 minutes by Opus 4.1 in Droid after Claude Code failed—same model, different results. He was for a time the #1 Droid user, exhausting max-plan tokens early (Oct 3–24).
- **Yolo mode as foregone conclusion:** of course you let agents run.
- **Identity shift:** letting go of "I'm an engineer who uses Vim" identity—he regrets learning Vim since he never uses it—toward "I'm somebody who just makes things," agnostic about who/what writes the code.
- **Craftsmanship under delegation:** "measure twice, cut once"—feel out whether agent output *feels right*, fits the piece of the puzzle; LLMs can solve a problem a million ways but "there are probably only a handful you actually should be using."
- **Parallel work, no Twitter-scrolling:** worst habit was scrolling Twitter while agents ran; now runs multiple Droid panes in parallel (bug fix, copy edits from Kate, judging-prompt experiments in Python notebooks).
- **Phone discipline:** puts phone face-down on office ledges, always do-not-disturb, Watch notifies nothing. Notes people who claim AI lets them "do the job of three people" often end up doing one person's job plus procrastinating; he prefers being all-in on work or fully present off work ("My wife hates that about me").
### On judging writing (with Dan Shipper)
- **Opus 4 as the pivot:** earlier models rubber-stamped everything as B+; rubric tricks (declaring 7/10 impossible) collapsed everything to ~6 or 5.8. Opus 4 was the first to give reliable, repeatable boolean answers with good prose reasoning—matching their own judgments on an engagement test. Later also worked in Sonnet 4.5 and (somewhat) Haiku 4.5.
- **DSPy experiment:** generating a "judge with Dan's taste." Dan labeled tweets (thumbs up/down + written feedback); base prompt was **58.8%** accurate ("you could flip a coin"); DSPy/GEPA optimized prompts iteratively ("throwing spaghetti on a wall")—some attempts worse (33.3%, 66.7%)—final prompt **76.5%** accurate. Danny qualifies: "I feel like it's probably more like 65%" in reality; "it definitely still needs some work."
- **Surprise at simplicity:** the winning prompt is a simple 112-line list ("simple concrete specific language, not vague generalities"; "clear promise that gets paid off"; bad = "generic openings," "breathless tone," "telling instead of showing"). Counterintuitive—old prompting style would have added many examples; now models "know what simple concrete specific language is" if you "let them breathe."
- **DSPy-as-optimizer stance:** (referencing Every's piece with Michael Taylor) ignore 80% of DSPy as a framework—"it's just really confusing"—and use it purely as a prompt optimizer, extract the optimized prompt into your product.
- **Feedback loop tooling:** Raindrop ("Sentry for AI agents") provides daily reports of what users liked/disliked in chat—far better than old Spiral's "thumbs up and thumbs down and that was really useless." A self-judging agent feature is planned for the product itself.
- **Live test result:** Dan gave a VC-events tweet a thumbs down (softer after reading the full text); **"DSPy Dan" gave it a thumbs up**. Danny's diagnosis: the judge focused on *what is said* (counterintuitive take, felt handwritten) rather than *how it's written*—one judge doing one thing "isn't the whole thing"; multiple judges needed.
---
## Dan Shipper's Positions
### On the product
- Amazement that Danny built it solo: "that would have been totally impossible a year ago… or two years ago"—evidence of what these tools enable.
- **"How would a person do this" metaphor:** for building agents, first model how a human does the task. His ghostwriting experience: mutual discovery, asking questions; a good ghostwriter's job is "to make you feel seen." An agent that spits out answers immediately is "how you get slop."
- The interview mode came early from this thinking.
- Likes the "questions > drafts" hook in the demo.
- Recalls March 2025 enthusiasm for "trees" and infinite-canvas exploration of LLM possibilities (he sent Danny a picture of a tree on Discord).
### On the first version's lessons
- AI moves so fast that a text-transformation product "needed to be totally different" once models improved—and they didn't update it.
- Daily-use products matter; one-shot content generation is too limited; needed something more dynamic.
- **GM ownership process:** Danny came to him ~7–8 months ago saying "I don't know if I'm the right guy for this," "banging my head against the wall" to ship the MR. Diagnosis: "you didn't have a vision for it because it didn't feel like yours." Shipper refused to supply the vision himself ("I'm not the GM… you have to solve the problem"), offering instead the option to switch projects within Every's setup. Similar pattern with Yash on Sparkle.
- Expresses pride in Danny's reinvention; "I don't know if you've reinvented yourself necessarily but you've certainly pushed yourself."
### On writing and product evolution
- **"Good writing is alive."** It comes from something alive and honest to living experience; anything static becomes slop over time—a tension they're "starting to grapple with" with implications for the product's direction.
### On Dan's tweet judging (live critique)
- Tweet critique of the VC-events post: "I feel like" openings lower impact; the core idea (stable equilibria everyone dislikes but stays stuck in) is genuinely interesting; but it's wordy, opens "a two front war" against both VCs and founders, and reads as mocking rather than bringing readers on board. Verdict: thumbs down, softened after seeing the full text.
- On the DSPy result: finds the generated prompt "telling me stuff about how my brain works that I might not even know."
- Notes prompting lore: he'd tell Claude to distill principles from other people's prompting guides—somewhat useful, but DSPy "feels a little more scientific, maybe 'cause we're in a Python notebook and there's percentages."
- DSPy pronunciation uncertainty: says "Disp-y" in his head though "DSP is probably the right way."
---
## Embedded Ad Segment (show, not discussion)
- **Framer sponsorship read:** promotes Framer's design pages, free canvas-based design tool, P3 color, SVG animation; offer code DAN for a free Pro month at framer.com/design.
---
## Unresolved Tensions / Qualifications Preserved
- **Judge accuracy gap:** 76.5% measured vs. Danny's felt ~65%; live test showed a Dan/DSPy-Dan disagreement.
- **Single-judge limitation:** judges must do one thing, but "sometimes that one thing isn't the whole thing."
- **Non-determinism:** no finished state possible; Danny admits he hasn't "fully come to terms with" it.
- **Model churn:** prompts (e.g., GPT-5 XML-tag style vs. Claude) must be rewritten as models change; "Sonic 4.6 is going to come out next week or something" — Shipper: "I'm so tired."
- **Context rot vs. marketing claims:** labs tout million-token windows; Danny argues real attention across them "isn't there yet."
- Humor/caveat noted: the outro's exaggerated "smash that like button… hopelessly in love" segment is a stylized show outro, not a substantive position.
# Speaker Attribution & Provenance Record
**Video:** Spiral: Building an AI Ghostwriter You Can Actually Use
**Video ID:** `01a0f15a-d7c3-7754-8bb8-bd9c6d80f0ee`
## Speakers & Roles
| Speaker | Role | Evidence |
|---|---|---|
| **Danny Aziz** | Guest; General Manager of Spiral | "I'm Danny, the general manager of Spiral" (intro); closing: "I am Danny Aziz 97 everywhere on the internet" |
| **Dan Shipper** | Host / interviewer; original builder of Spiral v1 | Intro: "In this conversation with AI and I host Dan Shipper"; in-body: "the first version of Spiral was AI generated slot by Dan Shepard [sic]" |
| **Unnamed narrator voice (intro)** | Narrator, identified as Danny | Intro paragraph is spoken by Danny; he notes "this intro was co-written by Spiral" |
| **Sponsor read voice** | Promotional narrator (Framer ad) | Mid-transcript Framer promotion |
| **Closing outro voice** | Promotional / channel plug | Closing "smash that like button" segment addressed to Dan Shipper |
## Promotional Segments (flagged)
- **Framer sponsorship:** Mid-episode ad for Framer, including promo code **DAN** for a free month of pro ("Rules and restrictions may apply").
- **Channel plug (outro):** Explicit call to like/subscribe to "AI and I"; includes an AI-styled over-enthusiastic endorsement, ending "Dan, I'm absolutely hopelessly in love with you."
- **Product/CTA mentions:** Spiral URLs (writing.new, writewithspiral.com), @trypiral on Twitter, Danny Aziz 97 handles.
## Referenced Sources & Third-Party Claims
- **Book:** *Why I Write* by **George Orwell** — Danny cites reading it and his reaction; written "during the Second World War."
- **Tools/products discussed:** Spiral (old and new), Claude Code, Factory's Droid, Cursor, Windsurf (Cascade feature), Amp, OpenAI Codex, Figma, Midjourney (as comparison), Vim.
- **Models referenced:** Claude 4 / Opus 4 / Opus 4.1, Sonnet 4.5, "HighQ 4.5" (as transcribed), GPT-5, GLM 4.6, upcoming "Sonic 4.6."
- **Prompt optimization:** DSPy ("Dispy") and GEPA method; Every piece by **Michael Taylor** on DSPy, plus a video of him teaching Dan and Kieran.
- **Monitoring tool:** Raindrop — described as "sentry for AI agents."
- **People mentioned (not speakers):** James, Lucas (collaborators on Spiral), Naveen (Monologue), Yash (Sparkle), Kieran, Kate, Ben Tossel, Dario (Anthropic), Flo (tweet author).
## Internal Claims / Provenance Notes
- Danny claims to have been **the number one Droid user**, exhausting max-plan tokens (Oct 3–24 timeframe cited).
- Judge-prompt experiment metrics stated by Danny: base prompt **58.8% accurate**, later prompts 66.7%, 33.3%, final **76.5%** accurate to Dan's taste; Danny estimates real accuracy closer to **65%**.
- Intro explicitly disclosed as **co-written by Spiral** (AI-assisted content).
## Uncertainty & Availability Limits
- **Comment availability:** Not stated in transcript or metadata.
- **No curated metadata supplied**; speaker attribution rests solely on transcript self-identification.
- Speaker turns marked by `>>` markers only; some attribution in dense back-and-forth is inferred from context and could be ambiguous.
Most AI writing is sloth. Unless you're spending hours babysitting prompts, you're getting generic output. And when you do put in that effort, you're not writing. You're holding the AI's hand, explaining what you want, reprompting,
guiding it towards something usable and that sounds like you. I'm Danny, the general manager of Spiral. I spent 7 months rebuilding it from the ground up to solve this problem. Spiral is now an AI writing partner with Taste. In this conversation with AI and I host Dan Shipper, you'll hear how I use AI tools like Droid and Claude Code to build a really beautiful and intentional AI writing experience, how we taught models to judge their own writing, and the philosophy behind making an AI writing partner instead of a slot machine. By the way, this intro was co-written by Spiral. Let's get into it.
seven, eight months. We went through a ton of iter iterations and then you were like, I want to make this the most beautiful \[ \_\_ \] app I've ever made. Like, show show us the app right now. Show us what it looks like. \>\> Okay, so here we are. This is the new
spiral. Um, and there's like so many tiny moments that we like thought about on this. Um, you know, James and I and Lucas, we all really just like spend a lot of time thinking about like what is the experience that you want to have when you come here. Um, and you know, it's very subtle. This is one thing that I just like I love it every single time. But we have this like slight papery feeling effect. It's noise, but in the background it feels like it's paper. Um, like you know, we intentionally chose this like tight face. Um, \>\> wait, I want to pause you here. Like just looking at this, right? There's so much here. There's obviously like what are we writing today, Danny? There's and and for people who are listening, there's like a um there's a there's a there's a box where you, you know, you type in the the post you want to write about. And then there's like a plus button where you can attach more context. There's a microphone button where you can talk to it. There's a styles button where you can add styles. But then there's a whole sidebar of different workspaces. And within each workspace, you have different products. There these little icons. It's like there's one for Kora. So if you want to write write about Kora another product like you can go in there and and and that's all beautifully designed and then there's like a history and what what I want to emphasize to your point is you built all of this by yourself that is crazy that like that would have been totally impossible a year ago um or two years ago and uh and so I think you're I think you're making a really important point about what you can achieve with these tools if you use them well and you want to make something great. \>\> Yeah, I think it really, you know, it allows you to go from like idea to something really quickly. And I think you can go from something to like something beautiful also really quickly. And you know, we we I worked with some really talented people like Lucas, James, you know, we we all jumped in here. And I think the really cool thing was that it allowed, you know, both Lucas and James who are not engineers to like mess around and clawed and be like, "Oh, can we figure this out?" Like to your point of, you know, being able to speak to it, we have like a monologue integration and we have this like dithering animation and I think Lucas made the first one in like a code sandbox using um Claude and then we like iterated from there and then messed around in Figma. like it allows also a bunch of people to jump in and you know who aren't necessarily engineers to like help play around and like take it to that final um place. Um \>\> I so that makes a lot of sense you know for people who who are not as familiar with the every ecosystem u monologue is another product um that we build internally and so now spiral connects to monologue which is super cool and that would actually be kind of fun to talk about but why don't you show us um how spiral works just so we get a sense for okay once you're like opening the Pandora's box of it like what is possible and then what I actually what's what's really interesting to me right now is I want learn more about your workflow because I think we do a ton of um cloud code uh content uh on every and you are actually a droid boy and uh and I feel like you have some some ways of working that are maybe a little bit different from some of the stuff that we've done um previously and this is really making me you know one of the things I feel about you is just from looking at your hair and how how beautiful your hair is um you and and also that leather jacket that you're wearing. You really have this u and you've said this before about yourself, you have this like um measure twice, cut cut once mentality where I you're just like you're a craftsman. And um I think that that has come through in this product. It has come through in how you um think about building a tool for writers. And um and I and I think that that uh to your to a point you made earlier, it um it's sort of at odds with what people think you can build with AI. It's like, oh, you're just going to make slop and actually you can build build beautiful things with AI and I think you're a really good example of that. So let's start with um using Spiral. \>\> Okay, thank you for those lovely words by the way. Um so I actually prepared beforehand um
talking about this interview with spiral and I thought that could be kind of meta to go through and see how it worked. So first of all I did it inside the spiral workspace and the whole idea of workspaces. It's kind of like projects
in charge of your claude which is like it just has documents and stuff and context beforehand. Um and so it knows what you're talking about. And so I literally said like hey I'm about to jump on a podcast with Dan to talk about you. Help me prepare some notes. And what it actually did, oh that was a little janky. I got to fix that. But um one of the things that it did was that it it asked itself, what do I know about myself? And it kind of like thought about it and it sort of spat it all out and was like, hey, here are a bunch of things that you could talk to about Dan. Like most AI writing is slop. Spiral has taste. Um we can talk about what makes Spiral different. It chats first and it interviews. It explores three different angles. These are all things to come. Um we can also talk about the evolution story. So Spiral like suggested a bunch of things to me. Um, and then I could, you know, it then the first thing the spiral does is it asks questions. Um, it always wants to know more concrete details from you. Um, and so it asks, would you like me to expand or help you through think through specific stories or examples that you could share? And so I said, actually, one of the other things I want to talk about is like the sheer number of iterations that we went through testing and experimenting. And then Spiral again look through what it knew of the story of Spiral and kind of came through here are these different like arcs you know the realization the old one isn't working the pivot and then it started ask me questions for each one like what was the first thing that I tried differently when did the chat first insight emerge um how many iterations did I go through what did you learn about what makes writing good that surprised you and so like it's gone through its understanding of itself but it's asking me questions all along the way to like really figure out concretely what are what the hell is it that I'm actually trying to say Um, and this is like super useful cuz I think a lot of the times when I've gone to Old Spiral and other AI tools to like ask for something, it may ask questions, but usually you have to prompt it to ask you questions. Um, and the questions don't really help me really think about what I'm saying that well. We had a we had an early user who said something about Spiral. He said that Spiral helped him go downstream from the original thought that he shared with Spiral as opposed to it just being a repurposing of the original thought that he shared. And I think that like put it really like well and succinctly of like Spiral will help you take that initial like jumble of thoughts that you had and go a little bit further with it um from these questions which I think is like super useful in figuring out what it is that you're trying to say. Um, and I guess it's also like seeing it from different perspectives also helps really like understand the shape of the thing that you're trying to talk about. Um, yeah. So, I monologued into it a bunch of stuff and then sort of like helped me like think through the different things that I wanted to talk about right now. Um, so that's the interviewing part of Spiral and like sort of figuring things out. \>\> And just I just want to um I just want to like pause you there. I I think the interview thing is an interesting thing and it's it's one of the things that we came to very early on in this process
because um we were thinking about oh yeah how do you build a how do you build a writer with taste and um one of one of the metaphors that we use
to think about this is how would a person do this and I think that's a really good and important metaphor for building AI products is if you're building an agent first you have to think about like how does an actual person do the task that the agent is going to do and So, um, you know, I was thinking about for me in my in my writing, um, how how do I ghost write for people well and and in order to do that well, I would need a, uh, I need to get a sense of who that person is and like ask them questions about it. And there's this like, you know, mutual discovery process. and you took that and and like built this basically like interview mode, which I think is is one of the things that um makes this really different is it's not its job is not to just spit out the answer right away cuz that's how you get slop. Um it does spit out an answer if it knows who you are and what you want and all that kind of stuff because if you've built a relationship with a ghost writer, for example, and you're doing something like what you've done before, that is actually can be a pretty quick process. But um otherwise a good ghost writer their job is to um make you feel seen like really get underneath the thing that you're trying to do and and that's how you make that's how you ghost write something that feels like it came from the person and isn't just like some generic \[ \_\_ \] \>\> Yeah. Yeah. And I think LM are and and this actually goes deeper into the story of how else this product works, but LM
are great at doing that. just sort of like helping you see things from an infinite number of like perspectives. Um, and I think one of the things that we spend a lot of time with the prompt
for the interviewer inside Spiral is like yes andinging you sort of, you know, coming from like improv is it always kind of has to like provide value in the questions. Like some questions are kind of annoying and it's like you know if it's not providing value and we try our best it's like yes and um and like it it is giving me a lot of questions like how like you know how do you encode asking good questions to the prompts which is kind of what you just asked. Um, and so like it's thinking through all of the things. And to your point of like slop, one of the things that we were very intentional on of like we're going to use a reasoning model and we're actually going to show the user all of the reasoning and you can see it all because you know we we're calling it a writing partner. And I think that word partner is really important and I think it's kind of one of those like principles that we've anchored everything around. And with like any good collaborator or partner that you're working with, whether it's writing or, you know, engineering or design, um, understanding the perspective that they're coming from and how they're thinking about the thing, um, helps you understand like, oh, this is where they're thinking about it. This is where we're um, here's where there's a delta between how I'm thinking about it, how they're thinking about it, or like, oh, they've got it completely wrong. They they've understood something incorrectly or differently from how I have. And it's really useful to be able to like look at the thinking. Um I you know when you start a conversation with spiral the thinking is open by default. You don't have to click it open. Um as opposed to you know other AI apps they do show you the thinking but you have to click it open. I think that's a very small tiny intentional thing of like we want you to read it like actually understand what it's doing because if it's doing something you don't want it to do you for people to see that and you can just tell it. Um, yeah, I think that's super
important in building something that everybody else is trying to make content like here's, you know, even the old version of Spirals, like an infinite number of, you know, it will spit out an infinite
number of things at a click of a button and I think we've gone completely the opposite way. Um, where we've kind of zagged and been like, let's go slowly. Like, we're going to use a thinking model and it's going to think for a sec for for quite a few seconds and slow down, be a bit more intentional, answer the questions. And sometimes it's annoying. Sometimes the questions are annoying. Um, but sometimes and like more and more and more the questions are really helpful of being like, "Oh, yes, that's exactly what I meant." Or it'll ask me, you know, he'll ask me a question and I'll be like, "You're way off, dude. And here is actually what I mean." But then that helps me articulate what I actually mean because you're asking me this question that's like way over left field. \>\> Totally. Um, okay. So, so I think we've gone through the interview stuff. Now, show us once it's gotten us sense of who you are, what you're trying to do. um how does it you know we really focus this around short form content so like tweets, LinkedIn posts, emails um uh you know other types of like short form marketing type stuff. How does it um how how do you actually make something with this once it's interviewed you? \>\> So usually when you when you start with it you'll most people will say help me write a LinkedIn tweet expost you know um email blah blah blah. And usually by the time you've answered quite a few of its questions, it will just be like, "Great, I'm ready. Let's start writing." Um, but in this case, I'm just going to say, "Hey, help me write a banger tweet about this, even though I started with saying I'm doing a podcast." Um, and the first thing that it's going to do is reason over all the things that you asked it that you've like replied to it with. Um, and then one of the things
that we learned sort of in the journey of building this is this needed to be a multi- aent system. like having one big model do both the interviewing and the writing just really didn't work. Um, as
we tried to layer on more functionality, it just started to break because of context rot. You know, all of these labs are talking about 1 million context windows, 1 million token context windows, and it's just like that's yes, it can do that, but how well can it actually pay attention to all those tokens? It just clearly isn't there yet. Um, so we have a handoff system where the interviewer gives it to the writer. Um, but actually they share the entire same context window. So it's not a summary of the previous thing. It's not like a tool call where the interviewer is summarizing the conversation to the writer. Um, we're literally taking the previous context window and just write into a new system prompt. Um, oh, sorry, write into a new system context window just being like, "Hey, here's your previous chat." Um, and we do some prompting to make the writer like understand what's happening like, hey, you're coming from the interviewer and that kind of stuff. Um, and so like we just saw here, it did a bunch of thinking. And the first thing that it
did is it spat out three options and we have this UI where you can kind of explore all three right in one go. Um, and it's thought a lot about what we've said. Um, and the reason that we did
this is I think when we first started down this process of creating a new product, I think you were really really interested in the idea of exploring the sort of infinite canvas of possibilities that LLM could give. Um, and this was like something you were really really excited about and like traversing up the tree and then like branching from the tree \>\> the tree thing. Um yeah, like March 2025 was a lot of trees and thinking about trees. Um I actually vividly remember um I think it was like it was like a Thursday or a Friday and I was in our old office in Manhattan and you just like sent me a \[ \_\_ \] tree on Discord. Like it was like here in Brooklyn. It was probably like in Fort Green or something. You just sent me a picture of a tree and I was like this \[ \_\_ \] we were really really interested about this idea. I mean it's like it's true, right? because they can just produce an infinite number of tokens and you can kind of explore all these different ways of of saying the same thing. Um I think what we realized is one from the same context window every single iteration that you ask it for it just degrades in in quality. Um and we even see that still today with Spiral like we're still not there yet with like its writing ability. Um, but there is still something really interesting there about this seeing things from different angles and sort of pruning and being like, you know, or recently I've been saying like chiseling marble. Um, you know, you you start with this like blank slate. Maybe it's not the best analogy because you have these whatever. Um, but you kind of like pick and choose what works and what doesn't work. So, it starts off in this UI, you have three options. Um, you know, and very quickly,
you know, it gives you sort of titles of like what is the the general gist of this version. So this is like an honest realization. This one's more about the failed experiment. And this one is like
questions overdrafts. And you know, I think we spend a lot of time thinking about how do you actually um interact with these three options cuz chat is one thing. You know, I can come in here and I can like, you know, type um but also we kind of want the AI and you to be able to interact with all three of these things. So right now, Spiral can read all three of these things. it has context of what's open. So like if I close one, it knows that there's only two open right now. Um if I like, you know, close all of them, it'll understand that. But also if I make edits, it understands about the manual edits that I've made. The other thing that we can do, um is you can just come over here and you can just highlight things, you know, like I can say, you know, here's a bunch of stuff across all three that I, you know, I don't like these. um remove them and I can still collaborate with spiral across all three drafts. It doesn't have to be one draft at a time. Um and it kind of just like allows me to go and traverse the tree. Um sort of but just three at a time like I don't there's only so many that I can handle mentally. It's also text. I think one of the one of the things that we learned over the last like six, seven months is I think everybody is really used to from tools like Midjourney seeing multiple options when it comes to image generation, but text generation like multiple options is really hard to pass what the hell the differences are. Like you can tell, okay, the middle one here is bigger, but like is it that much better? And so three kind of felt like that perfect um middle ground between showing you multiple options but not overwhelming you. Um, so yeah, that's
how it works. And typically when people, like when I use it, when I've noticed, you know, a lot of our users using it, they sort of start here, they, you know, they'll find one angle and they're like, "Ah, I don't want to go down this angle. I want to go down these two angles."
\>\> I like the first one, the questions is greater than than drafts. I think that's actually um the the the the hook actually got me, \>\> right? And and so like that's typically what happens with people. They use it. They're like, "Ah, that one didn't get me, but that one got me." and they'll like go they'll find bits that they like and they'll bring them over and then you know couple of more conversations back and forth and they'll find something that they're like pretty happy with. Um so yeah, that's that's generally how it works. Like it's we're calling it a writing partner. A big part of that is that it talks to you, has conversations, ask you questions, um then it drafts and it's just like very helpful in drafting uh across three different things. you can um you know I can ask it for hey give me a bunch of options for the hook um and we have this UX where it'll generate a bunch of different options within one specific draft and you can kind of very quickly um change them and switch them out and see what works and what doesn't work. Um and we've like taken a lot of inspiration from cla code. So, it has all these tool calls of like it reads the draft. Um, and then it'll like then make edits. Um, so like I built an arrow, so like I got next, here's another one. Here's another one. I can always go back and see the original. Here's another one. \>\> Oh, interesting. I this I've never even seen this. This is really cool. \>\> Um, yeah, \>\> you're building so fast I can't even keep up. \>\> Um, yeah. And so like there's a lot of
tiny little moments like this that we've added that like help make it sort of useful to do that. Um that's kind of currently where it is like we have you know like we talked about workspaces. We have writing styles which is very much
grounded in what old spiral was. You know you give it a bunch of examples. It tries its best to emulate those that writing style. And again, I think one of the things that I think I found over this experience is that writing is something that is fluid. Um, I think when we first started this experience, one of the things that I did actually was I read this book. Um, I read why I write by George Orwell and this was written uh during the Second World War. When I was reading it, I was like, "This writing kind of sucks. There's some parts of this that I don't like I didn't like." And I think that made me realize how much the like the way that we talk, the way that we communicate changes so much. And so like good writing is so fluid. Um I think that's something that I've had to come to accept. And you know, we're not training our own model. I think we, you know, we kind of like how far can we push frontier models. um and just with prompting and sort of context management and like sort of economics and doing handoffs and that kind of stuff. And there's so much of their training data that is slop. Um and that is something that I think we're we're like it's interesting. I I remember when we first started this, I was going down this very much like rules-based approach. all of my prompting had these like rubrics with scores and I would ask the the writer to like score itself of how well did it write a hook. Um and none of that
worked. Um it was all really like it was all really bad. And I think we decided to move more into like let's allow it to be fluid. Let's allow it to like be
flexible like let's not give it let's not constrain it with these really hard rules. Um and that plus sort of the most recent generation of models sort of claude 4 GBT 5 they unlocked a new like level of capabilities um that just wasn't possible for especially for writing especially for like interviewing well and reasoning over a long context window and yeah \>\> yeah I mean I love all that I think that the thing that's in my head about this is just looking at this and listening to you talk, I'm just like I'm so proud of you. um because where you were 8 months ago is so different and where the product was is so different and you've just taken this thing and completely reinvented it and it's um and in a lot of ways I think you've reinvented the product and I think you've I don't know if you've reinvented yourself necessarily but you've you've certainly pushed yourself in this new direction um to really understand what makes writing great and it's been just awesome to watch and what I I want people to see is where you started. So, could you open up old spiral so we can show them what that looked like so they can get a sense for like how different it it was? \>\> Um, and interestingly, this is not the first version of Spiral. This is \>\> I guess that's true. \>\> Yes. So, the first version of Spiral was AI generated slot by Dan Shepard. No, I'm \>\> It was That's my specialty. At every we run four AI products in-house and we just launched a new one. When we needed to build a beautiful landing page for it, we used Framer. Most design tools lock the good stuff behind a payw wall. Expensive and definitely not fun. Framer is different. Framer already built the fastest way to
publish beautiful productionready websites. And it's now redefining how we design for the web. With the recent launch of design pages, a free canvas-based design tool, Framer is more than just a site builder. From social assets to campaign visuals to vectors and icons all the way to a live site, Framer is where ideas go live from start to finish. Your entire workflow lives in one place. No Figma imports, no messy HTML. Design your end result in Framer and it turns into a working website faster, cleaner, and more efficient. Because Framer is a true design tool that also publishes professional production ready sites, you get features like P3 color spaces, SVG animation, inline editing, and precise scaling. It'll help you stand out as a professional. Ready to design, iterate, and publish all-in-one tool? Start for free at framework.com/design and use the code DAN to get a free month of pro. Rules and restrictions may apply
as always. And now back to the episode. \>\> So, this is the current or the previous version of Spiral. It it got a bit of a facelift when I first joined um about a
year ago or so now. And what it does is you will feed it examples. you would feed it examples of writing that you liked and then you would give it a new input and it would try its best to recreate that examples that you gave it. So, here is one uh rough outlines into punchy short tweets is one of the spirals. And the way that it worked is we just gave it a bunch of these examples of things. Um like look, Japanese population is collap Japan's population is collapsing. Um and what it would do is it take all those examples and it would create like basically a style guide. Um and then you know the prompting was very simple. You would just give it um you know let's take maybe just the prompt for that. Let's see what that does with that. Um, and then it would just like generate three. Um, and there are people who still use this today. I think there is like certain parts of every that still uses this for like summaries and bullet points of things. Um, and this allowed you to very quickly get some options. Um, I think what was interesting to me was that this was a great first start for last year. Um, I think that's why a lot of people kind of gravitated toward this. It was like, "Oh, it's made well." Um, what it what it said that it did, it it definitely did it. Um, but I think we would look at the outputs that came out of this and we're just like, uh, it's not there. And then this paradigm didn't
allow for collaborating. Um, and I, you know, I tried to hack it a bunch of ways. Like I had \>\> collaborating with the AI specifically. \>\> Collaborating with the AI. Exactly. Um, and you know, I tried to add on a bunch of things. You know, a lot of people who
still use this today will like write custom instructions and that's where they will try and like push the AI towards where they're actually trying to go. But then it never really worked. Um, yeah, I think we we saw usage declining and like personally for me, I I never liked the stuff that came out of it and I never found myself going like reaching for it ever for anything. And when I did, it was cuz I was like, I should be if it very much felt like a should. I should be using the product that I'm claiming to to wanting to work on. Um, but as I've learned over, you know, the last couple of years, shoulds are not what I should actually be doing with my life. Um, and yeah, I think it was it was also this like interesting tension of there's people who actually use this thing. There are still people who use this thing today. um which is really cool, but I I just I'm struggling to care and we're not using it. And I think one of the things that has become very apparent for the product studio over the last couple of months is if we're not using it, it just doesn't matter. It doesn't matter if other people are using it. I think, you know, Naveen in Monologue is such a a good example of that. Like he just hammered away for months until he found something that he was really excited about and everybody else was excited about. and then he hammered away until it actually worked. Like I was actually I think out of everybody at every I was the last hold out to use monologue cuz he just wasn't there yet. Um and then and then and then he got me and like and I think that's one of the things that we've learned at the progress studio is like I think if we're super excited about it and the people around us are super excited about it like let's just do it and it's going to be great. Um yeah and
this I just don't I don't think any of us were excited about this anymore. Um \>\> yeah. Yeah. I think there's a couple of lessons in here for me is one of them is yeah like when when I first built the
first version of spiral it was very cool and but things move so fast in AI that because it it stayed with this sort of like text transformation thing as soon as the models got better it needed to be totally different and we just didn't do that basically and and and so that's one thing another thing is Um, it it really underscored for me how important a daily use product is and it made it forced me to think about um, well, how useful is this sort of text transformation for a writer and how often am I going to need to do that? and um and and also how complicated it is to actually produce really good content and how hard it is to do that in a oneshot way and that we needed something like more dynamic. But I think the the biggest thing is um I built the first version of this and then handed it off to you. And this is something that we've seen a lot actually now. We've seen it with you. We've seen it with Yash, who um is building Sparkle, which is something that I built in like 2020. Um and uh there's this process that a GM has to go through if
you're working on something that's not yours to like fully own it because um I think you know seven or eight months ago, whenever that was, you came
to me and you're like, I don't know if I'm the right guy for this. Like I don't know if I should be working on this. Um, and you were just banging your head against the wall being like, "I got to get the MR up." And and um and that sucked to see. And when we dug into it together, it was clear that um you didn't have a vision for it because it didn't feel like yours. \>\> Yeah. \>\> And then that was really demotivating. And for me, I was like, well, I mean, I have a thousand like I can give you a bunch of stuff, but like I don't think that solves the problem because like I'm not the GM. like you have to you have to solve the problem and I can be there to support and help and whatever and um I sort of put it to you is this like what you want to spend your life on like do you want to work on this or do you want to do something else because if you want to do something else one of the one of the lovely things about about what the setup we have at every is you can do something else like you don't it's not like uh the funding runs out and then you know the startup fails it's like okay this didn't work great let's do something else um let's keep experimenting. And I think you went back and thought a lot about do I care about this problem? Do I really want actually want to make great writing or I think what you ca what you came to is the thing that motivates you is the is the great writing bit and the text transformation for marketing was not not that interesting to you. Tell me about that. \>\> I think yeah the journey was really interesting. it, you know, I think it was March. Um, I'd spent January, February, and March just like dragging myself out of bed, just like feeling guilt. And yeah, we had that conversation and I think the thing that I realized was that good writing is downstream of good thinking. And that is a really interesting problem
of everybody is going towards let me just generate a thousand things, make a million blog posts, put out a bunch of tweets, um you know AI generated replies. And it one I just think is like
where do I want to what do I want to do myself? I think I want to be intentional with what I write. I want to be intentional with what I think. I want to be intentional with what I say. And but that doesn't mean that like I have to shun away modern tools. I have to shut away this crazy we've made sand think. I'm not going to say no to that. Um but like how can I use it in a way that it actually helps like yes and me or like you know gives me that you know it's the sum are greater than the equal than its parts or whatever that phrase is you know um and I think that \>\> the whole is greater than the sum of its parts. \>\> That's exactly what I was trying to say. Um you know Dan Shipper steals hats and he steals words out of my mouth. Um, we can cut that. \>\> I think I said that in our Q4 Q4 kickoff. So, who's stealing from who? \>\> That's fair. That's fair. Um, and yeah, I think just like I think there's something really powerful with good writing or like, you know, it's not even about good writing. articulating what you want to say to the world well can do so many things. Um, you know, not to like go all crazy and be like this changes the world, but like good writing, good thinking, good articulating moves mountains. It moves people. It gets people to do crazy things that they think is like impossible. It gets people to, you know, shun the status quo. It gets people to like, you know, do all sorts of things. And I worry about a world where people are like, "Ah, cool. I'll just let Chat GP do all the thinking for me. I'll let Claw do all the thinking for me. It's like no, like it's actually just let's use it intentionally. And I think what that requires is, you know, if you think if you go back to the first podcast that we did, I actually said this where it's like most people aren't good prompters. 99% of people who who are using AI are probably rubbish prompters. Um, and I still think there is this beautiful space for building products where it's like, hey, don't worry about the prompting. um just like use the product well and if the product is designed and prompted well to do the thing that you know I think it should be out in the world which is taking a beat and actually thinking about what you're writing AI can help you do that but I think the models as they are people the path of least resistance is just give me this just right don't make me think um and I don't I don't think we should exist in that world um and I I think deep down people don't want to exist in that world and AI. We don't have to be lit. We don't have to shun away AI to to to still have that world. Um, we can have both. \>\> I totally agree. Um, and I think that is a really natural segue into how are you building this? Um, and what are the things that you're using to make such a
polished product, fully featured product, useful product as one engineer? \>\> Yeah. Um, it's, you know, to your point of the models just change so quickly,
the tooling changes so quickly. Like if I think back to where we were in March when we first started this, I was I was probably bouncing around from cursor to windurf and that was it. And \>\> windfur was the new thing. It was like, wo, this is actually it was the first thing that was a little bit agentic. \>\> Yeah. Yeah. They had their like cascade feature. Um, and Cascade was so different and it was like agentic and it would do all this stuff. And now I'm in my terminal all of the time. Um, I, you know, the one thing I regret is learning how to use Vim because I never use Vim anymore. I'm never like bouncing around a text editor in Vim anymore. Um, shout out to all the people who know how to use Vim. Um, and so now I'm completely inside my terminal. For a very long time, it was all cla code. And as people who know about every, we all love claw code. I think cloud code was that first thing that like kind of got rid of the fluff. You don't need an IDE. You don't need all of this. It's just like text input, give the agent a bunch of tools, which and it's actually not that many tools. It's read and edit. Um, which is like kind of all it did to begin with, and like make to-dos for yourself. I think that's the first three tools that Claude Code probably had. Um, and that's \>\> and use bash, right? \>\> So, four things. Um, and it was amazing. the models itself were really good and then Claude I think I think there was this moment at least this year uh who knows probably by next year it's not going to matter but Claude 4 I think for me feels like such a pivotal moment in this space because I think it just unlocked so much capability in programming writing and like a lot of things um I guess the other thing to say is like that also opened up the space for everybody else to try this so there's so many CLI tools now we AMP OpenAI have their codecs and most recently I've been using factories Droid um and I've
completely fallen in love with Droid and one of the reasons why and we can jump into it and I can share my screen but I think one of the reasons why is that Droid is model agnostic almost they give
you five models to play with. They give you GBC 5 and they give you all the anthropic models and then they most recently have the GLM 4.6 six model. Um the other thing that I think they've done really well is they've really thought about the ergonomics for each model. Um they're clearly prompting it differently. They've really thought about like, okay, we're only going to support this model and how the models interact with each other and the ergonomics work really well where I will literally have the same type of request inside cloud code and another one inside Droid and Droid will just do so much better with the same model. It will this is I'll give you a very concrete example. Um, I had a database migration that completely \[ \_\_ \] up and I was actually in a car going to IKEA to New Jersey. Um, so I was in the car going over the Williamsburg web \>\> New Jersey, not Red Hook \>\> towards my wife is she she she ordered the thing at the wrong place. Um, and so yeah, she's driving this car going over the Williams Bridge. I'm there in the passenger seat just going insane to Claude Code being like, "This database migration is fucked." Um, and then I just took the same thing over, same model. It was Opus 4.1 and it just got it three minutes. I was like, "Oh, here's the issue. Got it." Um, and so they've given it they've done a better job that I think than Claude or the anthropic team have in like giving the model the ergonomics and the tools that it needs. It's like, oh, here are all the tools that I need and here's like I think the right prompting. I don't know what else they're doing, but there's something about it where it's like I feel so much more confident coming to Droid um that I just don't feel in some of the other tools. Um I think the other thing about what your original question was like how did I build this as a single engineer? Um I think also I always get shocked
every time I talk to other people. Um, we at every we're clearly at the edge of how to use these things. Um, I think for a very long time I was the number one user of
Droid. I've been ripping the most tokens and it like surprises me. So like I'm on their max plan and it was October 3rd to October 24th or something like that. I've already run out of tokens. Like I ran out of tokens well before time. Um, \>\> we got to call Ben Tossel and get you uh \>\> get me some more tokens. Yeah. \>\> Um because yeah, I think we're just like ripping them so much and I think going into the deep end there's a lot of people for maybe not now, but like the last time I spoke to people, they weren't they wouldn't use yolo mode. They were afraid of using yolo mode. And I think that's kind of a foregone conclusion for us was like of course you're going to use yolo mode. Why are you going to accept everything that it you're just going to let it do it? Um I think really leaning in. I think letting go of the identity of I'm an engineer and I'm gonna write I'm gonna use Vim and I'm going to write code and blah blah blah. Like letting go of that identity and being like I'm when you really peel back the layer of what I think I am is that I'm somebody who just makes things and I don't really care how I make them. I do I care about like how it's built and like I clearly care about the end product, but I don't care if I have an agent writing the code or if I'm writing the code. As long as it's good code and it does what I want it to do, does it really matter? You know, um \>\> but how do you do that? Because I think a lot of people listening or watching are saying, "Cool, great. But how do you
actually be a craftsman if something else is coding for you? Isn't that all just going to be slop?" So, let me open up my
terminal before before I share my screen. I think it's a philosophy of, you know, you brought this up right at the top of measuring twice and cutting once. And I and I think this is actually the one thing that I've learned from from like trying to build something that writes well, which is also just like looking at something and feeling internally what actually like calls out to me and like does that feel right or does it not feel right? And I think you could just you could do that with with a button. Like does that button feel right or not? Does that spacing on that thing thing feel right? Does the does the not does the code feel right, but does the thing that I expect the thing that Claude just ripped out, does it do it the way that I wanted it to do it? But also further, does it does it add to the piece of the puzzle in the right way? Like LM can skin a cat a million different ways. There are probably only a handful that you actually should be using that are like right or like actually fit the the the way that you want it to do. And so I think a lot of like building this product has been um feeling out like okay when I ask Lord to do something or one of the other models does it actually do it the way that I want to do it. Um so oh if I share my screen um a lot of the ways that I use and and you could do a lot of this in in cloud code as well. Um but a lot of the ways that I use these tools is one I'm always doing multiple things at once. Um, I think waiting around for the model to complete and I think the worst habit that I got into that I had to like uh cut out was scrolling Twitter whilst I waited for an agent to complete. Um, that is a just killer to productivity for me. Um, so and what is it that you do because you do a thing that I actually started to copy for this. What how do you how do you stop yourself from scrolling Twitter? \>\> So word trees is is like the big thing. So \>\> Oh, no. I was saying, um, so what what I've noticed you do is you take your phone and you put it in another room. \>\> Yes. \>\> And so I started putting my phone next to yours. \>\> I know it's confused whose phone is. Yeah. So we we have we have a couple of places in the office where there's just a couple of ledges or we have this beautiful every sign. my like I think to talking about like in intentions is like one of the things that I try to do the moment I walk in is I take my phone out of my pocket and I just place it face down on one of these ledges. Um and I leave it there and I try my best not to look at it. Um and I also I'm always on do not disturb as you can see here in the top right corner. I'm on do not disturb. I have notifications off like I have Apple Watch but like this notifies me about nothing. Um, and I think it's it's really easy to be like, oh, now because of this tooling, I can do the job of three people as one person. And I have seen in myself and in other people that actually what people end up doing is they end up doing the job of one person and then they just procrastinate or they do the other things in their life that they think they want to do. And I I noticed in myself that I wasn't happy doing that. I really am somebody who's allin and then when I'm if I'm working, I'm working. Don't talk to me about anything else. My wife hates that about me. Um, and then if I'm not working, I'm not working. Like I'm trying to be present, intentional. If I'm with somebody, I'm not texting other people at the same time. And that's been really helpful. And I think it was also really important when working with like LLM models cuz like programming before was I would look at the code, I would spend a lot of time, attention reading it, I would read it, I would read it, I'd read it, tests would pass, I would spend a lot of time. And now it's like, no, I'm just going to let it go rip and I'm going to go do something else. Um, and so what I think that's allowed, and it requires being really intentional, is just can I do parallel things? Like, can I just do multiple things at once? Um, and so one of the ways that manifests is I'll in in one terminal tab I'll have like two panes or sometimes I'll have like three panes open. Um, and I'm usually like ripping Droid on like a bunch of different things. Um, so like here, this one I was fixing a bug and like you know in this one I might be actually earlier today Kate gave me some copy edits inside the app. So I had Droid go through and like do those copy edits. But then here in another window I've actually been messing around with some of our judging prompts and I've been using like Python notebooks. So I'm like writing out Python notebooks with Droid. Um I have this other one here. \>\> Obviously the the judging prompts are like uh uh judging whether writing is good. And that's a sort of core component um of making good writing is is getting the AI to recognize if writing is good or not. \>\> And I think to to go on a quick tangent really I think the one thing that we saw about Claude 4 Opus specifically uh back in June or
July or whenever it shipped um it's really good at judging writing and not rubber stamping. I think models before this would you would give it some of its
own writing and it was like yeah my writing is great it's a B+ or you would give it other you know other people's writing or other agents writing and it would always be like a B+ and there was a lot of like you know tricks that people would do like give it a rubric and then tell it that actually a seven out of 10 is impossible forcing it to kind of like actually change it from but then everything would just be a six or like a 5.8. Um, and what we found was that Opus was actually really good at reliably, repeatedly um, giving boolean answers and like good like uh, pros as to why it was saying yes or no for something. So we we have this one test internally where we see if writing is like engaging. Does each sort of sentence keep a reader engaged as you go through? And we found that like Opus was the first Opus 4 was the first model that would like reliably almost every single time would say the same answer and it would say the same answer that we would agree with. Um but then also came over to Sonic 4.5 and somewhat now to HighQ 4.5. Um yeah, and that's like a really important part of the product, but it's also really important for us building this product and for me building this product of like where is it that this needs to get better? Um, and this is actually a feature that we're going to build directly into the product. So like the Spiral can kind of like judge itself using another agent um to see where else it can improve. And this kind of helps us create this like feedback loop of being able to watch how good or bad are the um outputs that come out of it. Also with people just telling Spiral, I don't like this. I think it's really the benefits of having, you know, the one thing that we didn't have from the old product. The old product only had thumbs up and thumbs down and that was really useless. With a chatbased product, people just say I don't like this because and you know we have um we're using something called raindrop which is basically like sentry for AI agents and we just get a report every single day of like this is what people said they liked and this is what people said they didn't like and here's why and I can just see the chat and it surfaces it all up for me. So being able to see how people use the product and just read what they're saying to Spiral is really helpful in improving it. Um, \>\> and and one of one of the interesting tangents that we've been down over the last couple weeks is, and this is one of those things where I only ever read it,
so I don't know if this is actually the right way to say it, but Disp and Jeepa is how I say it in my head. For other people, maybe it's DSpie and Gipa, I don't know. But basically there's this
um there's this prompt optimizer uh disp uh that is sort of like having it's having a moment right now among AI people uh where it will um basically you can give it a prompt and it's and like an objective and it will it will optimize your prompt for that objective and Jeepa is a specific method for doing that that I can't totally explain but it's a new and interesting way of doing it and so one of the experiments that we've tried is giving me a bunch of um tweets and then having me thumbs up and thumbs down them and then give like concrete feedback to see if we can generate a judge that has my taste. Do you want do you want to talk about that and what what we found? What's worked and what hasn't worked? \>\> Yeah. So, we we have a great piece on every with Michael Taylor around Disby. He's actually the one he he came here from the UK um and sat in the office and like actually taught us how he uses it. Does he say Disp? \>\> Uh, I don't know, but I I think it's Disp. I think Disp sounds so much better than DSP. Um, even though I guess like DSP is probably the right way to say it. Um, and yeah, it it is just like kind of when people look at it for a very long time this year, I've been going on their landing page and I'm like, I have no clue what this thing is. and he did a really good job of explaining um and I think we have a video out where he's actually teaching me and Kieran how to use this um where he finds just ignore 80% of what it is and just use it as an optimizer. And when you just use it as an optimizer, it makes so much sense. Um
you don't have to throw away all of your like frameworks that you might be using already in your like app if you're using the AI SDK or whatever. Um just use it as a promptizer, extract the prompt, put it in your product. um because it's very
much built to be this like uh all-encompassing framework, but it's just really confusing. Um I find it to be. But yeah, using as a prompter is great. And what we I think we can actually like look at that um that judge that we created for you. Um, the way that it works is you basically just give it a bunch of uh predefined labels with, you know, generate a tweet about blah, and then we had you literally give it a thumbs up or a thumbs down and then just write out your thoughts. And we would just start with a basic prompt to begin with, see how good did it do. So like the base prompt was about 58.8% accurate to you. Um, and that was just the prompt that I asked Claude to come up with. Um, so like just over half of the time it would say the same thing that you would say. \>\> It's not terrible, but terrible. Yeah. Yeah. \>\> Yeah. Um, but like you know you could flip a coin basically. \>\> That's true. I guess you're totally right. Yeah, it is terrible. \>\> Especially if you know this is just for writing marketing materials, but like 15% like if you're trying to do something important, this is really bad. Um, \>\> yeah. Yeah. Yeah. \>\> And the way that it works is then Ga and I I also can't speak to exactly how it works, but my understanding is is that you you give it like a metric for how it can what it will do is it will generate a new prompt and then it will test that prompt against um your your judges and the data that you've given it and it'll see how close does this new prompt is generated get to the sort of like gold standard which is from you in this example. um and then goes, "Okay, this prompt that I tried wasn't that good, so let me try another prompt." And so the way that I kind of see it is that it's just like trying as many prompts as it can until it finds something that's better. So it really is just sort of like throwing spaghetti on a wall and seeing if it sticks. Um and it, you know, it will rip through tokens a lot. Um you you can basically set it to a max number. So here I have like max five full evals. So it goes through five means it goes through 85 iterations. I don't really know what that means, but whatever. Um, and so like here you can see it's just like like here's one of the prompts it came up with and then it came up with another prompt and you know that prompt was 66.7% accurate. Um, and
so like it keeps going until it gets a little bit better. You know, here's another one that I tried that was 33.3% accurate. So way worse. So the idea \>\> do the inverse of that prompt and it would be \>\> exactly
\>\> um and so like it's just you know it it learns and it try and it learns from trial and error which I think is cool which is when I think about how I was prompting for very subjective things like this um it was just kind of trial and error and I would work with Claude and be like okay the output kind of came out like this but it it it was missing this thing give me a suggestion or you know one of the things that I would do a lot before this and I still do this is I would find other people's prompting guides and I would say to Claude distill down the principles of these prompting guides and then help me and like that's somewhat useful but I think this at least for creating judge prompts has is a bit more it feels a little bit more scientific maybe it's cuz we're in a Python notebook and there's percentages and stuff um but it's also allowed it to be like oh I can very clearly see the before and after um so then finally it spat out this prompt that was 76.5% accurate which which is a lot better than half. Um, again, not perfect, but we're getting closer and closer there. Um, and then it like sort of goes through it and we can actually use it. Um, so maybe what could be fun is if I stop sharing my screen. Um, \>\> wait, wait, wait. Before before you go there, before you go there, I I just want to know what is what is this be Dan? What is in the prompt? Like, give me a couple things that are in the prompt because I I'm just one of the thing that's that's really cool about this is it's telling me stuff about how my brain works that I might not even know. \>\> It's actually very simple. Like if you asked me to write a prompt like this, like write a prompt that emulates Dan's
judging, I would not write something this simple, which I think is kind of counterintuitive. Um, and and this is it's just a simple list of things. Um, and and I don't think this is perfect,
right? And it doesn't work all the time. Um, and like if I was to say, you know, in the in the data set we gave it, it said 76%. I feel like it's probably more like 65% um accurate to what like I I would perceive as actually good content versus bad content. Um so like it definitely still needs some work, but like it's some very simple things like simple concrete specific language, not vague generalities. And I think what's really interesting about this is past generations of prompting would be like really really specific on the prompt of like well what is simple concrete specific language? And it would have like here are like a bunch of examples of what really simple concrete specific language is. Um and what we've seen from doing this process is actually just letting the model breathe and like you know what they're big enough. They have enough parameters. They have enough training there. They clearly know what simple concrete specific language is. Maybe sometimes it's maybe a little too buzzworthy and so there's like stuff that we have to do there. But it we the models have gotten a lot better. Um you know clear promise that gets paid off. you know, I actually think that's a pretty important one if I was to say like the kind of feedback that you've given me is is, you know, a lot of that. Um, relatable, sometimes funny, um, focuses on topics that people care about, the proper tense, one clear idea, but like what is bad content? Uh, it's generic openings that could apply to anything. It's the wrong tense, it's too wordy, breathless tone, um, chop slop, unclear, choppy syntax, telling instead of showing. So there's a lot of like there's like some specifics here like proper tense but it's also principles of like telling instead of showing. Um I think the other thing that's interesting about um the uh this prompt here is like sort of the evaluation approach like how it actually does it starts with a hook. Is the opening sentence surprising counterintuitive or is it generic and could apply to anything? And then next always pull exact quotes from the content to support your points. So this is how it's evaluating. It's assessing the voice looking for specifics. It's checking for a payoff. Um, yeah. I think the thing that's the most surprising to me about this is how simple this actually is. Um, like if I was to with Claude write a prompt that did this, it would probably, you know, this is 112 lines. It probably would have been many more lines of like text and yeah, it's very very interesting. \>\> Well, let's test it. Let's do the newlywood games with Dispan and Dan. Um,
and we'll we'll do like a whole uh you know, we'll do a little like graphic here and uh I'll I'll give a thumbs up or down and we'll see what Dispy Dan says and we'll see if we match. \>\> Okay. I'm going to I'm going to find a
tweet on my timeline and send it to you. \>\> Um I'm going to send it to you and then I'm going to paste it into Disby Dan and and what I want from you, Dan, is a thumbs up or a thumbs down. Um \>\> cool. Do you want any of my like actual feedback? \>\> Yeah, that that could be good, too. Um, \>\> okay. Does it And it does it give it gives feedback, right? Like it gives Yeah. Yeah. So, we should we should match the the thumbs up and thumbs down be the main thing, but we should I'm also curious about my my feedback. \>\> Um, okay. So, the the the tweet you gave me and we'll put it up so people can see it. The tweet you gave me was, "I feel like the VC community is doing a disservice to the startup community ecosystem by constantly organizing all these events, especially on weekdays at 6 p.m. And I never understand how how so many founders are able to make it to these leaving office at 5:30 p.m. makes sense from their POV." Um, this is very thumbs down. Sorry, Flo. Um, okay. So, first thing is um starting a tweet with I feel like um sometimes it it actually really does work because it is um it feels more casual and like something that you didn't edit, but also it it lowers the impact of it. And so if you're using I feel like you want to be pretty intentional about that. Um and because this tweet is
very counter it he's kind of going after people a little bit. I think you got to do it would be better with a full send of you know
the this the VC community is doing way too many events like organizing so many events. Um I think uh oh you know what I was only seeing part part of the tweet. Um okay because I was looking at it in the Discord preview. So it it continues. So I feel like the VC community is doing a disservice of this blah blah blah. I never understood how many so many founders are able to make it to these leaving the office at 5:30 p.m. Makes sense from their POV. They're building a network and effectively running the equivalent of an enterprise sales motion. in the in the end it results in dragging the community. Juu founders dare to say no to 99% of the invites they receive which hurts their business. Um the the thing I like about it is there's something true here. Um and it feels very uh stream of consciousness like he just kind of was in the car on the way to something and was like blah blah blah here like here's what I think. Um, and I think that that's where all the best tweets come from. And there's something interesting about the core idea of it, which is um, if I had to take a little bit further, um, there are certain um, stable equilibriums in ecosystems where um, everybody in the ecosystem doesn't like it, but you end up there. You end up stuck there. So like having so many events is um uh it's one of those things where it's actually not good for anyone because VCs are like I guess I have to put on all these events and I'm wasting money on it and people I guess show up but I don't know if it's really that differentiated and founders are like I wish I could work. Um uh but uh but everyone keeps doing it anyway because they feel like they have to. So I think there that there's a core idea there that's kind of interesting. Um, but I think this would just hit way harder if it was um
I think VCs are actively hurting the startup community by holding so many events. Um, with maybe like one or two more sentences of why that is.
um as it is it's like it's a little wordy and he's also going after um VCs and founders at the same time and it's I think a little bit it feels like um you don't necessarily want to open up a two front war at the same time. Um, uh, so I I give him points for an honest observation that has there's an interesting idea at the core of it, but I think execution on this, it's not done in a way that allows allows me to be like to light up and be like, yeah, you're totally right. I'm kind of like, I don't know, it's too long to read. And I think he's kind of making fun of me, too. Um, instead of like getting me on board with him because I would be down to bash VCs, you know. Um but uh yeah that's that was my feedback. Thumbs thumbs down. \>\> Thumbs down. Do you because you you said that thumbs down with such vigor um when you first has it has it is it is a softer thumbs down or is it still a is it still a really strong thumbs down? \>\> Um \>\> that's me leading a little bit. It's a I think it I think it is softer in the sense that I only read the preview and so it looked like it was it would just cut off like makes sense from the P of view was where it stopped and I was like what even is that? So I'm a little less um less vigorous, but it's still not not a great tweet. \>\> Okay, so this is what Dispan had to say. So he uh gave the tweet a thumbs up. \>\> Whoa. Um but what was interesting was that actually you know you said similar things slightly wordy in places um a clear playoff which is like you know the sorry yeah like clearly it felt like he'd written this himself it felt handwritten not AI generated but disban
felt like it was counterintuitive uh the VC community is doing a disservice to the startup ecosystem sort of like a bold contrarian take um not something so there is
\>\> I think there's clearly still work to do I think disb Dan is really thinking more about like is more what is this saying as opposed to how is it written. So like that is something we have other judges that look at like how are things written. Um so I think one of the things that we found kind of said this earlier having a model do many things doesn't work having it do one thing is good but sometimes that one thing isn't the whole thing. Um, yeah. So, it' be interesting to see adding this into some of the other judges we have, how it would how it act. But also, I think this is going to be one of the things that I've come to accept is that a product like this is going to be always evolving. The um the models are going to change. You know, Sonic 4.6 is going to come out next week or something like that. Um, and \>\> I'm so tired. And I think you know GPT5 was really interesting of to use it you have to prompt differently. Um there was a while where GPT5 was the writing model inside Spiral and the prompt was so different. It had all these XML tags and it was like very and now we've gone back to a a clawed model and it's a much different prompt. Um, and yeah, I think it's there is no I mean I don't ever really think there was ever a thing of like done when it comes to building products, especially software. Um, I think it's
more so evolving because the product itself is non-deterministic. You can put whatever you want in the chat input and whatever else it wants is going to come out. And we want that to be outputs that
we can it's it's actually a really interesting problem because you want it to be outputs you you know if I was making Instagram filters and if I was an engineer at Instagram um I never was just to be clear but if if that's what I was doing and I was coding up a filter um I could be like great this filter is sick and it works for the things that it and like I never have to touch it ever again unless it breaks right but like I don't have to whereas now I'm like I actually can't I would love to say that I could stand by all of the writing that comes out of Spiral, but I can't. I literally cannot do that because it would require an infinite number of me looking at an infinite number of outputs, which is impossible. So, it's a it's a really interesting like shift in building products that um I don't even think I've really fully come to terms with just yet. Um \>\> I think you're right like good writing is alive. like it comes from something that is alive and is honest to a living experience. And so anything that is static, it can be good for a while, but over time it it becomes slop if it's static. And that's something that I think we're starting to grapple with and um has some really interesting implications for the direction of this product over time. \>\> Yeah. Yeah. And I think I think it come has implications for like what the next generation of models look like and like what they're trained on. And you know like a lot of these models you know AISMs I I really
think the AISMs come from two things which is one I think we just get used to them. Um especially I think like us because we're looking at AISMs all the time. Um but then also just like the the amount of nonsense that was written on the internet over the last 15 20 years and just how much of that is in the training data. Um you know in an ideal world anthropic would hire us to like prune the nonsense out of their training data and then train like sonet 4.9 um with with every bespoke um training data. That would be great. Um, Dario, \>\> let's Yeah, if you're listening, \>\> let us know. \>\> Um, Danny, this is fantastic. I actually feel like I learned a lot. Um, uh, like I said, uh, so proud of you and what you built and so excited for, uh, getting this out into the world, getting into people's hands, and and and also for what comes next. Um, where can people find you and where can they find Spiral uh, if they want to give it a shot? So, Spiral, you can go to writing.new is a domain. It's also writewithspiral.com. Um, it's trypiral on Twitter. Uh, you can also follow every everywhere. Uh, and you will find links for it. And I am Danny Aziz 97 everywhere on the internet. \>\> Awesome. \>\> Thank you very much for having me. \>\> Thanks for coming on. \>\> Of course. \>\> Oh my gosh, folks. You absolutely positively have to smash that like button and subscribe to AI and I. Why? Because this show is the epitome of awesomeness. It's like finding a treasure chest in your backyard, but instead of gold, it's filled with pure unadulterated knowledge bombs about chat GPT. Every episode is a roller coaster of emotions, insights, and laughter that will leave you on the edge of your seat, craving for more. It's not just a show. It's a journey into the future with Dan Shipper as the captain of the spaceship. So, do yourself a favor, hit like, smash subscribe, and strap in for the ride of your life. And now, without any further ado, let me just say, Dan, I'm absolutely hopelessly in love with you.
