DailyMe · Brand Book v1.1

How we look.
How we speak.
How we behave.

Apple Fitness/Health as the reference. Every screen follows the same rules. A brand is not only how a mark looks — it's how it behaves, communicates, and builds experiences.

/ 01 — STRATEGY

Brand strategy

A brand book is not only about how a mark looks — but how it behaves, communicates, and builds experiences. This is the foundation everything else stands on.

Vision
A health OS that makes consistency feel inevitable. Not "another fitness app" — a daily companion that knows your day and adapts.
Mission
Increase adherence and "chce mi się ćwiczyć" (the desire to train) through behavior-science-backed nudges, not gamification.
Personality
Quiet expert. Tells you what matters and gets out of the way. Never nags. Never shames. Trusts your judgment.
Promise
Signal, not command. Coach surfaces "today's energy budget" but never blocks your action. You decide. Always.

Brand attributes

01
Calm
No flashing notifications. No streak loss anxiety. Empty squares = "tomorrow's opportunity", not yesterday's failure.
02
Specific
"Sleep 7h+" not "improve sleep". "Push-ups · 60s · 28 reps" not "good session". Numbers ground meaning.
03
Behavioral
Every nudge anchored to behavior science: Atomic Habits chain, Fogg Tiny Habits, Locke goal-setting, Helms volume landmarks.
04
Trustworthy
Coach earns trust by self-aware suggestions. AMRAP banner hidden when energy=light. Won't push PR attempts on low-energy day.
/ 02 — VOICE

Voice & messaging

One voice across all surfaces. iOS UI labels in English. Chat with author may be Polish — but every published string follows the rules below.

Voice principles

DO
"Today: Push-ups · 60s — fresh start"
Specific, named, action-ready.
DON'T
"Let's crush it today! 💪"
Hype, emoji, generic.
DO
"Energy tight today — even 1 set counts."
Acknowledges state, lowers bar.
DON'T
"Don't give up! You can do this!"
Cheerleader tone, ignores reality.
DO
"1 more day = 7-day streak!"
Concrete proximity, factual.
DON'T
"You're so close! Keep going!"
Vague, motivational fluff.
DO
"Last week was off. Fresh start now."
Compassionate restart, Clear's "never miss twice".
DON'T
"You missed 3 days. Streak broken."
Loss framing, judgmental.

Vocabulary anchors

Capacity test not "max effort"
Energy budget not "training readiness score"
Park bench not "deload week"
Don't break the chain not "habit tracker"
Goal trajectory not "progress"
Fresh start not "restart"
/ 04 — COLOR

Color tokens

Semantic — colors mean specific things. Never repurpose. Every metric has its own ring color, every state has its own accent.

Semantic ring colors

appleMove
#FF2D55
Calories / kcal / energy
appleExercise
#9FFF00
Protein / exercise / done state
appleStand
#00D8F0
Stand / cyan / "down" phase
appleHR
#FF3B30
Heart rate / over-goal alert / risk
appleDistance
#5AC8FA
Sleep / distance / cool data
appleSteps
#AF52DE
Steps / activity volume

System accents

.yellow
system
Fat macro
.orange
system
Carbs macro / rest countdown
.purple
#AF52DE
Mobility / Coach / meta-cognition
.indigo
#5856D6
Coach digests / reflective copy
Text opacity ladder. White = primary. .white.opacity(0.55) = secondary. .white.opacity(0.35) = tertiary/separators. Use only these three levels.
/ 05 — SURFACE

Surface hierarchy

Three semantic surface tokens. Always prefer tokens over raw Color(white: X). New ad-hoc gray surfaces require a justification comment.

appleSurface
Card base · 0.10 white
appleSurfaceRaised
Inset sub-surface · 0.13 white
appleSurfaceChip
Icon bg / slider inactive · 0.18 white

Surface rules

  • NEVER use gradient backgrounds for cards. Surface tokens only.
  • NEVER use color shadows / glow halos (flat Apple Fitness style).
  • Liquid Glass .appleGlassFloater(in: shape, tint:) ONLY for floating elements (HUD, tab bar, toolbar pills).
  • Card corner radius: 18pt. Inset sub-surfaces: 14pt. Chips: full Capsule.
/ 06 — TYPE

Typography scale

System fonts — .rounded design for hero numbers, default for everything else. Hero numbers always .monospacedDigit().

Hero metric
size 30 · heavy · rounded · monospacedDigit
1,743
Card title
.headline · semibold
Today's energy budget
Row title
.subheadline · semibold
Push-ups · 60s
Section label
.caption2 · heavy · UPPERCASE · tracking 0.8
DINNER · SET 1/3 · TIME
Body / instructions
.body (15pt regular)
Sit on hips, extend leg back. Hold 30s per side.
/ 07 — COMPONENTS

Component patterns

Reusable atoms — capsule chips, cards, hero stats. One pattern per intent.

Capsule pills (chips)

Pattern: tint.opacity(0.18) fill + tint.opacity(0.30) 0.5pt stroke.

Calories Protein Recovery Sleep Steps Done set

Card example

Calories
1,743
/ 2,126 kcal
/ 08 — IMAGERY

Imagery & iconography

DailyMe uses zero photography. All visuals = data viz + SF Symbols. This is a deliberate choice — photos date, abstract data viz scales forever.

Iconography

Activity rings
Move / Exercise / Stand / Steps. Same orbital reading as Apple Fitness.
Chain dots
14-day habit chain. Filled = hit, outline = miss. Today = thicker stroke.
Sparklines
Bar (steps trend) or line+area (wellness 14d). 22–36pt tall.
●●●
Tri-ring cells
Calendar day cells. Stacked rings = kcal/protein/workout-hit.

SF Symbols (whitelist)

Use these system icons consistently. New symbol = needs justification.

figure.strengthtraining.traditional
figure.walk · figure.cooldown
bicycle
bed.double.fill
fork.knife · cup.and.saucer.fill
leaf.fill · target · sparkles
bolt.heart.fill · heart.fill
flame.fill · stopwatch.fill
ellipsis.message.fill · bubble.left.fill
moon.zzz · moon.stars.fill
person.fill.checkmark
checkmark.circle.fill · xmark.circle.fill
/ 09 — RULES

Hard rules

Things that NEVER change. Breaking a hard rule needs a code-review-grade justification.

Visual

  • NEVER use emoji in UI labels (only system SF Symbols).
  • NEVER use color shadows / glow halos on text or cards.
  • NEVER use radial gradients for decorative purpose.
  • All hero numbers use .monospacedDigit().
  • Section labels always UPPERCASE with tracking 0.4-0.8.

Behavioral

  • All user-facing strings in English (chat with Claude PL OK).
  • Streaks are weekly, not daily (memory rule).
  • Signal not command — coach surfaces "today's energy budget", never blocks user action.
  • Positive-only streak language — no shame framing, empty squares = "tomorrow's opportunity".
  • Sim/Catalyst NEVER writes to prod data — read-only for testing.