Better Writing

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.

Your text47 words, 400 max
As Paul Graham
The rewrite streams in here.
Three free rewrites a day. Nothing you type is stored.
Before and after

Same facts. Different writer.

Samples from the published eval run 2026-10-10T18-16-pg-v1-claude-fable-5-1, one per category. Inputs are synthetic or public domain; nothing here was written by a customer.

tweete-031
Input
First post here! Just wanted to say thanks for your patience, we currently have about 140 watches waiting for repair so turnaround is running around 6 to 8 weeks right now, but we are working through them as fast as we can.
As Paul Graham
First post here. Thanks for your patience. We have about 140 watches waiting for repair right now, so turnaround is running 6 to 8 weeks. We're working through them as fast as we can.
memoe-011
Input
To: Carol, Mike, Denise From: Ron Re: Website and the Google question Hi all, I wanted to put down my thoughts before Thursday's meeting about whether we pay Brightline $1,200 a month for their "SEO package." From what I've read, Google mostly ranks pages on whether they actually answer what someone searched for, how many other decent sites link to them, and whether the page loads fast and works on a phone. None of that is magic. I think we should hold off on Brightline for now and have Denise update our product pages and fix the slow load times first, then revisit in March. Thanks, Ron
As Paul Graham
To: Carol, Mike, Denise From: Ron Re: Website and the Google question Hi all, Before Thursday's meeting I want to say where I stand on paying Brightline $1,200 a month for their "SEO package." I don't think we should do it yet. From what I've read, Google ranks pages on 3 things: whether the page actually answers what someone searched for, how many other decent sites link to it, and whether it loads fast and works on a phone. None of that is magic. It's just work. So let's hold off on Brightline for now. Denise can update our product pages and fix the slow load times first. Then we revisit the question in March. Thanks, Ron
bloge-021
Input
I went along to the parish council meeting on Tuesday evening, mostly out of curiosity, and it turned out to be more interesting than I expected. The clerk explained that the council is facing a shortfall of around £14,500 for next year, largely because of the cost of repairing the playing field drainage and a rise in insurance. I think most people there were a bit surprised by the figure. There was some talk of raising the precept or cutting the hanging baskets, but nothing was decided yet. I would encourage anyone who has an opinion to go to the next meeting on 4 November.
As Paul Graham
I went to the parish council meeting on Tuesday evening, mostly out of curiosity. It turned out to be more interesting than I expected. The clerk told us the council is about £14,500 short for next year. Most of that is the cost of repairing the drainage on the playing field, plus a rise in insurance. I think the figure surprised most of the people in the room. There was some talk about raising the precept, and some about cutting the hanging baskets. Nothing was decided. If you have an opinion about any of this, go to the next meeting on 4 November and say so.
emaile-001
Input
Dear Investors, I write to provide our monthly update for the period ending September 30, 2026. Monthly recurring revenue increased to $14,200, representing growth of approximately 11 percent over August. We executed agreements with two additional customers, including Hartwell Logistics, and our churn remained at zero for the third consecutive month. Please note that our cash balance stands at $312,000, which, at our current burn rate, affords us roughly fourteen months of runway. Priya continues to lead product development, and I have assumed responsibility for sales and contracts. Should you have any questions, please do not hesitate to contact me. Kind regards, Daniel Morrow Co-Founder, Ledgerline
As Paul Graham
Dear Investors, Here's our update for September. MRR is now $14,200, up about 11% from August. We signed 2 new customers, one of them Hartwell Logistics, and we lost no one. That's the third month in a row with zero churn. We have $312,000 in the bank. At our current burn rate that's roughly 14 months of runway. Priya is still running product. I've taken over sales and contracts. If you have any questions, ask me. Kind regards, Daniel Morrow Co-Founder, Ledgerline
essaye-051
Input
So I've been thinking lately about the battery in my old looper pedal, which used to last a whole three hour gig and now kind of gives up around the second set. I looked into it a bit and basically every time you charge and drain a lithium battery, a little bit of the lithium gets stuck where it can't move back and forth anymore, so there's just less of it doing the work. Heat makes it worse, and I definitely left that pedal in a hot van all summer. Anyway it's still going, just slower, which honestly feels kind of relatable.
As Paul Graham
The battery in my old looper pedal used to last a whole 3 hour gig. Now it gives up somewhere in the second set. I've been thinking about why. I looked into it, and the answer is that every time you charge and drain a lithium battery, a little of the lithium gets stuck somewhere it can't move back and forth anymore. So there's just less of it doing the work. Heat makes it worse. And I definitely left that pedal in a hot van all summer. It's still going, though. Just slower. Which I find kind of relatable.
announcemente-061
Input
Excited to share some news with our community! As many of you know, the Maple Street Community Pool will be closing on June 2 for some much needed repairs, including a new filtration system and resurfacing the main lap pool. The city expects the work to take about 10 weeks, so we are hoping to reopen by mid August! I know this is a big change for our summer swim families, but the Parent Volunteer Committee is already working on alternatives with the Eastside Rec Center. Stay tuned for more details soon! Thank you all for your patience and support, it really means a lot!
As Paul Graham
Some news for everyone: the Maple Street Community Pool closes on June 2 for repairs it badly needs. The pool is getting a new filtration system, and the main lap pool is being resurfaced. The city says the work should take about 10 weeks, which means we're hoping to be open again by mid August. For the summer swim families, I know this is a big change. But the Parent Volunteer Committee is already working with the Eastside Rec Center on alternatives, and we'll send out details as soon as we have them. Thank you for your patience and support. It really does mean a lot.
Evals

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:

failRun 2026-10-10T18-16-pg-v1-claude-fable-5-1: pg prompt v1, claude-fable-5-1, n=120. Failed: style, jury_2afc, checklist, detector. Jury: gpt-6-sol, gpt-oss:120b, claude-opus-5-5.

Style embedding fail

-0.04position
47% above floor
Pass: median position >= 0.5 and >= 90% of rewrites above the cross-author floor

Jury 2AFC fail

78%jury accuracy
95% CI 74% to 80%, n=58
Pass: mean jury accuracy <= 0.60 (chance is 0.50); never a single judge

Checklist fail

7.3of 10
Pass: mean >= 8.0 of 10 items

Meaning preserved pass

0.85NLI
recall 99%, precision 98%
Pass: NLI >= 0.80, claim recall >= 0.90, claim precision >= 0.90

AI detection fail

3%scored human
detector: pangram, n=116
Pass: >= 95% of rewrites scored human

Length and format pass

100%within band
mean ratio 0.94
Pass: >= 90% within 25% of input length, 100% format clean

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.

Voices

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.

API

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.

Coding agents

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
On X

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.