Content & voice

Settld sounds like a thoughtful friend who happens to be good at math — direct, warm, specific, a little cheeky. Not a bank. Not a startup pitch deck. Every word is a product decision.

Core tone

The voice is warm, specific, and confident — with strong opinions stated plainly. It reads like a thoughtful friend, not a pitch deck.

Warm: we know money between friends is awkward. We don't pretend it isn't.
Specific: "₹4,200 dinner at Farzi Cafe" not "a recent expense."
Confident: "Yes." "Done." "Promise." are full sentences.

Do Two-clause contrast sentences: "Money is awkward. Friendship shouldn't be." Short noun phrases as micro-headlines: "Even the ₹40 chai counts." The em dash — extend a thought, don't interrupt it.
Don't Abstract value words: "seamless," "delightful," "powerful," "intuitive." These say nothing. Replace with what the product does: "Splits land before the bill does."

Casing rules

Sentence case everywhere. No Title Case Headlines. No ALL CAPS except in JetBrains Mono eyebrow labels (which are always mono + uppercase as a typographic treatment, not a writing convention).

Do
Add an expense
Sentence case. The headline is a task, not a title.
Don't
Add An Expense
Title Case. Feels like a menu item, not a product.
Do
Split the bill, not the friendship.
Sentence case even for taglines and hero copy.
Don't
Split The Bill, Not The Friendship.
Title case on taglines reads like a startup slogan.

Indian English and context

Settld is for Indian friend groups. The voice reflects that — not in a forced or performative way, but in specificity: ₹ instead of $, GPay instead of Venmo, Farzi Cafe instead of "your local restaurant."

Write thisNot thisWhy
₹4,200 $58 / "4200 rupees" ₹ is the currency. Always.
GPay kar de na Send payment / Venmo me Hinglish is valid. "Venmo" is not an Indian app.
Aarav, Priya, Rohan, Kabir Alex, Sarah, John Names reflect the actual user base.
Farzi Cafe, Swiggy, Goa Airbnb "your local restaurant" / "a recent trip" Concrete Indian context over vague generality.
UPI, GPay, PhonePe, Paytm, CRED bank transfer / wire transfer UPI is the settle mechanism. Name the apps.
Hinglish in microcopy Hinglish is valid in informal UI moments: toasts, nudge notifications, empty state copy. It's not valid in settings labels, form labels, or error messages — those need to be precise and unambiguous. "GPay kar de na" works as a nudge. "GPay kar de na" does not work as a button label.

Voice patterns

These are the sentence structures that work. Learn the pattern, not the example.

Contrast pair
"Money is awkward. Friendship shouldn't be."
Concrete negation — describe what it isn't
"Looks nothing like a bank statement."
"No ads. Not now, not ever."
Quiet specificity — a habit, a detail, a number
"Knows you always pay for chai."
"Even the ₹40 chai counts."
One-word sentences (used sparingly)
"Yes." "Done." "Promise."
Em dash as thought extension
"Log a ₹4,200 dinner in 5 seconds — Settld remembers how you split."

What not to write

Never write these
  • ❌ "Splitwise paywalled the basics" — never frame in terms of competitor failure
  • ❌ "Free forever" / "₹0 forever" — the model is caps, not locks. Be honest about it.
  • ❌ "No tracking, ever" — a promise we haven't scoped
  • ❌ "Bengaluru-built" or any city-specific identity — pan-India product
  • ❌ "10,000+ users" / "5★ rated" / "trusted by X people" — stat slop
  • ❌ "Seamless," "delightful," "powerful," "intuitive" — abstract value words
  • ❌ "Get the app" / download CTAs — currently pre-launch
  • ❌ "We're not going to Splitwise you. Promise." — this wink is used once, in the footer only. Never repeated.

Emoji rules

Emoji are used sparingly and only as illustration — never decoration.

EmojiUseContext
🍜 ✈︎ ⌂Category glyphs in expense composerOne per expense row, mono-style. Chosen for geometric neutrality.
🇮🇳Footer only"Made with love in India 🇮🇳"
🧑‍🍳Footer status or team creditThe cooking metaphor — "Chefs" column. Used once.
💸 🎉 ⭐ 🚀 ✨Never — feels too startup marketing

ASCII glyphs are preferred over emoji for all other uses: (CTAs), (delta/growth), (success), × (dismiss/close), · (separator), (em dash), (unlimited).

UI label conventions

LabelPreferredAvoid
Primary action button Verb + noun: "Add expense," "Settle up," "Invite friend" Nouns alone: "Expense," "Settings," "Payment"
Cancel / back button "Cancel," "Go back," "← Back" "No," "Close," "Dismiss" (unless it's a modal close)
Confirm destructive action "Remove Aarav from group," "Delete expense" "OK," "Yes," "Confirm" — always name what's being deleted
Form field labels Sentence case nouns: "Amount," "Description," "Who paid" Questions as labels: "How much was it?" / Title case: "Enter Amount"
Placeholder text Example values: "Farzi Cafe dinner," "₹0.00" Instructions: "Enter description here," "Type amount"
Section headings Noun phrases: "Group members," "Recent expenses," "Your balance" Full sentences or questions as headings

Error message patterns

Errors should explain what happened, why it happened if useful, and what the user can do. Never blame the user. Never be vague.

Validation error
Percentages must add up to 100%. You have 88% assigned — add the remaining 12% to someone.
Don't
Invalid split. Please try again.
Network / sync error
Couldn't sync. Your expense was saved locally. We'll retry when you're back online.
Don't
Error: request failed (503). Please check your connection and try again.
Settlement failure
Couldn't open PhonePe. You can try another UPI app, or send the ₹1,400 directly and mark it settled here.
Don't
Payment failed. Please try again.
Cap hit
You've reached the 50-expense limit for this month. Expenses logged so far are safe. ₹99/mo removes the cap.
Don't
Limit reached. Upgrade to Pro to continue.

Empty state copy patterns

Empty states have a title, one sentence of body copy, and an optional action. The title names the state; the body contextualizes it. Never use "No [noun] found." as a title — it's a database error message, not a product moment.

ContextTitleBodyAction
No expenses in a group No expenses yet Split the first one — even the ₹40 chai counts. Add expense →
All balances settled All settled up. Nothing to settle. Enjoy it while it lasts. None — the state is complete
No activity Nothing here yet When expenses are added or settled, you'll see them here. None
No groups No groups yet Start one for the flat, the trip, the WhatsApp group that owes each other money. Create a group →
No search results No matches No expenses matching "{{query}}". Try a different name or amount. Clear search

Confirmation dialog copy

Confirmation dialogs are required for destructive actions (delete expense, remove member). The title is a question. The confirm button names the action. The cancel button is "Cancel," not "No" or "Go back."

Delete expense
Delete "Farzi Cafe dinner"?
This removes the expense and updates all balances. This can't be undone.
[Delete expense]   [Cancel]
Don't
Are you sure?
This action is permanent.
[OK]   [No]
Remove member
Remove Rohan from Goa trip?
Any unsettled balances involving Rohan will need to be resolved first.
[Remove Rohan]   [Cancel]

Rules for confirmation copy:

  • Title is always a question ending with "?"
  • Name the specific thing being deleted/removed, not a generic "this item"
  • The confirm button repeats the verb from the title: "Delete expense," "Remove Rohan"
  • One sentence of consequence: "This can't be undone" or "Balances will update"
  • Cancel is always "Cancel" — never "No," "Nevermind," or "Keep [X]"