DESIGN.md · Analysis

Minutes

useminutes.app · 21 Aug 2026 · 47 colors · Instrument Serif, GeistSans

Minutes

Open-source, privacy-first conversation memory app. Captures meetings, voice memos, and dictation; transcribes locally; outputs searchable markdown you own. No uploads, no accounts, no subscriptions.

Colors

surface#f8f4ed
surface-dim#efebe2
surface-bright#fdfbf7
surface-container-lowest#fdfbf7
surface-container-low#f8f4ed
surface-container#f0ebe4
surface-container-high#e8e2d8
surface-container-highest#e0dace
on-surface#1a1916
on-surface-variant#6f6a62
inverse-surface#0d0d0b
inverse-on-surface#f1ece3
outline#958f85
outline-variant#d4cfc7
surface-tint#c96b4e
primary#c96b4e
on-primary#171411
primary-container#e8d5cc
on-primary-container#5a3a2a
inverse-primary#f0a892
secondary#2e7d46
on-secondary#ffffff
secondary-container#b1e5c3
on-secondary-container#0d3d1a
tertiary#bf5af2
on-tertiary#ffffff
tertiary-container#f3d9ff
on-tertiary-container#4a0080
error#c0392b
on-error#ffffff
error-container#f8d7d3
on-error-container#5a1a15
primary-fixed#e8d5cc
primary-fixed-dim#ccb5a8
on-primary-fixed#3d1f15
on-primary-fixed-variant#8a5a47
secondary-fixed#b1e5c3
secondary-fixed-dim#95c9aa
on-secondary-fixed#0d3d1a
on-secondary-fixed-variant#1a6a2f
tertiary-fixed#f3d9ff
tertiary-fixed-dim#d9b8f0
on-tertiary-fixed#4a0080
on-tertiary-fixed-variant#8a3fb8
background#f8f4ed
on-background#1a1916
surface-variant#d4cfc7

Typography

display
fontFamily: Instrument Serif · fontSize: 62px · fontWeight: 400 · lineHeight: 68px · letterSpacing: -0.04em
headline-lg
fontFamily: Instrument Serif · fontSize: 48px · fontWeight: 400 · lineHeight: 56px · letterSpacing: -0.02em
headline-md
fontFamily: Instrument Serif · fontSize: 36px · fontWeight: 400 · lineHeight: 44px · letterSpacing: -0.01em
title-lg
fontFamily: GeistSans · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: -0.01em
body-lg
fontFamily: GeistSans · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: GeistSans · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: GeistMono · fontSize: 11px · fontWeight: 600 · lineHeight: 16px · letterSpacing: 0.1em
label-sm
fontFamily: GeistMono · fontSize: 10px · fontWeight: 600 · lineHeight: 14px · letterSpacing: 0.12em

Design guidance

Overview

Minutes is an open-source, privacy-first conversation memory system designed for knowledge workers, developers, and AI agents who demand ownership of their data. The aesthetic is **Architectural Minimalism**—clean, purposeful, and evidence-based. The UI strips away proprietary UI chrome and replaces it with plain Markdown files, searchable metadata, and durable local storage. The emotional response is one of clarity and control: users feel they are building a "folder of truth" rather than feeding a black-box service. The brand personality is precise, calm, and technically rigorous. Voice is direct and unsentimental—no breathless marketing language. Example: "Capture, transcribe, diarize, recall. Nothing leaves your machine."

Colors

The color system balances warm, earthy neutrals with a single, confident accent. **Primary (#c96b4e)** is a burnt-orange used exclusively on call-to-action buttons ("Download Minutes"), hover states, and interactive focus rings. It appears sparingly, making it unmissable when present. **Surface stack** ranges from warm cream (#f8f4ed, the page background) through progressively darker containers (#efebe2, #e8e2d8, #e0dace) to support layered card hierarchies and elevated UI states. **On-surface (#1a1916)** is a near-black used for body text and primary labels, ensuring 16:1 contrast against the light background. **Secondary (#2e7d46)** is a forest green reserved for success states and positive indicators (e.g., "transcribed locally"). **Tertiary (#bf5af2)** is a vibrant purple used sparingl

Typography

The type system pairs **Instrument Serif** (display, headlines) with **GeistSans** (body, UI labels) and **GeistMono** (buttons, metadata, code snippets). Instrument Serif at 62px / 400 weight / -0.04em letter-spacing creates a confident, editorial voice for the hero headline ("Your AI remembers every conversation"). Body copy uses GeistSans at 16px / 400 weight / 24px line-height for comfortable reading at any screen size. Monospace labels (GeistMono, 11px, 600 weight, 0.1em tracking) appear on buttons and small UI elements, reinforcing the technical, evidence-based brand. Apply text-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) on small labels (≤12px) when layered over busy backgrounds to ensure legibility. Headline hierarchy uses serif at 48px (headline-lg), 36px (headline-md), and 20px (title-

Layout

The layout uses a **fixed-width container model** with max-width: 840px for content sections, centered with mx-auto. The page rhythm is built on a 4px unit grid (spacing.unit), with semantic spacing keys: {spacing.sm} (8px) for tight component gaps, {spacing.md} (16px) for standard padding and section dividers, {spacing.lg} (24px) for major section separation, and {spacing.xl} (40px) for hero-to-content transitions. The hero section spans full viewport width with asymmetric left-right layout: copy on the left (max-width: 560px), product visualization on the right. Gutter padding is 24px on desktop, 16px on tablet, 12px on mobile. White-space is generous—sections are separated by 40–64px vertical rhythm, creating breathing room between ideas. The grid uses 12 columns for responsive breakpoi

Elevation & Depth

Depth is achieved through **soft, warm shadows and subtle background shifts** rather than harsh contrast. Level 1 (Base): the page background (#f8f4ed) with no shadow. Level 2 (Standard Card): background #f0ebe4 with 1px border (#d4cfc7) and box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15). Level 3 (Elevated/Modal): background #e8e2d8 with 1px border (#d4cfc7) and box-shadow: 0 12px 32px rgba(26, 25, 22, 0.09). Interactive elements (buttons, inputs) use a 3px focus ring at rgba(201, 107, 78, 0.1) when focused, creating a warm halo without harsh outlines. Hover states shift the background one step up

Shapes

The shape philosophy is **Soft-Technical**: corners are slightly rounded to feel approachable, but not so rounded as to lose precision. Buttons use {rounded.DEFAULT} (4px) for a clean, modern look that reads as clickable without softness. Cards and containers use {rounded.lg} (6px) to add visual warmth and distinguish them from the background. Input fields use {rounded.DEFAULT} (4px) to align with buttons and maintain visual consistency. Badges and pills use {rounded.full} (9999px) for a fully rounded appearance, signaling secondary or metadata content. The rationale: 4–6px radii feel contempo

Components

Action Elements Buttons use GeistMono at 11px / 600 weight / 0.1em tracking to signal precision and code-like reliability. Primary buttons ("Download Minutes") are {colors.primary} (#c96b4e) with {colors.on-primary} text, 40px height, 10px vertical / 22px horizontal padding, {rounded.DEFAULT} (4px), and no border. On hover, background shifts to #b85a3e (--accent-hover) with a 150ms ease transition. On focus, add a 3px ring at rgba(201, 107, 78, 0.1). Secondary buttons ("See Minutes in Motion") are transparent with a 1px border at {colors.outline-variant}, same height and padding, and on hover shift to {colors.surface-container-high} background. Disabled buttons reduce opacity to 50% and set cursor: not-allowed.

Containers & Surfaces Cards use {colors.surface-container-low} (#f0ebe

Do's and Don'ts

**Do**

  • Do use {colors.primary} (#c96b4e) exclusively on CTAs and interactive focus states—it's the brand's signature accent and must remain rare and impactful.
  • Do maintain 1px borders on all cards and containers using {colors.outline-variant} (#d4cfc7) to define edges without harsh contrast.
  • Do pair Instrument Serif headlines with GeistSans body copy to balance editorial confidence with technical clarity.
  • Do use {spacing.lg} (24px) or {spacing.xl} (40px) between major sections to create generous white-space and visual breathing room.
  • Do apply soft shadows (0 3px 8px rgba(0, 0, 0, 0.15)) to cards and 0 12px 32px rgba(26, 25, 22, 0.09) to modals for warm, approachable depth.
  • Do use GeistMono at 11px / 600 weight / 0.1em tracking on buttons and metadata labels to reinforce the technical, evidence-based brand voice.

**Don't**

  • Don't use pure black (#000000) or pure white (#ffffff) anywhere—stick to the defined surface and on-surface tokens for warmth and consistency.
  • Don't apply {colors.primary} to body text, backgrounds, or non-interactive elements; it must remain a rare, high-contrast accent.
  • Don't exceed 6px border-radius on any component; softness should feel intentional, not toy-like.
  • Don't use shadows darker than rgba(0, 0, 0, 0.15) or blur values greater than 32px; the aesthetic is warm and approachable, not dramatic.
  • Don't mix serif and sans-serif fonts within a single headline or body paragraph; maintain clear typographic hierarchy.
  • Don't reduce padding below {spacing.sm} (8px) on interactive elements; buttons and inputs need breathing room to feel clickable and accessible.