Website copy packs are live

Copy that
ships with
the screen.

Push notifications, CTAs, error states, onboarding, written for your app and website screens, inside the character count your layout can actually hold.

200 free strings / moNo cardSOC 2 Type II
9:41
Thursday 14 May
Habit · now
Two days left in your streak

Open the app to log today before midnight.

Habit · now
Still here for you

Your streak is safe if you log one thing today.

Habit · now
Water, reading, walk

Three habits are waiting. It takes about a minute.

tone: encouraging / brief
NorthbeamstacklinePARALLELFernwehKettle&CoHOLLOWAYtideline
faster from empty layer to approved string
11
languages drafted, with expansion warnings
0
strings ever used to train a shared model

Set up once,
in an afternoon

No migration. One screen type is a fine place to start.

01Set the tone

Start from a preset or move the sliders. Register, length and formality are yours to set per surface.

Registerwarm
Lengthbrief
Formalitylow
02Generate in context

Pick the screen type, set a ceiling, describe the moment. Three drafts, three approaches.

pushemptyerror
max 60 ch
03Ship with the design

Strings land in Figma, the repo or your translation tool, carrying screen, owner and history.

onboarding.step2.ctasynced
push.streak.d2synced
error.sync.offlinein review
Live demo

Pick a screen.
Read the drafts.

Running on the encouraging / brief preset for a habit-tracking app. Click through the screen types.

Direct41 / 60
Two days left in your streak

Open the app to log today before midnight.

keepfork
Warm48 / 60
Still here for you

Your streak is safe if you log one thing today.

keepfork
Specific53 / 60
Water, reading, walk

Three habits are waiting. It takes about a minute.

keepfork

Constraints live
with the string

Not in a spreadsheet beside it, not in a comment thread, not in someone’s head.

Length constraints that hold

Give a string a ceiling and every draft respects it. Translations that will outgrow the box get flagged before they reach the build.

Tone presets

Warm, direct, plain. Set one per surface and every draft in that project follows it.

app · encouraging
website · direct
email · plain
Screen-type models

A push and an empty state are different jobs, so they get different prompts.

Variant sets

Three approaches, not three synonyms. Keep one, fork it, or send the set out for a vote.

Review and approval

Comment, request changes, approve. Brand and legal see only what needs their eyes.

2 approvals, 1 pending

Whoever is holding
the copy today

By role
UX writer

Stop being the bottleneck on twelve squads. Hand over the profile, review the output.

Product designer

Fill the layer with real words before critique, at the length the layout allows.

Product manager

Write the notification sequence without inventing a new tone by accident.

Localisation lead

Receive strings with context attached, so the first pass isn't a round of questions.

“The drafts are good enough that arguing about them is finally the interesting part of the review.”
Content design lead, series-B fintech

We cut the copy round out of every handoff. Designers arrive with words that fit the box.

Head of design, mobile marketplace

Two writers now cover what four could not, and the tone is more consistent than before.

VP Product, health app

Simple, honest pricing

Billed monthly, per workspace
Free

Try it out, no credit card required.

10 gens / month · 1 project · max 8 pages · 4 copy types
Start free
Hobby
Most popular
/mo

For solo founders and indie makers.

  • 150 gens / month
  • 3 projects
  • All copy types
  • Brand voice profile
  • Download JSON / CSV / TXT
  • Copy library (500 items)
Get Hobby

Pay with PayPal · all major cards

Team
/mo

For product teams that ship fast.

  • 600 gens / month
  • 10 projects
  • All copy types
  • Brand voice profile
  • Download all formats
  • Unlimited library
  • Team invites (3 seats)
  • API access
Get Team

Where the strings go

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

Figma
Slack
Linear
Notion
GitHub
Lokalise
Braze
REST API

Questions we get

Does it sound like a machine?

You set the tone, the length and the words to avoid, then edit any draft in place. The controls are the constraint, not a black box.

Who owns the output?

You do. We don't train shared models on your strings, and your drafts stay in your workspace.

Can it write in other languages?

Eleven, and it flags where a translation will outgrow the space the design gives it.

Do we have to move our copy in?

No. Start with one screen type, leave the rest where it lives, and import when it's worth it.

Write the words before the review