Rewrite anything in the voice of a writer you admire.
Paste an email, a memo, a launch post. Get it back the way Paul Graham would have written it: plain words, short sentences, the point up front. Measured against his real essays, not just claimed.
Same facts. Different writer.
Placeholder samples. Real ones come from the first published eval run and replace these automatically.
Indistinguishable is a number, not an adjective.
Every prompt or model change runs a frozen set of 120 inputs through six families of metric. Nothing ships unless all six pass. The current numbers:
Style embedding pending
Jury 2AFC pending
Checklist pending
Meaning preserved pending
AI detection pending
Length and format pending
Contamination caveat: PG's essays are in every pretraining set. The rewrite task (new input text, not continuation) limits regurgitation credit, and claim precision catches fabricated PG positions.
Full methodology and every definition: how we measure.
One voice live. More when they pass.
Paul Graham live
Essays, 1993 to 2024. Holdout essays from 2025 on are never used in prompts or training, so the evals test imitation, not recall.
Serving: prompt v1, model claude-fable-5-1. Voice id pg, X handle @paulg.
More voices coming request
Tell us which writer you'd want, and where to reach you when that voice passes the same gate.
One endpoint. Bring a key.
Free keys, fifty rewrites and twenty thousand words a day. Sign in with Google to mint one, then:
curl https://betterwriting.ai/api/v1/rewrite \
-H "Authorization: Bearer bw_live_..." \
-H "Content-Type: application/json" \
-d '{"voice":"pg","text":"We are excited to announce..."}'Add "stream": true for server-sent events. GET /api/v1/voices lists the roster. Errors come back as {"error","message"} with the usual status codes. Full reference.
Or make your agent write this way.
A Claude Code plugin rewrites every response and every prose file the agent writes, in the voice you pick. No account for the first 15,000 words. Set it up in one line.
claude plugin marketplace add dsiroker/betterwriting-agent && claude plugin install betterwriting@betterwriting-agent /voice pg
Or just tag the bot.
Reply to any tweet with @betterwriting as @paulg. The bot rewrites the tweet you replied to and answers in the thread, one reply per mention.