Independent audit · Designing for AI · Sudowrite
One character used 84% of Sudowrite’s free trial.
An unsolicited audit of an AI writing app’s first session. It includes 21 findings with evidence, three recommended fixes, a credit-by-credit account of the trial, and a coded prototype of the first fix.
Unsolicited audit, October 2026. I have no relationship with Sudowrite. The company didn’t commission or endorse this audit, and every concept, including the coded prototype, is my proposal, not Sudowrite’s current UI.
Summary
Sudowrite is an AI writing app built around a Story Bible, where you describe your world and characters and it writes from them. I tested it with a story I know cold, a Dallas b-boy crew the week before a battle, and narrated two screen recordings as I went. The writing held up. It got Deep Ellum, toprock and flares right.
Every generate button spends credits. None of them says how many.
My first character used 8,433 of the trial’s 10,000 credits, and I found my balance four and a half minutes after I went looking, in the settings gear. A second character cost 3,048, about a third as much for the same kind of output, and nothing on screen said why. Then a set of openings showed an error, a retry finished out of sight, and I clicked again and paid for a second set. The trial ran out four generations in, before an outline or a chapter.
Quick win 1
Make a running generation impossible to miss
“Generate 3 Openings” looks the same before, during and after a run, and a retry can finish out of sight. Hold a busy state, ask before a second paid run, and say what each run cost.
Quick win 2
Show trial writers the meter Sudowrite already built
A per-run ledger, a credits pop-up and a footer balance all ship today, and trial writers see none of them by default. Turn them on and say it the same way everywhere.
Strategic
Show the run’s plan before the click
What a run read and which model ran appear only after it finishes. Show them first, with an estimate the writer can change. It’s a step toward the “more agentic future” Sudowrite describes.
My role & method
One writer,
two recordings.
This was self-initiated, with no brief and no access beyond a new free-trial account. On October 14, 2026, I narrated two screen recordings in Chrome on Windows, using test material written in advance, including a premise, characters and a five-term glossary (cypher, freeze, windmill, toprock, callout). A world I know this well doubles as a test, because generic AI gets its vocabulary wrong. Each finding cites a timestamp in one of the recordings.
- Recordings: homepage to Story Bible (10:22), and Story Bible to zero credits (30:12)
- Scope: the first run, one core flow from the Story Bible to generated prose, and one conversion surface, credits and upgrade
- Severity: High risks the first session or user trust, Medium costs time or clarity, and Low is polish
- Deliverables: an 8-page report, 21 findings, seven concept states, and a coded prototype of the first fix
Costs come from my account’s own activity ledger, from one run, not averages. Sudowrite’s docs say cost follows words read, words written and the model, so another story would cost differently. The pattern is the finding, not the exact figure.
First run: 7 findings, 3 Medium, 4 Low. Story Bible and generation: 6 findings, 2 Medium, 4 Low. Credits and conversion: 8 findings, 3 High, 3 Medium, 2 Low.
The trial, by the credit
Where the trial’s credits went.
Settings › Show Recent Activity lists every run. Four generations used the 10,000-credit trial plus 6,481 grace credits, and chat cost nothing, as Sudowrite’s docs say. The first character took 84% of the trial by itself.
- Chat: brainstorm and messagesboth recordings0 credits
- Generate Character: Deon Webb9:49–10:488,433 credits, 84% of the trial
- Surprise Me: a second “Deon Webb”15:35–15:543,048 credits
- Grace credits, after the overdraft16:536,481 credits added
- Generate 3 Openings: an error21:41–21:470 credits
- A retry, finished out of sightby 22:333,945 credits
- Generate 3 Openings, again23:01–23:43at least 1,055 credits, since the counter stops at zero and hides the true cost
Both quick wins aim here. The first asks before a second paid set like the last one, and the second shows each run’s cost when it lands.
Recommendations
Two quick wins and one bigger bet.
Make a running generation impossible to miss
“Generate 3 Openings” never changes state. There’s no spinner and no disabled look, and the label stays the same before, during and after a run. The run reports only in History, as a card that says “Write” and nothing else. My first set showed an error and cost nothing. A retry, most likely from the error card’s link, then finished out of sight and took 3,945 credits. Thinking it had failed, I clicked again, and that run took my last 1,055.
“Because I pressed the button multiple times, it created multiple sets of three openings. I thought it just wasn’t working.”
My narration, recording 2, 24:59
What to change
- Hold a busy state. While a run is in flight, the button reads “Generating 3 openings…” with progress.
- Ask before a second paid run. A second click asks “Start another set?” instead of quietly starting one.
- Report in History. “Working…” on the History card, the way Chat does it, and a dot on the History tab when you’re on Chat.
- Say when it’s done, and what it cost. When a run finishes out of sight, show “3 openings ready · 3,945 credits · View.”
- Be clear about money after an error. Say whether anything was charged, and give retry its own button.
- Name rows after buttons. The activity ledger says “Generate 3 Openings,” not “Write (Auto).”
Chat already has the pattern, with “Working…” and a stop button. This brings the editor’s generate buttons up to it. It’s state, not new screens.
To find out if it works, I’d measure second runs started within two minutes of the first, and credits spent per opening inserted.
Show trial writers the meter Sudowrite already built
No generate control shows a cost, from “Go!” on Generate Character to Surprise Me, Generate 3 Openings and a field’s “Generate…”. The balance lives in one place, the settings gear’s popover, and for most of my search the gear was scrolled out of view. By the time I found it, my first character had cost 8,433 of 10,000. Every part of the fix already ships, including a per-run ledger, a “Show credits pop-up” switch that starts off, and a footer balance that first appears once you’ve run out.
“You only used the first 5,000 credits for the free trial?”
My narration, recording 2, 22:27, after grace credits topped me up to exactly 5,000
What to change
- Turn the pop-up on for trials. Switch “Show credits pop-up” on for trial accounts, so each run reports its cost once, when it finishes.
- Show the balance from minute one. The footer line that appears at zero belongs there from the first minute.
- Use one sentence everywhere. “1,055 of 10,000 trial credits left,” in the gear, the footer and the ledger.
- Explain grace credits when they land. “That run used 3,048 credits, more than you had. We added 6,481 so you have 5,000 to finish with.”
The pop-up, the footer line and the ledger already ship, so the change looks like mostly defaults and copy.
To find out if it works, I’d measure trial writers who reach a first chapter, trial-to-paid, and credit questions to support.
Show the run’s plan before the click
Every finished set of openings says what it read and which model ran, with “Looked at: Michael · Deon Webb · Jeff Park” and “Model: Excellent.” Nothing before the click says either, and no model picker appeared in either session. Sudowrite’s docs say cost follows words read, words written and the model, so a writer can’t predict what a run will cost without seeing those inputs. And the Story Bible the app keeps asking you to fill in is part of what a run reads.
The proposal
- A plan line on every generate action. “Reading: Michael, Deon Webb, Jeff Park, Braindump · Model: Excellent · about 4,000 credits,” before it runs.
- Let the writer change it. Each item it reads is a chip they can switch off, the model is a menu, and the estimate updates as they go.
- Ask when a run is big. When a run would use more than about a quarter of what’s left, the plan opens and asks first.
One more line between the writer and the result, and some writers will generate less. The bet is that writers who can see and trim a run waste fewer credits on runs they discard, and trust Sudowrite with bigger runs, like an outline or a chapter, sooner.
To find out, I’d measure credits spent per word kept, the share of generations inserted or kept, repeat runs within two minutes, time from Story Bible to first chapter, and trial-to-paid.
Also from the session
What held up, and what I couldn’t test.
I also checked the session against Sudowrite’s own claims, not just its screens.
1 Test the claims
Sudowrite describes AI as “a phenomenal collaborator, not a destroyer of worlds,” so I tested that and two other claims. The collaborator claim held up. The openings used Deep Ellum, Denton, toprock and my old gymnastics coach. Long-story consistency held only in part, since Surprise Me reused an existing character’s name and renaming him didn’t touch his traits. “Muse avoids clichés” couldn’t be tested as stated, because I never got to choose a model, and results only said “Model: Excellent.”
2 Name what’s working
The report lists five patterns worth keeping as the flow changes. Among them are openings that got the place, the vocabulary and the people right (“some kid from Denton had called out the whole crew on Instagram”), a generated character with a point of view, a quick, clear Chat with “Working…” and a stop button, and nothing lost at zero, since Insert still worked with no credits left.
The deliverable
The full report runs 8 pages, covering the summary, a credit-by-credit account of the trial, both quick wins with today’s screens and the concepts, the strategic observation, and all 21 findings with their evidence.
There’s no outcome metric on this page, on purpose. The audit was unsolicited, and I can’t speak to what Sudowrite does with it. What I can show is the evidence, and the report cites all of it.
What I’d do differently
I’d budget for a month of the paid plan before starting. The trial ran out before an outline or a chapter, so the tests that matter most to a novelist never happened, like whether my hand edits survive a rewrite and whether I can steer a run before it writes. The trial wall became the finding, but I’d still rather have tested the chapter.


