Brand Kit

Calm, honest,
built in the dark.

Everything you need to represent STAMNR consistently. Colours, type, the mark, and the rules that protect the voice. The single source of truth is the app's theme file; this page mirrors it.

01 - Colours

Midnight + Jade

Dark only. Elevation comes from layered surfaces and hairline borders, never shadows. One living accent that moves with the user's climb.

Surface ladder

Base ink#090C0A · L0
Charcoal#0B0F0D · icon ground
Card#0E1311 · L1
Card raised#131A17 · L2
Surface high#17201B · sheets

The firmness ramp - the living accent

Base camp
0-33
Climbing
34-50
Steep
51-65
Summit push
66-82
Peak
83-100

The anti-shame colour rule

The low end is a calm steel, never an alarming red. Red exists only for real errors. A rough patch is never painted as an alarm, and gradients are data, never decoration.

Text + utility

Text
#ECF0ED
Muted
#9AA59E
Faint
#5E6B64
Gold
#F2B441
Danger
#E5664E
Hairline
#1B221E

02 - Typography

Two families, two jobs

Outfit speaks. JetBrains Mono measures. The split is the brand; never add a third family and never let one do the other's job.

62% Steep
Outfit Semibold 60 · tabular-nums · a score is always paired with its tier word
The climb is yours alone.
H1 · Outfit Semibold 30 · tracking -0.5
Calm, plain-spoken body copy that says one thing at a time. Short sentences. Second person. No hype, no alarm.
Body · Outfit Regular 15 / 22
Ambient and quiet
Outfit Light 300 · display accents
Today · Sun 20 Jul
Overline · JetBrains Mono 500 · 11 · tracking 2.4 · uppercase
Sleep 7.4h · Training 32m · Synced
Data readout · JetBrains Mono 400 · the signature data voice · labels only, never body copy

03 - The mark

Wordmark + arc

The wordmark is Outfit Medium, all caps, tight tracking. The arc is the accent ramp itself: the app icon's charge sweep. Use exported assets; never recreate, recolor, stretch, or add effects.

STAMNR
Wordmark · tight tracking -1.4 · never letter-spaced wide
The arc · charcoal #0B0F0D ground · icon 1024 PNG, no alpha

04 - Voice

The rules that protect it

Calm, masculine, premium, plain-spoken. These are binding on every surface: app, store, ads, notifications, support.

  1. Never a prediction. The score is a readiness index. It is never worded or readable as an erection prediction, probability, or forecast, and the calculated score always carries its tier word.
  2. Anti-shame, always. Low is the start of the climb, never failure. Bad stretches route to support. No streak-guilt, no scolding, no countdown scarcity.
  3. Discreet on lock screens. Notifications never contain words readable as sexual-health content. Calm nudges only, never a score or tier.
  4. No comparison. No leaderboards, no percentiles, no "other users". The only competition is with your own habits.
  5. Non-medical. Education, never diagnosis or cure claims. Safety surfaces are never paywalled.
  6. No em dashes. A spaced en dash if a dash is needed at all.

05 - Usage

Do / Don't

Do

  • Pull every colour from the theme tokens
  • Keep elevation as layers + hairlines
  • Keep the mono voice uppercase, wide-tracked, short
  • Pair every calculated score with its tier word
  • Render the low end in calm steel
  • Keep display numbers tabular so they never reflow

Don't

  • Hardcode hex values in screens
  • Add a third typeface or raw font weights
  • Use shadows for card elevation
  • Use red for anything but real errors
  • Use gradients as backgrounds
  • Recreate or restyle the mark
  • Resurrect light mode