Waze

Waze's iOS app is a community-driven driving game disguised as a navigation app.

Back to all styles

A live page in this style is not built yet — the CSS variables and the prompt below are enough to reproduce it.

At a glance

24tokens
12type steps
4radius steps
14pxspacing base

Waze, in one page

Waze's iOS app is a community-driven driving game disguised as a navigation app. Where Apple Maps wants you to forget the UI exists and Google Maps wants you to find a place, Waze wants you to drive with friends — and every visual decision flows from that emotional brief. The map is loud, the icons are cartoony, the hazard reports are technicolor speech bubbles, and the brand voice is closer to a children's puzzle book than a serious mapping product. This is by design: Waze's superpower is its drivers, and the playful aesthetic makes contributing (reporting a police trap, a pothole, a crash) feel like a game, not a chore.

The accent is Waze Purple (#7E55BE) — the iconic violet of the Waze chat-bubble logomark, the navigation polyline, and the floating action button. Surrounding it is Waze Cyan (#33CCFF) — used on the location puck and informational glyphs, and on the second layer of the Waze logo. Together they create the signature electric cool-tone duo that no other map app uses. Pinned over the map: red #EF6A65 police reports, orange #F69833 traffic, yellow #F9C42E road closures, green #75C73E cleared hazards, each rendered as a chunky cartoon speech bubble with a small Wazer emoji avatar. The map cartography is more saturated than Apple's — bright cyan water, mint-green parks, warm white land.

Typography is Boing, Waze's proprietary rounded sans designed for both wayfinding legibility and brand warmth — the rounded terminals echo the cartoon speech bubbles. Boing has Regular, Bold, and Black weights, plus a Boing Mono for in-app distance/time display. Where Boing isn't available, the fallback is SF Pro Rounded — the rounded variant of SF Pro on iOS — chosen specifically because Waze leans into roundness as a brand attribute. The hierarchy is bold and big: 28pt-32pt street names in Boing Black, 18pt step instructions, tabular figures on every "0.4 mi" or "12 min" with a slight letter spacing for breathing room at glance-while-driving.

Key Characteristics:

Do's and don'ts

Do

  • Use Waze Purple #7E55BE as the brand primary — logo, polyline, FAB, "Go" button
  • Use Waze Cyan #33CCFF as the secondary — current-location puck, info glyphs
  • Render hazard reports as chunky cartoon speech bubbles with rounded 14pt corners, full-saturation colors, white icons inside, and a triangular tail pointing to the hazard location
  • Use Boing typography (or SF Pro Rounded as fallback) — roundness is the brand
  • Use Boing Mono on every numeric — distance, time, speed, ETA
  • Make the map LOUD — cyan water, mint parks, warm white roads
  • Render the current-location puck as a cyan arrow (NOT a dot) with a chunky 3pt white outline
  • Show the speed-limit + current-speed tile in the bottom-left during navigation, US-style sign format
  • Use the tinted purple shadow on the FAB rgba(126,85,190,0.40) 0 6px 16px — reinforces brand
  • Animate hazard speech bubbles with a "pop" — scale 0 → 1.15 → 1.0 spring
  • Use the chevron ant-trail animation on the route polyline
  • Keep the report wheel a literal cartoon dial with 8 wedges — it's playful by design

Don't

  • Don't use a plain blue location dot — Waze's puck is a CYAN ARROW, not a circular dot
  • Don't render hazard reports as small SF Symbol pins — they're chunky cartoon speech bubbles with tails
  • Don't tone down the cartography — bright cyan water and mint parks are the signature; making them subtle defeats the brand
  • Don't replace Boing with a sharp grotesque (Helvetica, Inter without rounding) — the warmth comes from roundness
  • Don't make the "Go" button anything other than full-pill 56pt-tall Waze Purple
  • Don't omit Boing Mono on numerics — variable widths break the at-a-glance read
  • Don't use a generic black drop shadow on the FAB — the tinted purple shadow is signature
  • Don't use Waze Purple at less than 100% saturation for primary actions — the deep violet is the brand
  • Don't show police hazard reports without the rounded cartoon shape — the cartoon-ness is what makes contributing fun
  • Don't position the FAB on the left — it lives bottom-right
  • Don't use the dot pulse from Apple Maps — Waze's pulse is a 60pt cyan outer ring at 0.15 opacity, expanding to 1.5x

Copy this into your AI builder

Paste it as-is. Every value below was measured from the original site, not guessed.

Assembled from the measured tokens — the source document has no prompt block.

Build a page in the Waze design language. Follow the measured tokens below — do not substitute your own palette.

Colors:
- Waze Purple: #7e55be
- Waze Cyan: #33ccff
- Waze Purple Deep: #5b3c9a
- Waze Purple Tint: #e8def5
- Cyan Deep: #0099e5
- Police Red: #ef6a65
- Traffic Orange: #f69833
- Closure Yellow: #f9c42e
- Cleared Green: #75c73e
- Hazard Brown: #8b6f47

Type:
- families: Boing, Boing Mono, Quicksand, Nunito
- scale: 10, 11, 12, 13, 14, 15, 17, 22, 24
- weights: 400, 500, 700

Shape:
- radius: 14, 16, 24, 28
- elevation: Shadow: `rgba(0,0,0,0.20) 0 4px 12px` | Shadow: `rgba(126,85,190,0.40) 0 6px 16px` — tinted purple shadow | Shadow: `rgba(0,0,0,0.30) 0 3px 8px` for visibility over saturated cartography

Spacing: 14, 16, 24

Rules:
- Use Waze Purple `#7E55BE` as the brand primary — logo, polyline, FAB, "Go" button
- Use Waze Cyan `#33CCFF` as the secondary — current-location puck, info glyphs
- Render hazard reports as chunky cartoon speech bubbles with rounded 14pt corners, full-saturation colors, white icons inside, and a triangular tail pointing to…
- Use Boing typography (or SF Pro Rounded as fallback) — roundness is the brand
- Use Boing Mono on every numeric — distance, time, speed, ETA
- Make the map LOUD — cyan water, mint parks, warm white roads

Avoid:
- Don't use a plain blue location dot — Waze's puck is a CYAN ARROW, not a circular dot
- Don't render hazard reports as small SF Symbol pins — they're chunky cartoon speech bubbles with tails
- Don't tone down the cartography — bright cyan water and mint parks are the signature; making them subtle defeats the brand
- Don't replace Boing with a sharp grotesque (Helvetica, Inter without rounding) — the warmth comes from roundness
- Don't make the "Go" button anything other than full-pill 56pt-tall Waze Purple
- Don't omit Boing Mono on numerics — variable widths break the at-a-glance read

Keep every value literal. If a token is given, use that exact value.

The specification

Colour paletteRead the full spec

Primary Brand

  • Waze Purple (#7E55BE): The brand violet — logomark gradient stop, navigation polyline, FAB background, primary CTAs ("Go", "Start"), selected-state on category chips.
  • Waze Purple Deep (#5B3C9A): Pressed state on FAB and primary buttons.
  • Waze Purple Tint (#E8DEF5): Selected row backgrounds, info banner fills.
  • Waze Cyan (#33CCFF): The cool counterpart — current-location puck, info icon fills, the lighter half of the gradient logo.
  • Cyan Deep (#0099E5): Pressed state on cyan buttons, cyan glyphs.

Hazard Report Colors (The Cartoon System)

  • Police Red (#EF6A65): Police reports (speed traps, checkpoints) — chunky speech bubble.
  • Traffic Orange (#F69833): Traffic jams, congestion alerts.
  • Closure Yellow (#F9C42E): Road closures, construction.
  • Cleared Green (#75C73E): Recently cleared hazards (with timer), gas-station deals.
  • Hazard Brown (#8B6F47): Potholes, debris, hazard-on-shoulder.
  • Camera Gray (#6B6B6B): Speed cameras, red-light cameras.

Map Cartography

  • Map Cream (#FFFCF2): Warm white land surface (slightly cooler than Apple Maps).
  • Map Water (#9BDEEF): Bright cyan water — louder and cooler than Apple's water blue.
  • Map Park (#C5E89B): Mint green parks.
  • Map Road Major (#FFFFFF): Major roads, white with a soft outline.
  • Map Road Minor (#F5F0E5): Minor roads.
  • Map Highway (#FFD970): Highway fill, slightly more saturated than Apple's.
  • Map Building (#E8E2D1): Building footprints.
  • Map Label (#3D3D3D): Map label text — slate gray.

Canvas, Surfaces & Dividers

  • Card Canvas (#FFFFFF): Place card, sheets, bottom panels.
  • Surface Gray (#F5F5F7): Search field, section backgrounds.
  • Surface Gray 2 (#EAEAEC): Pressed states.
  • Divider (#D6D6D9): Hairlines.

Text

  • Ink (#1A1A1A): Primary text — Waze's slightly warm near-black.
  • Secondary (#6B6B6B): Subtitles, addresses, ETA secondary info.
  • Tertiary (#A0A0A0): Placeholder, disabled.
  • Inverse White (#FFFFFF): Text on Waze Purple and other saturated backgrounds.

Semantic

  • Success Green (#34C759): "On your way" confirmations.
  • Warning Amber (#F9C42E): Speed warning, slow traffic ahead.
  • Error Red (#EF6A65): "Route blocked", form errors.
  • Info Cyan (#33CCFF): Tips, info banners.

Dark Mode (Night Driving Mode)

Waze's dark mode is engineered for night driving — a true near-black map with the same loud accent colors maintained for at-a-glance legibility.

  • Dark Map Land (#1E2026): Cool charcoal over land.
  • Dark Map Water (#0F3D5E): Deep teal-navy water.
  • Dark Map Park (#1F3A1F): Dark forest.
  • Dark Card Surface (#262932): Sheets, panels.
  • Dark Surface 2 (#3A3D47): Pressed states.
  • Dark Divider (#4A4D58): Hairlines.
  • Dark Text Primary (#FFFFFF).
  • Dark Text Secondary (#B8BAC5).
  • Waze Purple (Dark) (#9F76DA): Brightened for dark legibility.
  • Waze Cyan (Dark) (#5DD9FF).
Type scaleRead the full spec

Font Family

  • Primary: Boing — proprietary rounded sans by Waze, with Regular, Bold, and Black weights, plus a Boing Mono for tabular numerics
  • Fallback stack: 'Boing', -apple-system-rounded, 'SF Pro Rounded', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Quicksand', sans-serif
  • Web/marketing Google Fonts substitute: Quicksand (open-source rounded sans, closest to Boing's warmth) or Nunito for a more neutral fallback
  • iOS native fallback: SF Pro Rounded — explicitly the rounded variant, available via .systemRounded design parameter on iOS 13+
  • Tabular figures: Mandatory on distances ("0.4 mi"), times ("12 min"), ETAs ("6:14 PM"), speeds ("65 mph")

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
Hero Street NameBoing32pt900 (Black)1.1-0.4pt"Market Street" on next-turn card
Next Turn DistanceBoing Mono28pt700 (Bold)1.10pt tnum"0.4 mi"
Step TitleBoing22pt7001.2-0.2pt"Turn right onto Market St"
Step SubtitleBoing17pt4001.30pt"in 0.4 mi"
ETA Bottom TimeBoing Mono24pt7001.10pt tnum"12 min"
ETA DistanceBoing Mono17pt5001.20pt tnum"5.2 mi · 6:14 PM"
Place Card TitleBoing26pt7001.15-0.3pt"Tartine Bakery"
Place Card SubtitleBoing15pt4001.30pt"Bakery · French · $$"
Search PlaceholderBoing17pt4001.30pt"Where to?"
Section HeaderBoing13pt7001.20.6pt UPPERCASE"RECENT", "FAVORITES"
List Row TitleBoing17pt5001.30ptRecent destination
List Row SubtitleBoing13pt4001.20ptAddress
Speed Limit NumberBoing Mono22pt900 (Black)1.00pt tnum"35" in the speed-limit circle
Current SpeedBoing Mono32pt7001.00pt tnum"42" big number, mph small
Hazard Speech TitleBoing14pt7001.10pt"Police" / "Traffic"
Hazard Speech TimeBoing11pt4001.10pt"5 min ago"
Button PrimaryBoing17pt7001.00pt"Go", "Start", "Report"
CaptionBoing12pt4001.30ptPhoto credits, fine print
Tab LabelBoing10pt5001.00.1ptBottom tab labels

Principles

  • Roundness is the brand: Boing has rounded terminals on every glyph — the typography mirrors the cartoon speech bubbles and the rounded buttons. SF Pro Rounded is the only correct fallback.
  • Boing Mono for ALL numerics — distances, times, speeds, ETAs. Variable widths break the navigation glance pattern.
  • Black (900) reserved for hero moments — street names on next-turn cards, the speed-limit number. Almost everything else is Bold (700) or Regular (400).
  • Tight tracking at display sizes (-0.4pt at 32pt), 0 at body.
  • Big and bold for driving glance: street names are 32pt Black because the user reads them at 60 mph; subtle, light type is not appropriate
  • UPPERCASE section headers with 0.6pt tracking — the same iOS rhythm as other apps, but in Boing Bold (700)
  • Dynamic Type honored on the place card and search results; FIXED on the next-turn card, ETA bar, speed-limit number, hazard speech bubbles (all layout- and glance-critical)
Components and layoutRead the full spec

The Cartoon Hazard Speech Bubble (The Signature)

The single most recognizable component in Waze. A chunky rounded rectangle that points to the hazard location like a speech bubble.

  • Container shape: rounded rectangle with a triangular tail
  • Corner radius: 14pt
  • Width: variable — minimum 88pt, expands for content
  • Height: 56pt (single-line) or 68pt (with timestamp)
  • Padding: 8pt vertical, 12pt horizontal
  • Background: solid hazard color at full saturation (e.g., Police Red #EF6A65)
  • Tail: 12pt × 8pt isoceles triangle pointing down from the bottom-center, same color as the container
  • Icon: 24pt cartoon-style glyph in white, leading position (e.g., police hat, exclamation, cone, snowflake)
  • Title: Boing 14pt Bold white, e.g., "Police"
  • Timestamp (if shown): Boing 11pt Regular white at 80% opacity, e.g., "5 min ago"
  • Shadow: rgba(0,0,0,0.20) 0 4px 12px
  • Hover/Tap state: scale 1.0 → 1.08 over 200ms, with a subtle white inner glow

Police Speech Bubble: Background #EF6A65, icon = police hat with a small badge glyph (custom or shield.fill) Traffic Speech Bubble: Background #F69833, icon = traffic cone or stopped-car Closure Speech Bubble: Background #F9C42E, icon = no-entry circle or barrier Cleared Speech Bubble: Background #75C73E, icon = checkmark + small timer Pothole Speech Bubble: Background #8B6F47, icon = ground crack Camera Speech Bubble: Background #6B6B6B, icon = camera

Floating Action Button (Report)

  • Diameter: 56pt
  • Position: bottom-right, 16pt inset, 16pt above the bottom ETA bar
  • Background: #7E55BE Waze Purple
  • Glyph: a stylized white exclamation point or speech-bubble icon at 24pt
  • Shadow: rgba(126,85,190,0.40) 0 6px 16px — tinted purple shadow
  • Pressed: background #5B3C9A, scale 0.94
  • Tap: opens the report wheel — a circular arrangement of 6-8 hazard icons that the user picks
  • Haptic: .impactOccurred(.medium)

Report Wheel (Hazard Picker)

The cartoon dial that appears when the user taps the FAB.

  • Position: full-screen modal sheet from bottom
  • Background: #FFFFFF at the wheel area, semi-transparent purple rgba(126,85,190,0.85) scrim over the rest of the screen
  • Wheel: 280pt diameter circle, centered horizontally, 80pt from bottom
  • Slices: 8 wedges, each containing a cartoon hazard icon (police, traffic, closure, pothole, camera, hazard, gas, cleared)
  • Slice icons: 44pt × 44pt centered in each wedge
  • Slice colors: each wedge is the hazard color at 20% saturation; tap saturates to full
  • Center: 56pt circle with a white "X" close button
  • Animation: wheel spins in from a small circle, 350ms spring
  • Tap on slice: slice expands, then a confirmation card appears

Current-Location Puck (Waze Style)

Waze's puck is distinct from Apple's — it's the iconic blue arrow shape.

  • Shape: a chunky arrow/cone pointing in the heading direction, NOT a circular dot
  • Color: #33CCFF Waze Cyan filled body with a 3pt white outline
  • Size: 32pt wide × 36pt tall
  • Rotation: rotates with heading
  • Shadow: rgba(0,0,0,0.30) 0 3px 8px for visibility over saturated cartography
  • Pulse: a subtle 60pt cyan outer ring at 0.15 opacity, expanding to 1.5x over 2 seconds infinite

Wazer Avatar (Floating User Emoji)

A unique-to-Waze element: the user's chosen mood character appears on the map as a small emoji-style cartoon avatar.

  • Position: floats alongside the location puck, 8pt up-and-right inset
  • Size: 24pt × 24pt
  • Shape: a circle with the Wazer mood emoji inside (Happy, Stuck, Lucky, Tired, etc.)
  • Border: 2pt white ring
  • Pop animation: when chosen, scales 0 → 1.2 → 1.0 with a 400ms spring

The Next-Turn Card (Top of Screen During Navigation)

The hero component while driving.

  • Position: top of screen below safe area, full-width
  • Height: 100pt
  • Background: solid #7E55BE Waze Purple
  • Layout: leading 64pt × 64pt direction-arrow icon (white, custom Waze direction glyph) + main content + trailing exit-route button
  • Direction arrow: rotated to match the turn (right, left, slight, sharp)
  • Distance row: Boing Mono 28pt Bold white tabular, e.g., "0.4 mi"
  • Street name: Boing 22pt Bold white, e.g., "Market Street", 2-line truncate
  • Sub-instruction: Boing 14pt Regular white at 80% opacity, e.g., "then turn left in 0.6 mi"
  • Corner radius: 0pt on top (extends into safe area), 16pt on bottom corners
  • Tap: opens the full directions list

ETA Bottom Bar

  • Position: sticky bottom, full-width
  • Height: 80pt + safe area
  • Background: #FFFFFF
  • Layout: left side ETA info + center route alternative pill + right side "Stop" button
  • ETA time: Boing Mono 24pt Bold #1A1A1A tabular, e.g., "12 min"
  • Distance + arrival: Boing Mono 17pt Medium #6B6B6B tabular, "5.2 mi · 6:14 PM"
  • Alternative route pill (when offered): a centered green #75C73E pill with "Save 3 min" — tap to switch routes
  • Stop button: outlined red #EF6A65 pill at right with white background, "End"
Responsive behaviourRead the full spec

Device Sizes

DeviceWidthKey Changes
iPhone SE (3rd gen)375ptNext-turn card compresses; report wheel sized down to 240pt
iPhone 13/14/15390ptStandard layout — full-size report wheel, 100pt next-turn card
iPhone 15/16 Pro393ptDynamic Island accommodated in next-turn card with custom inset
iPhone 15/16 Pro Max430ptSlightly larger speed-limit tile and FAB
iPad Mini744ptSearch card becomes a 360pt left sidebar; map fills the rest
iPad Pro 11"+834pt+Persistent sidebar + map + right-side details pane

Dynamic Type

  • Place card title, body, list rows: full scale
  • Next-turn card, ETA numbers, speed-limit, hazard speech bubble text: FIXED (glance- and layout-critical)
  • Map labels: zoom-controlled, fixed at user's preferred Dynamic Type within limits

Orientation

  • Portrait: default
  • Landscape: next-turn card stays at top but compresses to 64pt height; speed tile moves to top-right
  • iPad: persistent sidebar across orientations

Touch Targets

  • FAB: 56pt
  • "Go" button: 56pt height, 200pt+ width
  • Hazard speech bubble: full bubble is tappable for confirmation/dismissal
  • Speed tile: tap opens speed settings
  • Map controls: 44pt each
  • Wazer avatar: tap opens mood picker, 32pt hit area on 24pt glyph

Safe Area Handling

  • Top: next-turn card extends into safe area with 16pt content padding from the safe area top
  • Bottom: ETA bar respects safe area; FAB sits 16pt above ETA bar's safe-area inset

Drop-in CSS variables

The same values as a theme block. Add the class to <body> and the site repaints.

body.theme-waze {--page-bg: #ffffff;
  --page-bg-gradient: none;
  --text-color: #1a1a1a;
  --heading-color: #1a1a1a;
  --link-color: #007ca6;
  --link-hover-color: #005673;
  --border-color: #d6d6d6;
  --card-bg: #ffffff;
  --card-shadow: 0 1px 2px rgba(26,26,26,0.06);
  --card-hover-shadow: 0 6px 18px rgba(26,26,26,0.12);
  --header-bg: #1a1a1a;
  --header-text-color: #ffffff;
  --header-shadow: none;
  --footer-bg: #ffffff;
  --footer-text-color: #6a6a6a;
  --button-bg: #33ccff;
  --button-text-color: #000000;
  --button-hover-bg: #00bfff;
  --button-border: none;
  --button-border-radius: 24px;
  --button-secondary-bg: #f1f1f1;
  --button-secondary-text-color: #1a1a1a;
  --button-secondary-hover-bg: #e4e4e4;
  --button-secondary-border: 1px solid #d6d6d6;
  --prompt-bg: #f4f4f4;
  --prompt-text-color: #1a1a1a;
  --base-font: var(--font-mono);
  --heading-font: var(--font-helvetica);
  --card-border-radius: 24px;
}

Download theme.css

Visually close to

Measured with a deterministic colour + geometry comparison across 958 styles. Not a hand-picked list.

Where this came from

Source document
ios/design-md/travel/waze/DESIGN.md · 28.2 KB
Repository
Meliwat/awesome-ios-design-md
Licence
MIT

Source text is reproduced under its original licence. Tokens, similarity scores and page structure are ours.