Features

Six things
a copy tool
owes you.

Every feature exists to remove one specific argument from a design review. Nothing here is a demo of the model.

01 / Screen types

A push is not
a paragraph

Each surface gets its own model, its own field set and its own defaults. Pick the screen you are writing for and the tool stops guessing what shape the answer should be.

Push notification60 char ceiling
Direct41 / 60
Two days left in your streak

Open the app to log today before midnight.

Warm48 / 60
Still here for you

Your streak is safe if you log one thing today.

Specific53 / 60
Water, reading, walk

Three habits are waiting. It takes about a minute.

tone: encouraging / brief
02 / Tone presets

You set the tone.
It stays set.

Register, length and formality are three sliders, not a prompt you have to remember to retype. Save a preset per surface (app, website, email) and every draft in that project comes back on the same footing.

app · encouragingwebsite · directemail · plain
Registerwarm
Lengthbrief
Formalitylow
Never use
oopsseamlessunlockjust
Ceiling 60 characters
Over the line
Unlock your seamless new streak experience today
Fits
Two days left in your streak
03 / Length limits

Nothing comes back
that won’t fit

Give a string a character ceiling and the generator treats it as a hard constraint, not a suggestion. Truncation is caught while the copy is being written, not in a bug filed against a shipped screen.

Per string

Ceilings live on the string, not the project.

Per device

Different ceilings for phone, tablet and web.

Warned

Flagged before the string leaves review.

04 / Variant sets

Three approaches,
not three synonyms

Every set comes back deliberately spread: one direct, one warm, one specific. Keep the one you want, fork it into a new set, or send the whole set out for a vote and let the thread decide.

KeepForkVoteArchive
DirectTwo days left in your streak41/60
WarmStill here for you48/60
SpecificWater, reading, walk53/60
3 votes · warm is ahead
05 / Localisation

German is
always longer

Draft in eleven languages and see the expansion before the build does. Keys, context notes and the ceiling travel with every string into your translation pipeline, so the first pass isn’t a round of questions.

11

languages drafted natively, not translated after

+38%

typical expansion flagged automatically

push.streak.d2ceiling 60
ENTwo days left in your streak
FRDeux jours avant la fin de ta série
DENoch zwei Tage bis zum Ende deiner Serie
DE runs 4 characters over, shorter alternative ready
ESQuedan dos días de tu racha
JA連続記録は残り2日です
06 / Review trail

Every string
has a history

Who wrote it, who changed it, who approved it and when it shipped. Brand and legal are pulled in only on the strings that need them, and nobody has to reconstruct a decision from a comment thread six weeks later.

  1. 14 May 09:12
    Drafted · push.streak.d2

    Three variants generated on the app · encouraging preset.

  2. 14 May 11:40
    Comment · design

    “Warm reads better under the illustration. Can we hold 48 characters?”

  3. 15 May 08:05
    Edited · length ceiling 60 → 48

    Variant regenerated inside the new ceiling.

  4. 15 May 10:22
    Approved and synced to Figma

    Live in build 4.18. Locked against further edits without review.

The three ways teams do this today

Two of them work until the second surface.

Capability
MicroKopy
Generic AI chat
Docs and sheets
Knows what a push notification is
Built in
You describe it each time
In someone's head
Holds a character ceiling
Hard constraint
Suggestion at best
Counted by hand
Keeps tone consistent across surfaces
Saved presets
Re-prompt every session
Style doc, unread
String keys and context attached
Always
None
Column D, maybe
Review and approval trail
Per string
None
Comment threads
Pushes to Figma and the repo
Two-way sync
Copy and paste
Copy and paste

Where the strings go

Two-way where it matters, so approved copy is never retyped.

Figma
Slack
Linear
Notion
GitHub
Lokalise
Braze
REST API

Start with one screen type

Free for one project and 200 strings a month. Add the rest when it earns its place.