Fifths
Brand Kit · v1

Everything you need to ship the app. Logos, icons, favicons and color tokens — generated from the prototype.

Primary logo

Coral wave + display serif wordmark. Use horizontal by default.

horizontal light
Horizontal / Lightlogo-horizontal-light.png
horizontal dark
Horizontal / Darklogo-horizontal-dark.png

Stacked & wordmark

Stacked for square placements; wordmark alone when the mark is already in context.

stacked light
Stacked / Light
stacked dark
Stacked / Dark
wordmark light
Wordmark / Light
wordmark dark
Wordmark / Dark

Monochrome

For single-ink contexts — print, embossing, UI accents.

mono ink
Mono / Ink on paper
mono paper
Mono / Paper on ink

App icon

iOS 1024, Android Play Store 512, and on-device preview.

iOS icon
iOS · Light1024 × 1024
iOS dark icon
iOS · Dark1024 × 1024
iOS tinted
iOS · Tinted1024 × 1024
Android
Android · Play Store512 × 512
adaptive bgadaptive fg
Android · Adaptivefg + bg
android mono
Android · Themedmonochrome fg

On device

How the icon sits beside stock apps on the home screen.

Fifths
Messages
Mail
Camera
Fifths
Phone
Music
Notes

Favicons

Pre-sized PNGs for the browser tab, mobile home-screen, and social embeds.

16
32
48
64
128
180 (apple-touch)
192 (android)
256

Color

Coral leads; ink and paper ground it; four accents for categories.

Paper
Background
#fff8ef
Ink
Primary text
#2a1d3a
Coral
Accent
#ff8a6b
Mint
Category
#b6e5cd
Lavender
Category
#c8b8ff
Butter
Category
#ffd768
Sky
Category
#a8d5ff
Paper 2
Surface
#fef1dd

Typography

A high-contrast serif for display & headlines. A clean sans for UI & body.

Display · 600–700

Practice in fifths.

UI · 400–600

Three minutes a day. That's all it takes to build an ear.

Spacing & shape

A loose 4pt scale, four radii, three elevations. Enough rhythm to feel composed without rigidity.

Spacing scale

Most layout uses 8 / 12 / 16 / 22 for gaps and 36 / 48 for section breathing room. Screen side padding on phone is 22px.

4
xxs
8
xs · icon gap
12
sm · inline
16
md · card pad
22
lg · screen pad
36
xl · section
48
2xl · page

Radii

Chips & buttons are fully pill-shaped (--r-full). Cards use --r-md (18). Never mix sharp corners into the UI.

sm
10px · inputs
md
18px · cards
lg
26px · sheets
xl
34px · hero
full
pill

Elevation

Shadows are warm-purple, not neutral black. Never stack shadows on dark mode — use hairlines instead.

sh-smchips, ghost cards, bottom-tabs
sh-mdfloating primary buttons, headers
sh-lgmodals, sheets, paywall hero

Offset shadow (cartoon)

Path nodes and unit banners use a hard offset shadow — a solid 3–6px vertical slab of the darker ink tone behind the element. It's what gives the UI its playful "sticker" feel.

Do–Re
P5 intro
UNIT · Diatonic

Components

Building blocks used everywhere. Every interactive element is a "Bean" — pill-shaped, color-toned, confident.

Bean · button tones

Primary action is coral. Secondary is ink. Categorical tones (mint/lav/butter/sky) tie to curriculum segments. Soft is the neutral; ghost for tertiary actions.

Sizes

radius = height / 2 · border 1.5px · translateY(-1px) on hover

ColorPill · categorical chip

Tiny uppercase label chip. Used for accuracy scores, category tags, status. Background uses the soft tint; text uses the ink.

mint coral lavender butter · 87% sky ink

Music notation · the chip family

Five consistent chip shapes for the five ways we refer to music in the UI. Same 48px height, same 17px radius, same display-font weight — the system reads even when the label changes. Color carries function, not identity.

01 · Notespitch · scale roots
C
D
E
F
G
A
B
02 · Scale degreeskey-relative · 1–7
1
2
3
3
4
4
5
6
7
03 · Roman numeralsfunction · harmony
I
ii
iii
IV
V7
vi
vii°
04 · Intervalsdistance · quality
m2
M3
P4
TT
P5
M6
m7
P8
05 · Chordsroot · quality · ext
C
Dm
Em
Fmaj7
G7
Am
B°

System rules. Accidentals (♭, ♯, °) always use the proper glyph — never plain b/# in copy. Roman numerals: upper-case = major, lower-case = minor, ° = diminished, 7 = dominant. Intervals: P = perfect, M = major, m = minor, TT = tritone. Chord formula: root + quality + extension with no spaces — e.g. Cmaj7, Dm, G7, F♯m7♭5. Row 05 shows the full diatonic set in C major.

Top header · lockup + bean

The only fixed chrome on most screens. Brand mark + wordmark at 17–20px, ink-on-paper. Right side: a ghost bean for secondary actions, a coral bean for the single primary CTA.

Fifths

Bottom nav · 3 destinations

Glass over paper. One destination is always active; the active tab takes its own tone — coral for Path, lav for Stats, mint for Settings. Never more than three.

path
stats
settings
Path · active
path
stats
settings
Stats · active
path
stats
settings
Settings · active

Card

The workhorse container. White on paper, 1px hairline, 18px radius, 20–28px internal padding.

interval
Perfect fifth
Stable, open — the backbone of tonal music.
session summary
87%
14 of 16 correct · 3m 12s

Musical elements

The vocabulary of the learning path — level types, audio context, interval naming.

Level types

Every level has a type that drives the glyph shown on its path node. Keep these glyphs consistent everywhere they appear.

Scale degree
"Find the 3rd" — diatonic pitch in a key.
Interval
Two notes · name the distance.
Triad
Major, minor, diminished, augmented.
7th chord
Four-note chords · maj7, m7, dom7, dim7.
Mode
Ionian through Locrian.

locked foundations (listening) acoustic fallback

Path nodes · three states

The main navigation is a meandering river of circular nodes, with a horizontal drift of ±60px on phone and ±100px on desktop. Current node breathes on a 2.4s sine.

Do–Re–Mi
done
P5 intro
next up · target 80%
Triads
locked

Unit banner

Marks a new curriculum segment. Tone matches segment.color via segmentColor().

UNIT · Foundations
UNIT · Diatonic degrees
UNIT · Intervals
UNIT · Triads & 7ths
UNIT · Modes

Scale context banner

Shown at top of Practice. Lav→sky gradient. Root note sits in a white keychip. Tells the ear what key it's in.

D
D major · tonic on D · diatonic exercises

Play-reference button

The primary action during Practice. Coral fill, ink stroke, cartoon offset shadow. 88px on phone, 104px on tablet+.

states

Interval naming

Use the full name in UI copy ("Perfect fifth"), the short code in mono contexts and chips ("P5"). Quality always lowercase; quantity always ordinal or cardinal.

NameShortSemitonesCategory
Minor secondm21dissonant
Major secondM22step
Minor thirdm33consonant
Major thirdM34consonant
Perfect fourthP45perfect
TritoneTT6dissonant
Perfect fifthP57perfect
Minor sixthm68consonant
Major sixthM69consonant
Minor seventhm710tense
Major seventhM711dissonant
Perfect octaveP812perfect

Voice · copy examples

Warm, concise, musical. Short sentences. Use the display italic for hero phrases; body font for UI copy. Never gamey ("streak saved!"), never clinical ("ERROR: audio unavailable").

do
Three minutes a day. That's an ear.
tagline · landing hero
don't
"Great job champ! 🎉 Keep grinding!"
avoid cheer, emoji, gamification buzzwords
do
Listen twice, then answer.
empty-state · Practice screen
do
You've got the 5 in your bones now.
mastery celebration

Stats & progress

How we show effort, accuracy, and mastery over time.

Progress bar

Lav → coral gradient fill on a butter track. Optional ink target line at the unlock threshold.

session accuracy87% / target 80%
questions answered9 / 16

Ticks · in-session progress

Coral = correct/answered, ink = current, ink-5 = upcoming. Always visible in the Practice top bar.

Stat tiles

Big display number, small uppercase label. Single-metric cards. Used on the Stats screen.

87%
accuracy
24
sessions
312
minutes
1.4k
questions

Streak counter

Coral soft pill with a flame. Broken streaks go to ghost tone — we never scold.

7day streak
0fresh start

Wave chart · 30-day accuracy

Smoothed quadratic bezier. Coral stroke, coral→transparent area fill, ink-5 dashed baseline, small coral dots where data exists.

83%
30-day average
+6% vs prev

Rhythm strip · practice hours

24 bars, one per hour of day. Lavender where you practiced, ink-5 where you didn't.

12a6a12p6p12a

Mastery heatmap

Color encodes accuracy (≥80% mint, ≥60% butter, <60% coral); opacity encodes attempts (0.4 → 1.0 as it fills in). Grouped by level type.

Intervals
P594%
P489%
M382%
m371%
M668%
TT42%
M755%
Triads
maj91%
min86%
dim64%
aug48%

Dark mode

Opt-in only (Settings → theme). Tokens keep the same names — components swap surfaces, not colors.

Surfaces

Paper becomes a deep plum, layered in three steps. Cards sit on --page-2 — never pure black.

Page
--page
#15101c
Page 2
--page-2 / --card
#1e1729
Page 3
--page-3
#271e37
Hairline
--hairline
#302740

Ink (text)

Ink 1
primary
#f5eefa
Ink 2
secondary
#cfc1dd
Ink 3
muted
#938099
Ink 4
disabled
#5b4d6c

Accent pairs

The hue name stays; the soft becomes the dark saturated shade, and the -ink becomes the bright readable shade. Coral is the only token that doesn't flip — it's the brand.

Coral
#ff8a6b on #3a1f17
soft surface + bright text
Mint
text #b6e5cd on #2f7a5a
chip / success
Lavender
text #e4daff on #6d52c9
primary CTA
Sky
text #cce1ff on #2867b2
info

Token table

Token
Light
Dark
--page
#fff8ef
#15101c
--page-2
#fef1dd
#1e1729
--card
#ffffff
#1e1729
--ink-1
#2a1d3a
#f5eefa
--ink-2
#54466b
#cfc1dd
--ink-3
#8a7b9d
#938099
--hairline
#ebe1ef
#302740
--coral
#ff8a6b
#ff8a6b · unchanged
--coral-ink
#c64632
#ffcebd
--accent-soft
#ffe1d4
#3a1f17
--mint
#b6e5cd
#2f7a5a (was -ink)
--mint-ink
#2f7a5a
#b6e5cd (was base)
--lav
#c8b8ff
#6d52c9
--lav-ink
#5b3fb3
#e4daff
--butter
#ffd768
#9a6f00
--sky
#a8d5ff
#2867b2

Side-by-side

Light — default
Intervals · Level 3
Perfect fifth · minor third · major sixth
Play reference
skip
mint chip
lav chip
butter chip
Dark — opt-in
Intervals · Level 3
Perfect fifth · minor third · major sixth
Play reference
skip
mint chip
lav chip
butter chip

Rules

Do

Keep coral fixed

The brand coral #ff8a6b stays identical in both themes — it's the one anchor users recognize across the app.

Don't

Use pure black

Never #000 for surfaces. The darkest token is #15101c — a deep plum that matches the warm light palette.

Do

Reuse token names

Components reference --ink-1, --card, --coral. The theme swap handles the values — no conditionals in components.

Don't

Follow system theme

Dark mode is opt-in from Settings → theme only. We don't honor prefers-color-scheme — light is the designed default.

Do

Layer surfaces

Page → Page 2 → Page 3 create depth. Cards lift onto --page-2; sheets and modals go up one more step.

Don't

Drop shadows on dark

Shadows are still defined but use rgba(0,0,0,0.35+) to survive. Prefer a brighter hairline #302740 over a shadow for separation.

Illustration & characters

Four mascots — Fable, Noir, Major, Pulse — each with a role, a signature color, and a narrow tonal range. They appear for moments, never as chrome. One at a time, always.

01 Cast· 02 Fable· 03 Noir· 04 Major· 05 Pulse· 06 Roles· 07 Usage

01 · The cast

Four characters, four roles. Each owns a signature color from the palette and never crosses it. You'll learn the shorthand within a week of using the app.

Fable the fox
Fable
the fox
Coral · guide
Noir the cat
Noir
the cat
Mint · focus
Major the bear
Major
the bear
Butter · progress
Pulse the rabbit
Pulse
the rabbit
Sky · rhythm

House rules

  • One mascot per screen. Never two in a single frame.
  • Match character to moment. Fable guides, Noir focuses, Major summarises, Pulse keeps time. Don't substitute.
  • Never re-skin. A blue Fable or coral Major breaks recognition — the palette is identity, not theme.
  • No dialogue in the image. Mascots show up with a face, not a speech bubble. Copy lives in the UI.

02 · Fable / the fox

Warm, guiding, slightly clever. Fable is the only mascot that speaks in the first person — they're the hand on the user's shoulder through onboarding and hints.

Mascot · 01 · Fox
Fable / warm, guiding, slightly clever
Onboarding · hints · encouragement
Fable the fox

Personality

A patient mentor with a spark of mischief. Fable turns up when the user starts a lesson, gets stuck, or needs a hint to stay in motion. The coral scarf is the focal point — the one saturated accent in any screen that features them.

Where they appear

  • First-run & onboarding flows
  • In-lesson hints and nudges
  • Encouragement after a wrong answer
  • Empty states in the Learn tab
"Try the 5 first — it'll pull you home."

Expression range

6 states · use sparingly
Fable laughing
Laughstreaks · celebrations
Fable excited
Excitedcorrect answer
Fable curious
Curioushints · prompts
Fable happy
Happydefault / idle
Fable content
Contentquiet states
Fable listening
Listeningduring playback

Expressions progress from energetic (top-left) to quiet (bottom-right). Match intensity to the moment — Laugh for a 30-day streak is earned; Laugh on every correct answer wears thin within a week.

Scale & sizes

never below 48px tall

Mascots read at three sizes. Below 48px the face collapses — use the app's icon instead.

Fable at 72px
XS · 72px
Fable at 120px
SM · 120px
Fable at 200px
MD · 200px
Fable at 280px
LG · 280px

03 · Noir / the cat

Quiet, observant, slightly analytical. The only mascot you'll see during listening drills. Noir doesn't cheer; they notice.

Mascot · 02 · Cat
Noir / quiet, observant, analytical
Focus states · listening · precision
Noir the cat

Personality

The still one. Noir shows up when the user needs to listen carefully — ear training, pitch matching, interval recognition. The mint bow-tie softens what would otherwise read as severe. They confirm, never celebrate.

Where they appear

  • Listening & pitch-match exercises
  • Focus mode & silent practice
  • "Play again" prompts
  • Low-key confirmation after precise answers
"Hear it twice. Then answer."

Expression range

6 states · use sparingly
Noir laughing
Laughstreaks · celebrations
Noir excited
Excitedcorrect answer
Noir curious
Curioushints · prompts
Noir happy
Happydefault / idle
Noir content
Contentquiet states
Noir listening
Listeningduring playback

04 · Major / the bear

Friendly, grounded, supportive. Major carries the book — they remember what the user has done and hands it back in summaries and recaps.

Mascot · 03 · Bear
Major / friendly, grounded, supportive
Progress · summaries · confidence
Major the bear

Personality

Solid and kind. Major is the one who remembers. They appear at end-of-lesson summaries, weekly recaps, and "welcome back" moments after a break. Big-sibling warmth; never paternal, never lecturing.

Where they appear

  • End-of-lesson summaries
  • Weekly / monthly progress recaps
  • "Welcome back" after a break
  • Mastery & unit-completion moments
"Four units down. I've been keeping track."

Expression range

6 states · use sparingly
Major laughing
Laughstreaks · celebrations
Major excited
Excitedcorrect answer
Major curious
Curioushints · prompts
Major happy
Happydefault / idle
Major content
Contentquiet states
Major listening
Listeningduring playback

05 · Pulse / the rabbit

Light, rhythmic, energetic. Pulse keeps time — daily practice, streaks, rhythm drills. Their coral bow-tie is the one bridge back to Fable's palette.

Mascot · 04 · Rabbit
Pulse / light, rhythmic, energetic
Streaks · timing · daily practice
Pulse the rabbit

Personality

Upbeat, never hyperactive. Pulse is eyes-closed because they're listening to the beat. Their role is keeping the user returning — morning reminders, streak counters, rhythm drills. Always warm; never guilt-trip.

Where they appear

  • Streak counters & daily-goal UI
  • Rhythm / timing exercises
  • Morning practice reminders
  • Metronome & tempo-based drills
"Same time tomorrow. Two bars, then breakfast."

Expression range

6 states · use sparingly
Pulse laughing
Laughstreaks · celebrations
Pulse excited
Excitedcorrect answer
Pulse curious
Curioushints · prompts
Pulse happy
Happydefault / idle
Pulse content
Contentquiet states
Pulse listening
Listeningduring playback

06 · Who shows up when

Moments are not interchangeable. Pick the mascot whose tone fits the moment, not whoever's handy.

MomentMascotColorTone
First lesson · onboardingFableCoralCurious, welcoming
Hint after a wrong answerFableCoralEncouraging
Empty state · Learn tabFableCoralInviting
Listening & pitch-match drillNoirMintStill, attentive
Focus mode / silent practiceNoirMintCalm
End-of-unit summaryMajorButterGrounded, proud
Return after > 7 day absenceMajorButterWarm, no guilt
Streak milestone · 7/30/100 daysPulseSkyRhythmic, light
Daily practice reminderPulseSkyUpbeat, gentle
Rhythm / metronome drillPulseSkyPulsing

07 · Using them well

Three specific rules, with receipts.

Rule 01 · One mascot per screen

never duet shots
9:41
Nice try.
Fable
Try the 5 first — it'll pull you home.
Retry
Do  one character holds the moment
9:41
Nice try.
Fable Major
Try the 5 first!
Retry
Don't  two voices at once

Rule 02 · Match mascot to moment

role is not a mood swap
Major
Do

End-of-unit summary with Major — progress & memory are his job.

Pulse misused
Don't

Pulse on a summary screen feels like a reminder, not a reward. Wrong register.

Rule 03 · Don't re-skin

color is identity
Fable native colors
Do

Fable is always orange with a coral scarf. That's recognition.

Fable recolored
Don't

A blue Fable reads as "new mascot" to the eye. The palette is the character.

"Try the 5 first — it'll pull you home."
Fable · onboarding tip
"Hear it twice. Then answer."
Noir · listening drill
"Four units down. I've been keeping track."
Major · unit summary
"Same time tomorrow. Two bars, then breakfast."
Pulse · daily reminder

08 · Voice & interactions

Seven ways to stream, three ways to ask. Same phone frame as Rule 01 — one mascot, one voice, per screen. Pick streams for in-lesson feedback; pick surveys for onboarding and check-ins.

Speed
Fable
Guide · warm · short

Bright, encouraging fragments. Ends on the path forward.

  • "Try the 5 first — it'll pull you home."
  • "C major — that's the bright one."
Noir
Focus · patient · precise

Asks, then waits. Quizzes and prompts more than statements.

  • "Name the interval you just heard."
  • "Hear it twice. Then answer."
Major
Recap · steady · warm

Summarizes and welcomes back. Often in lists, always acknowledging progress.

  • "Four units down. I've been keeping track."
  • "Pick up where you left off?"
Pulse
Rhythm · upbeat · daily

Celebrates streaks and sets the next beat. Almost musical cadence.

  • "Seven days in a row!"
  • "Same time tomorrow. Two bars, then breakfast."

09 · Sound & listening

Four loaders — two for when the app speaks or plays a sound, two for when it listens. Pure motion, no face. The animation style is universal; the color tracks whichever mascot is holding the moment.

01Speak
Concentric blobs
Breathing inner & outer shapes. For when the app speaks or plays a sound.
loader/04 · any palette
02Speak
Ripple rings
Rings pulse outward from a core. Chimes, system sounds, any audio playback.
loader/08 · any palette
03Listen
Soft bars
Wave bars rise and fall. For microphone pickup, pitch and voice input.
loader/06 · any palette
04Listen
Breathing dot
Soft halo with a pulsing center. For rhythm capture, tap tempo, metronome calibration.
loader/20 · any palette

Color is the character

The shape is the mechanic. The color is who's speaking. Here's ripple rings in all four palettes — pick the mascot's color for the moment they're leading.

Fable · guide
Noir · focus
Major · recap
Pulse · rhythm

10 · The short list

If you remember nothing else.

Four mascots, four colors, four roles.

Fable coral · Noir mint · Major butter · Pulse sky. Learn the shorthand; don't substitute.

One per screen.

No duets. No crowd shots. A mascot holds a moment; moments are not shared.

Match tone to moment.

Guidance → Fable. Focus → Noir. Progress → Major. Rhythm → Pulse.

Never below 48px tall.

The faces collapse. Use the app icon at smaller sizes.

No re-skinning.

Color is identity. A recolored mascot reads as a new character.

No permanent chrome.

Mascots show up for moments — never as navigation, footer decoration, or loading spinners.

Originals & source files

The raw inputs that generated this kit — keep for re-derivation if we ever need to re-export at different sizes or regenerate assets.

Cast lineup
Cast · lineuporiginals/mascots-cast-lineup.png
Fable expressions
Fable · 6 expressionsoriginals/mascots-fable-expressions.png
Noir expressions
Noir · 6 expressionsoriginals/mascots-noir-expressions.png
Major expressions
Major · 6 expressionsoriginals/mascots-major-expressions.png
Pulse expressions
Pulse · 6 expressionsoriginals/mascots-pulse-expressions.png
Logo system reference
Logo · system referenceoriginals/logo-system-reference.png
Tweaks
Display font
Body font
Theme