Voice and tone
Pulled from real copy already shipping in the app. This is how Jaunt already talks, written down so it stays that way.
In five points
Section titled “In five points”- Factual, never apologetic. Zero uses of “Sorry” anywhere in the app. A failure states what happened (“Failed to add place”) and, where useful, what to do next. It doesn’t say sorry for it.
- The count always comes before the noun. “2 of 5 voted”, “Nudged 3 people”. Never “out of”, never the number tacked on the end.
- Short verbs for doing, short sentences for explaining. Buttons are one or two words (“Add”, “Save”, “Get started”). Guidance and errors are short, plain sentences, never a button-length fragment trying to explain something.
- Warm, not cute. Contractions throughout (“doesn’t”, “couldn’t”, “you’re”), British spelling (“favourite”, “postcode”). One playful exception below. Everything else stays plain and literal on purpose.
- Headings are short and sentence case. One to three words, almost always. The five main nav labels (Where, When, Who, How, Docs & Tix) are the only Title Case-flavoured exceptions.
The one playful label
Section titled “The one playful label”Docs & Tix, not Documents & Tickets.
Buttons
Section titled “Buttons”Present tense at rest. A verb ending in “-ing” plus an ellipsis while working.
Almost always a specific verb, not a generic “OK” or “Confirm”. “Submit” appears exactly once, on the phone verification screen.
| State | Labels |
|---|---|
| Resting | Add · Save · Update · Delete · Get started · Go back · Try again |
| Working | Saving… · Adding… · Joining… · Declining… · Verifying… |
When something goes wrong
Section titled “When something goes wrong”- Failed to nudge
- Failed to add place
- That code looks wrong — try again.
- We couldn’t find an account with that number — try signing up instead.
A full error screen
Section titled “A full error screen”Not every error is a toast. A dead invite link gets its own screen: a heading and a body line stacked, with no em dash joining them.
This Jaunt doesn’t exist It may have been deleted, or the link is wrong.
When something works
Section titled “When something works”- Everyone’s voted
- Nudged 3 people
- Invite link copied
- Message sent — we’ll be in touch
Counting and plurals
Section titled “Counting and plurals”Never a plurals library. Always spelled out by hand, every time a count is shown:
`Nudged ${n} ${n === 1 ? 'person' : 'people'}`The one em dash pattern
Section titled “The one em dash pattern”Short toasts and error banners use the same shape: a plain statement, an em dash, then a short instruction. “Upload failed — please try again.”
Kept for banners and toasts. Not used in headings or button labels.
“Are you sure?” messages
Section titled ““Are you sure?” messages”Nothing in the app builds its own “Are you sure?” box. Every action that can’t be undone, or that leaves the app, uses the phone’s own confirm box, each with its own exact wording:
| Action | Message |
|---|---|
| Removing something | Remove {name}? |
| Opening a link | This will open an external link in a new tab. Continue? |
| Ending voting | End voting now? Members will no longer be able to vote or make changes. |
| Reopening voting | Go back to the voting phase? Members will be able to vote again for Where and When. |
| Removing a travel leg | Remove this leg of the journey? |
| Logging out | Log out of Jaunt on this device? |
| Deleting your account | Delete your account? You’ll be signed out everywhere and won’t be able to log back in with this number. |
| Leaving a jaunt | Leave this jaunt? You’ll lose access to it, and any votes you cast will be removed. |
| Leaving as the owner | Leave this jaunt? You’re the owner, so it’ll be handed to the longest-standing member. You’ll lose access and any votes you cast will be removed. |
| Deleting a jaunt | Delete “{name}”? This removes the jaunt and everything in it — for everyone. It can’t be undone. |
The pattern: a question naming exactly what happens, then what it means for
everyone else. Source: src/web/utils/confirm.ts.
Two things worth deciding
Section titled “Two things worth deciding”- “Jaunt” capitalisation. Used as both the product name (capital J, “This Jaunt doesn’t exist”) and a generic noun for any trip (lowercase, “start a new jaunt”), inconsistently. Worth a house rule either way rather than leaving it to chance.
- “Docs & Tix”. Is it a one-off exception, or the start of a lighter voice for nav labels? Worth deciding on purpose either way, rather than by accident.
Spotted in passing: a placeholder reads “Whats on your mind?”, missing its
apostrophe (how.tsx). It looks like a typo, not a style choice. Worth a quick
copy fix separately.