Overview

Brand personality & design principles

EasyGo's visual identity is built on clarity, trust, and empowerment. Every design decision prioritises low cognitive load — interactions are predictable, labels are explicit, and colour is used purposefully rather than decoratively.

The palette is anchored by a confident Navy Blue (#005299) that communicates reliability and authority, paired with a crisp white ground. A 4px grid governs all spacing. Lexend — chosen for its proven readability improvements for users with dyslexia — is the sole typeface used throughout the system.

Corner radii are generous (up to 32px) to give the UI a friendly, approachable character while remaining professional. Interactions always surface focus states to support keyboard and switch-access navigation.

Colors

Primitive palette and semantic token mappings from Figma variables

Primitive Palette
blue/400#005299
blue/500#002a4e
blue/300#0489ff
blue/100#d1deee
base/white#ffffff
base/black#111111
grey/100#dbdbdb
grey/300#888888
grey/500#3b3a3a
yellow/200#f2c85c
red/100#f9b4ad
red/300#d31200
Semantic Token Mapping

Background

background/primary→ base/white
background/secondary→ blue/400
background/tertiary→ blue/400
background/overlay→ base/black

Body Text

body text/primary→ base/black
body text/secondary→ blue/400

Heading Text

heading text/primary→ blue/400
heading text/secondary→ base/black

Dialog

dialog/background/primary→ base/white
dialog/background/secondary→ blue/400
dialog/border/primary→ blue/400
dialog/border/secondary→ blue/400
dialog/text/primary→ base/black
dialog/text/secondary→ blue/400
dialog/hover/primary→ blue/100
dialog/focus/primary→ blue/300

Button

button/background/primary→ blue/400
button/background/secondary→ base/white
button/background/disabled→ grey/100
button/background/error→ red/300
button/background/hazard→ yellow/200
button/text/primary→ base/white
button/text/secondary→ blue/400
button/text/disabled→ grey/300
button/hover/primary→ blue/500
button/hover/secondary→ blue/100
button/focus/primary→ blue/300

Toggle

toggle/background/on→ blue/400
toggle/background/off→ grey/100
toggle/background/disabled→ grey/300
toggle/hover/on→ blue/500
toggle/hover/off→ blue/200
toggle/focus/on & off→ blue/300

Icons

icons/primary→ blue/400
icons/secondary→ base/white
icons/tertiary→ base/black
icons/disabled→ grey/300
icons/hazard→ yellow/200
icons/error→ red/100

Divider

divider/primary→ blue/400
divider/secondary→ base/black
divider/tertiary→ base/white

Input

input/background/primary→ base/white
input/background/disabled→ grey/100
input/text/primary→ base/black
input/text/placeholder→ grey/300
input/text/disabled→ grey/300
input/border/primary→ base/black
input/border/disabled→ grey/100
input/hover/primary→ blue/100
input/focus/primary→ blue/300

Route

route/primary→ blue/100
route/secondary→ blue/400
route/tertiary→ blue/300

Tooltip

tooltip/background/primary→ base/white
tooltip/background/secondary→ blue/100
tooltip/background/tertiary→ grey/100
tooltip/background/hazard→ yellow/200
tooltip/background/error→ red/100
tooltip/text/primary→ base/black
tooltip/border/primary→ blue/400
tooltip/focus/primary→ blue/300

Map Header

map-header/background/primary→ blue/400
map-header/text/primary→ base/white

Typography

Lexend is the sole typeface — chosen for improved reading performance and dyslexia support.

heading/h1 · 32px · 700
Heading 1
heading/h2 · 28px · 700
Heading 2
heading/h3 · 24px · 700
Heading 3
heading/h4 · 20px · 700
Heading 4
heading/h5 · 16px · 700
Heading 5
body/primary · 16px · 400
Body text — primary weight
body/small · 14px · 400
Body text — small
body/caption · 12px · 400
Caption / label text
button/primary · 16px · 400
Button — Primary
button/small · 12px · 400
Button — Small

Layout & Spacing

4px grid system — all spacing values are multiples of 4.

Named Spacing Tokens
spacing/xs → 4px
spacing/small → 8px
spacing/medium → 16px
spacing/24 → 24px
spacing/large → 32px

Shapes

Corner radius scale

corner-radius/small
8px
corner-radius/medium
16px
corner-radius/large
32px

Button

button

Buttons should be used to indicate an action on a screen.

Types: 1. Primary — main CTA   2. Secondary — important but not primary   3. Tertiary — less critical actions   4. Disabled — action not currently available   5. Icon-only — action communicated through a widely recognised icon

Sizes: Primary (40px h, 8/16px padding, r16, 16px text) · Small (24px h, 4/8px padding, r8, 12px text)

States: Default · Hover · Focus

Primary type
Secondary type
Tertiary type
Disabled type
Small size
Icon-only

Toggle

toggle

The toggle component is used to visually represent whether something is on/off (true/false). This can apply to other elements such as settings. Has similar use to a checkbox input, however, it should not be used in form input groups, while a checkbox should be used in a form input group.

Click to toggle
Disabled · Off
Disabled · On

Expandable Card

expandable-card

The expandable card is a component that can be interacted with to expand and show more information on the card. On the default collapsed view, the card should only display the title of the card.

The ADA lorem ipsum. Two sentence blurb that tells how this resource can be used.

206-555-4646
http://www.ada.gov
Local Office
4509 Main St.
Seattle WA 98111

↑ Click to expand/collapse

Saved Card

saved-card

Displays a saved route in the user's library. Available in Primary (white) and Secondary (blue) variants, with Default, Hover, and Focus states. Supports Named and Address sub-variants.

Primary variant
Home
1234 Pine St, Seattle WA 98101
1234 Pine St, Seattle WA 98101
Saved route
Secondary variant
Home
1234 Pine St, Seattle WA 98101

Tooltip

tooltip

A tooltip displays information when a user clicks or focuses on different map-marker icons on the map. The message can be text (e.g., Accessible Crosswalk — Aloha St & Warren Ave N) or icons (e.g., multiple map-markers).

Tooltip text only
Primary
Tooltip text only
Secondary
Tooltip text only
Tertiary
Tooltip text only
Hazard
Tooltip text only
Error

Text Inputs

input/text & input/text-area

Text inputs collect user input. States: Primary, Hover (blue/100 border glow), Focus (blue/400 border + blue/100 ring), Disabled (grey/100 background). Text area provides multi-line entry with the same visual language.

Select

select

Dropdown selector for choosing from a predefined list. States: Closed/Open × Primary/Hover/Focus/Disabled. 48px height. Options inherit Lexend, 16px, base/black on white background.

Default
Disabled

Checkbox & Radio

input/checkbox & input/radio

Form selection controls for use within input groups. Checked/selected state uses blue/400 accent. Disabled state fills the control with input/background/disabled (grey/100).

Checkbox
Radio

Divider

divider

Dividers are used to separate content on a screen. Available in Horizontal and Vertical orientations, and three semantic colours: primary (blue/400), secondary (base/black), tertiary (base/white — for use on dark backgrounds).

Horizontal · Primary (blue/400)


Horizontal · Secondary (base/black)


Horizontal · Tertiary (base/white — dark bg)


Content
Content ← Vertical

Pagination

pagination

Navigation control for paginated content. Includes prev/next arrow controls and numbered page buttons. Current page uses primary blue fill. Disabled state applies to arrows at the first or last page.

nav

The primary navigation menu. Five main app sections — each as a large, touch-friendly nav item with a 64px circular icon and a 24px bold label. Designed for maximum legibility and minimal cognitive overhead.

header

Two header variants. Main — full-bleed navy header containing the full EasyGo logo, used on primary screens. Secondary — compact back-navigation bar with the alt-small logo flush right, used on sub-screens. Both use map-header/background/primary (blue/400).

Main Header
Secondary Header

Map Markers

map-markers

Icon markers placed on the map to communicate route and accessibility information. All markers are 32px × 32px unless noted.

Route End
STOP
Hazard Stop
Hazard Warning
My Location
Traffic Signal
Crosswalk
3+
Multiple

logo

The full size logo is 800px × 264px and should keep that ratio on resize. The alt-small size logo is 264px × 264px and should keep the square ratio on resize.

Full (800×264)
EasyGo full logo
Alt / Small (264×264)
EasyGo alt logo

Settings Section

setting-section

Two types: Toggle — label + sub-label + Toggle on the right (72px h); New Page — label + chevron-right navigates to a detail screen (64px h). Both use white background, grey/100 border, 16px radius.

Accessible Crosswalks
Prefer routes with audible beaconing
About EasyGo