| version | alpha | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| name | Foodiary (Neubrutalist) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| description | A bold, playful calorie tracker with personality. Neubrutalist foundation — hard black borders, thick offset shadows, vibrant flat colors. Gen-Z energy meets food warmth. No gradients, no blur, just confidence. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| colors |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| typography |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| rounded |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| spacing |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| elevation |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| components |
|
Foodiary v2 embraces neubrutalism — the design language of Gen-Z. Bold, confident, and playful. Every element has a hard black border and a thick offset shadow. Colors are vibrant and flat — no gradients, no blur, no half-measures. The personality is warm and food-friendly (coral primary, mint secondary, sunny yellow accents) while the structure is unapologetically bold.
This is NOT your mom's calorie tracker.
- Primary (#FF6B4A): Bold coral — energetic, warm, food-associated. Primary buttons, selected states, key metrics.
- Secondary (#2DD4BF): Fresh mint — healthy, crisp, under-target indicator. Calorie progress bars.
- Accent (#FFD60A): Sunny yellow — happy, breakfast energy. Attention states, highlights.
- Background (#FAFAF5): Warm off-white — soft backdrop that lets cards pop.
- Foreground (#1A1A1A): Hard black — borders, text, shadows. Maximum contrast, zero apology.
- Card (#FFFFFF): Pure white — content surface with black border and shadow.
- Muted (#F5F2ED): Warm gray — secondary backgrounds, tags, disabled states.
- Muted Foreground (#6B6560): Warm gray text — secondary information.
- Border (#1A1A1A): Hard black — every element has a 2-3px solid border. Non-negotiable.
- Destructive (#1A1A1A): Black — delete actions. Bold, not red-alarm scary.
- Positive (#2DD4BF): Mint — under target, good states.
- Warning (#FFD60A): Yellow — near target, attention.
Space Grotesk for everything bold — headings, labels, metrics, buttons. Plus Jakarta Sans for body text — readable at small sizes.
- Display: Space Grotesk Bold, 40px, tight leading. Hero numbers.
- Title: Space Grotesk Bold, 22px. Screen titles, card headers.
- Labels: Space Grotesk Bold, 12px, ALL CAPS, letter-spacing 0.05em. Section headers, badges.
- Body: Plus Jakarta Sans, 15px. All paragraphs and descriptions.
- Caption: Plus Jakarta Sans SemiBold, 12px. Metadata, timestamps.
Rule: Space Grotesk is never used below 700 weight. No light, no regular. Bold or nothing. On iOS, SF Pro Rounded Bold is the system fallback.
- Cards: 16-20px radius with 3px black border + 4px 4px 0 black shadow
- Buttons: 12px radius with 3px black border + 4px 4px 0 black shadow
- Input fields: 12px radius with 3px black border
- Tags/badges: Fully rounded pills with 2px border
- No border-radius 0 — we're neubrutalist, not brutalist. Soft edges keep it friendly.
Coral background, white bold text, 3px black border, 4px offset shadow. On press: shadow shrinks to 2px (feels like it's being pushed).
White background, black bold text, 3px black border, 4px offset shadow. For cancel, back, secondary actions.
White background, 3px black border, 4px offset shadow. Every card. Cards are the core container — not subtle, not blending in.
White background, 3px black border. Label above in Space Grotesk Bold ALL CAPS. Focus: border turns coral (keeps 3px width).
Pill shape with 2px black border. Green bg for under, red-tinted for over. Always includes the black border — neubrutalist rules apply everywhere.
White background, 3px black top border. Active tab: coral text + black underline. Inactive: muted gray. Space Grotesk Bold labels (10px).
Single column, 16px horizontal padding. Generous vertical spacing (24-32px between sections). Cards stack with clear separation — each one is a distinct "block" thanks to shadows.
- ✅ Hard black borders on every interactive element — no exceptions
- ✅ Offset shadows (4px 4px 0) on cards and buttons
- ✅ Space Grotesk Bold for ALL headings, labels, metrics
- ✅ Flat vibrant colors — coral, mint, yellow, white, black
- ✅ Neutral, non-judgmental language
- ✅ Push-in animation on button press (shadow shrinks)
- ✅ ALL CAPS labels with letter-spacing
- ❌ No gradients — ever
- ❌ No blur effects — we're not glassmorphism
- ❌ No light shadows — go hard or go home
- ❌ No thin borders — 2px minimum, 3px standard
- ❌ No muted, safe color palette
- ❌ Never shame the user
- ❌ No emojis as structural icons (use bold SVG/SF Symbols)