DESIGN.md · Analysis

Urban Company

urbanclap.com · 16 Jul 2026 · 47 colors · -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif

Urban Company

Urban Company is a trusted home services marketplace connecting customers with vetted professionals for beauty, cleaning, repairs, and maintenance—delivered on-demand at your doorstep.

Colors

surface#ffffff
surface-dim#f5f5f5
surface-bright#ffffff
surface-container-lowest#f0f0f0
surface-container-low#f5f5f5
surface-container#eeeeee
surface-container-high#e3e3e3
surface-container-highest#e2e2e2
on-surface#212121
on-surface-variant#545454
inverse-surface#0f0f0f
inverse-on-surface#ffffff
outline#757575
outline-variant#bdbdbd
surface-tint#dd0017
primary#dd0017
on-primary#ffffff
primary-container#ffebee
on-primary-container#b71c1c
inverse-primary#ff5252
secondary#304ffe
on-secondary#ffffff
secondary-container#e8eaff
on-secondary-container#001a73
tertiary#00968b
on-tertiary#ffffff
tertiary-container#a7fdf8
on-tertiary-container#00201d
error#dd0017
on-error#ffffff
error-container#ffebee
on-error-container#b71c1c
primary-fixed#ffebee
primary-fixed-dim#ffcdd2
on-primary-fixed#410e0b
on-primary-fixed-variant#9c0f0c
secondary-fixed#e8eaff
secondary-fixed-dim#c5caf5
on-secondary-fixed#001a73
on-secondary-fixed-variant#1e40c4
tertiary-fixed#a7fdf8
tertiary-fixed-dim#7fefeb
on-tertiary-fixed#00201d
on-tertiary-fixed-variant#00696a
background#ffffff
on-background#212121
surface-variant#e2e2e2

Typography

display
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif · fontSize: 56px · fontWeight: 700 · lineHeight: 64px · letterSpacing: -0.02em
headline-lg
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif · fontSize: 40px · fontWeight: 700 · lineHeight: 48px · letterSpacing: -0.01em
headline-md
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif · fontSize: 32px · fontWeight: 700 · lineHeight: 40px · letterSpacing: 0em
title-lg
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif · fontSize: 24px · fontWeight: 600 · lineHeight: 32px · letterSpacing: 0.01em
body-lg
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0.02em
body-md
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0.01em
label-md
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.02em
label-sm
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.03em

Design guidance

Overview

Urban Company is a hyperlocal marketplace that brings trusted professionals directly to customers' homes for beauty, cleaning, repairs, and maintenance services. The brand serves time-constrained urban professionals and families seeking convenience without compromising quality. The design aesthetic is **Pragmatic Minimalism**—a clean, efficient visual language that prioritizes clarity and trust through generous whitespace (surface: #ffffff, on-surface: #212121), bold action-oriented typography (headline-lg: 40px, fontWeight: 700), and a distinctive red accent (primary: #dd0017) that signals urgency and reliability. The UI evokes a sense of professional competence and accessibility: every interaction feels direct, every service discoverable, every booking frictionless.

The brand voice is confident, direct, and service-focused. Urban Company speaks in active verbs and concrete outcomes—not aspirational promises, but delivery guarantees. Vocabulary emphasizes expertise ('hand-picked Professionals'), locality ('serve you at your doorstep'), and speed ('on demand'). The tone avoids corporate jargon; instead, it mirrors the clarity of a trusted neighbor recommending a plumber. Example sentence in brand voice: 'Book a verified professional in 60 seconds—service starts within 2 hours.'

Colors

The color system is built on a foundation of neutral surfaces with a single, commanding accent. **Primary (#dd0017)** is the brand's signature red—used exclusively on CTAs (buttons, links, key interactions), focus states, and status indicators. It commands attention without aggression, signaling action and trust simultaneously. Secondary (#304ffe), a deep blue, supports secondary actions and informational elements (badges, chips, secondary CTAs). Tertiary (#00968b), a teal, is reserved for success states and positive feedback.

The surface stack is deliberately minimal: surface (#ffffff) is the default canvas; surface-container-high (#e3e3e3) and surface-container-highest (#e2e2e2) create subtle depth for cards and elevated sections without visual noise. On-surface (#212121) is the primary

Typography

The type system prioritizes legibility and hierarchy through weight and scale rather than color variation. Display (56px, fontWeight: 700, lineHeight: 64px, letterSpacing: -0.02em) is reserved for hero headlines; headline-lg (40px, fontWeight: 700) anchors major sections like 'Why Urban Company?'; headline-md (32px, fontWeight: 700) breaks up content areas. Body-lg (18px, fontWeight: 400, lineHeight: 28px) is used for hero copy and prominent descriptions; body-md (16px, fontWeight: 400, lineHeight: 24px) is the default paragraph text. Label-md (14px, fontWeight: 600, letterSpacing: 0.02em) is applied to button text and form labels; label-sm (12px, fontWeight: 500, letterSpacing: 0.03em) for helper text and captions.

All typography uses the system font stack (-apple-system, BlinkMacSystemF

Layout

The layout uses a 12-column fluid grid with a max-width of 1120px (container-max-width: 1120px), centered on the viewport. Sections are separated using lg spacing (40px margin-bottom, margin-top) for major breaks (hero to 'Why Urban Company?'), md spacing (24px) for subsection separation, and sm spacing (12px) for component-level grouping. The gutter (24px padding-left, padding-right) is applied to all full-width sections, creating consistent breathing room on desktop and tablet.

Whitespace is treated as a design material: the hero section uses 50% of the viewport for imagery and 50% for copy, with md (24px) padding between the headline and subheading, and lg (40px) padding between copy and the primary CTA. Cards are laid out in a 3-column grid on desktop (width: calc(33.333% - 16px), mar

Elevation & Depth

Depth is conveyed through subtle shadows and border treatments rather than layered colors. The elevation system uses three levels: sm (0px 1px 3px rgba(0, 0, 0, 0.12)) for interactive elements like buttons and small cards; md (0px 4px 12px rgba(15, 15, 15, 0.06)) for standard cards and modals; lg (0px 8px 24px rgba(0, 0, 0, 0.15)) for elevated overlays and expanded modals. Shadows are soft and diffuse, never harsh or dark (max opacity: 0.15), to maintain the clean, professional aesthetic.

Cards use a combination of shadow and border: card component applies {elevation.md} (0px 4px 12px rgba(15

Shapes

The shape philosophy is **Functional Softness**—rounded corners are used sparingly and purposefully to signal interactivity and reduce visual harshness, but never so aggressively that they distract from content. Buttons use sm (2px) border-radius for a subtle, professional appearance (button-primary: rounded: {rounded.sm}); cards use md (8px) for a more approachable, modern feel (card: rounded: {rounded.md}); modals and elevated containers use lg (16px) to signal importance and separation. Input fields use DEFAULT (4px) to match button styling and create visual consistency.

Chips and badges u

Components

Action Elements Buttons are the primary interaction pattern. Button-primary (backgroundColor: {colors.primary}, height: 48px, padding: 12px 24px, rounded: {rounded.DEFAULT}) is used for all primary CTAs—'Book Now', 'Get Started', 'Continue'. On hover, the background darkens to #b71c1c (transition-duration: 0.2s ease-in-out), and on focus, a 3px ring of rgba(221, 0, 23, 0.1) appears around the button. Button-secondary (backgroundColor: transparent, border: 2px solid {colors.primary}, height: 48px) is used for secondary actions like 'Learn More' or 'Cancel'; on hover, it fills with primary-container (#ffebee) while maintaining the red border.

Containers & Surfaces Cards (backgroundColor: {colors.surface}, rounded: {rounded.md}, padding: {spacing.md}, boxShadow: {elevation.md}, borde

Do's and Don'ts

**Do**

  • Do use primary (#dd0017) exclusively for CTAs, focus states, and key interactive elements—never for decorative or background purposes.
  • Do maintain 12px minimum padding (sm spacing) inside all interactive elements to ensure touch targets are at least 44px tall and 44px wide.
  • Do apply the system font stack (-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto) to all text—never use serif or display fonts for body copy.
  • Do use md (8px) or lg (16px) border-radius on cards and containers; avoid sharp corners (0px) except for full-width sections.
  • Do layer shadows with borders: cards use 1px solid border in surface-container-high (#e3e3e3) plus md elevation shadow (0px 4px 12px rgba(15, 15, 15, 0.06)).
  • Do limit color palette to primary (#dd0017), secondary (#304ffe), tertiary (#00968b), and neutrals—avoid introducing new brand colors.

**Don't**

  • Don't use primary red (#dd0017) for body text, backgrounds, or non-interactive elements—it should feel rare and urgent.
  • Don't apply shadows heavier than lg (0px 8px 24px rgba(0, 0, 0, 0.15))—the design should feel light and modern, not heavy.
  • Don't mix font families or use custom fonts; the system font stack ensures consistency across platforms and reduces load time.
  • Don't create interactive elements smaller than 44px × 44px (including padding); this violates WCAG touch target guidelines.
  • Don't use rounded corners greater than 20px (xl) on standard components—reserve full (9999px) for pills and badges only.
  • Don't apply color alone to convey meaning (e.g., red for error without an icon or text label)—always pair color with text or iconography for accessibility.