Draft
Saved on this device as you type
Reddit cuts titles at 300 characters.
Only this description is scored, so make it match what a reader would see.
No reading yet
Write a title and body on the left, then score it. Every run is kept, so you can watch the number move as you rewrite.
The request did not go through
—
—
What is working
Higher is betterWhat could get it buried
Lower is betterHow readers will take it
Top matchesUnderneath
Every version is assembled from your own sentences. This sets how much rearranging is allowed before a version is considered.
Nothing to rewrite yet
Score a draft first. Versions are built from your own sentences and graded against that reading, so there is something to beat.
See exactly what changed
All versions, ranked
No runs saved yet
Every draft you score is kept here on this machine, with its score and the reading behind it. Nothing is uploaded.
You are viewing the hosted demo. A static site cannot call TypeSafe from the browser - the API sends no CORS header - so scoring here runs the small local heuristic described under Offline mode. Download this file and run it locally with a TypeSafe key for the real eight judgements: the bundled server relays the requests and makes them work.
What is actually asked
TypeSafe is a judge, not a writer. One draft goes out with eight independent judgements attached: two labels (how the post reads, what pulls people in), three graded qualities, and three risk checks. Nothing here is one opinion averaged into a number.
The arithmetic
risk = 0.42·promo + 0.25·overpromise + 0.33·mod
score = quality × (1 − 0.55·risk)
if promo > 0.78 or mod > 0.68 → score is capped at 40
Risk multiplies rather than adds. In an earlier version it was an 18% additive term, which meant a post could be flagged as likely to be removed and still score 78, and fixing the removal risk entirely bought about ten points. Now the thing that gets a post deleted is the thing that moves the number.
How versions are built
Since the model cannot write, every version is assembled from your own sentences. A dozen title treatments and ten body treatments are generated, then combined with each other, which is where the volume comes from: around a hundred and twenty complete posts per run.
Titles and bodies are scored separately, in two parallel requests, so all hundred and twenty combinations can be ranked from about seventy judgements rather than seven hundred. The best three are then re-scored in full, against the same eight judgements as your original, so the number you are shown is measured rather than predicted. Three requests, about a hundred posts considered.
How much change
Each version is compared with your draft word by word, and the proportion that differs becomes its change figure, printed on every option. The three settings are thirds of that spread: Light touch is the third that stays closest, Rebalance the middle third, Rewrite hard the third that moves furthest. Thirds rather than fixed percentages, because a fixed cut-off behaves differently on a two-line post than on six paragraphs and can leave a setting with nothing in it. Switching between them re-ranks instantly from scores already in hand, so it costs one confirming request rather than a full rebuild.
What the bands mean
- 78 and up — worth posting as is.
- 62 to 77 — solid, with one signal left on the table.
- 45 to 61 — readable, but nobody has a reason to reply yet.
- Under 45 — the point is not landing, or the post will be pulled.
Offline mode
Offline scoring runs a small local heuristic. No network, no key, no model. It scores every combination directly rather than estimating, so rewrites work offline too. Useful for a feel of the tool, not for a real read.
Shortcuts
Ctrl+Enter— score the draft1to4— switch tab, when not typing
Where things are kept
The server in this file only relays requests to TypeSafe. Your key, your draft and your run history live in this browser's local storage and are never sent anywhere else. Images stay in the page and are never uploaded — only the description you write about them is scored.