Design System Analysis of NerdWallet

NerdWallet is a comparison engine wearing an editorial coat. Article pages open on a wide green gradient band, then drop to near-white where dense rate tables do the real work. One deep green fills every button, active tab and rating star; beneath it a three-step mint ladder washes the section panels. Corners stay almost square and there is essentially no elevation.

01 — Foundations

Color Palette

Brand & Accent

primary

#008254

Every action and active state

primary-deep

#006642

Dark statistic panel fill

forest

#00482f

Deepest green, editorial chrome

on-primary

#ffffff

Type on a green ground

Lime family

lime-hero

#9ae600

Brand name inside the hero headline

lime-panel

#e8fdac

Expert-tip panel fill

lime-accent

#ddfa88

Highlight marks

lime-ribbon

#a8ea4c

Lime end of the marquee gradient

logo-lime

#8dc63f

Lime inside the wordmark mark

Surface

canvas

#ffffff

The page, nav and cards

canvas-soft

#f7f7f7

Long-page tint and secondary button

mint-50

#effcf8

Palest wash / icon tiles

mint-100

#e3faf2

Photo frames and ribbon pills

mint-200

#b7ecda

Most saturated mint

hairline

#ebebec

Row and card rules

hairline-strong

#d8d9da

Visible card and outline border

Text

ink

#000000

Headings and product names

body

#3d4045

Running copy and spec labels

muted

#64666a

Captions and disclosures

faint

#b1b3b5

Quietest metadata tier

Semantic

link

#005fb9

Inline reference links

info

#4b99e6

Supporting informational marks

error

#de2828

Validation and destructive

02 — Foundations

Typography

Montserrat — a Swiss neo-grotesque (Inter shown as substitute). Hierarchy is built from size and tight negative tracking on the display end; weight stays restrained (medium 500 headings, regular 400 body).

display-xl
Gotham → Montserrat
52px / 700 / lh 1.15 / ls 0
Homepage hero headline
Smart financial decisions
display-lg
GothamDisplay → Montserrat
40px / 700 / lh 1.2 / ls 0
Editorial page headline
Smart financial decisions
heading-1
GothamDisplay → Montserrat
36px / 700 / lh 1.2 / ls 0
Section headline
Smart financial decisions
heading-2
Gotham → Montserrat
28px / 700 / lh 1.25 / ls 0
Sub-section headline
Smart financial decisions
stat-value
Gotham → Montserrat
24px / 700 / lh 1.2 / ls 0
Statistic figure
Smart financial decisions
heading-3
GothamDisplay → Montserrat
20px / 700 / lh 1.3 / ls 0
Card title
Smart financial decisions
heading-4
Gotham → Montserrat
20px / 500 / lh 1.3 / ls 0
Light sub-heading
Smart financial decisions
body-lg
Gotham → Montserrat
18px / 300 / lh 1.5 / ls 0
Lead paragraph
Smart financial decisions
body-md
Gotham → Montserrat
16px / 300 / lh 1.5 / ls 0
Body copy
Smart financial decisions
body-sm
Gotham → Montserrat
14px / 300 / lh 1.5 / ls 0
Table copy, captions
Smart financial decisions
ui-label
Gotham → Montserrat
14px / 700 / lh 1.2 / ls 0
Button and nav labels
Smart financial decisions
ui-sm
Gotham → Montserrat
13px / 500 / lh 1.3 / ls 0
Dense interface text
Smart financial decisions
caption
Gotham → Montserrat
12px / 500 / lh 1.4 / ls 0
Field labels, disclosures
Smart financial decisions
eyebrow
Gotham → Montserrat
12px / 700 / lh 1.2 / ls 0
Uppercase section labels
Smart financial decisions
micro
Gotham → Montserrat
11px / 500 / lh 1.4 / ls 0
Trust badges, fine print
Smart financial decisions
03 — Components

Button Variants

button-primary · 2px, flat 16px padding

The green action. Flat 16px on all four sides and a 2px radius keep it reading as a rectangle.

button-secondary · same geometry

Fill and text roles swapped; the pair reads as one control at two weights.

button-outline · 8px, shorter

The only button that departs from both the square radius and the flat padding.

icon-circle · active / inactive●●

The category rail: a green active tile against mint inactive tiles.

badge-compare · 10px lime badgeCompare now

Pale-lime badge pinned to the leading rate card.

award-ribbon-pill · square-ended2026 Best Bank

A folded green flag mark introducing a square-ended mint banner.

04 — Components

Cards & Surfaces

product-card · 8px

White surface, visible hairline border, no shadow. The workhorse of the comparison pages.

rate-card · 12px

Clickable comparison tile with a green circular arrow and two rate rows.

category-tile · 12px

Flat illustration, bold title, two lines of muted copy, corner arrow.

section-panel-mint · 16px

The palest wash. Separation without a border or a shadow.

expert-tip-panel · 8px

Pale-lime editorial callout. Held as a light island in dark mode, so its type stays dark.

stat-block-dark · 8px

Deep-green statistic panel that sits inside the expert-tip callout.

05 — Components

Form Elements

text-input · square, 0 radius

The system gives inputs no radius of their own — the containing chrome supplies the shape.

field label + value (spec-cell)
Annual fee
$0

Label above value, ruled on the leading edge. Never inline.

textarea
06 — Foundations

Spacing Scale

8px base unit. Card interiors use xl (24px); section gaps run giant (64px) to section (128px).

xxs
4px
xs
8px
sm
12px
md
16px
lg
20px
xl
24px
xxl
32px
section
40px
07 — Foundations

Border Radius

A deliberate two-step: tight 6px on everything interactive (buttons, inputs), generous 16px on content cards.

none
0px
xxs
1px
xs
2px
sm
4px
md
6px
lg
8px
xl
10px
xxl
12px
xxxl
16px
tooltip
20px
full
9999px
08 — Foundations

Elevation & Depth

Level 0 — flat on the canvas. Body copy, table rows, headings.
Level 1 — 1px hairline rule. Row dividers and spec-cell separators.
Level 2 — 1px strong border. Product cards, outline buttons, accordion rows.
Level 3 — two stacked 5% shadows. Registers as settling, not lifting.
Level 4 — overlay surfaces.
09 — Responsive

Responsive Behavior

NameWidthKey changes
Small mobile< 425pxSingle column; comparison tables become stacked cards; nav reduces to logo plus menu
Mobile425–599pxSingle column; spec grids collapse to one-per-row
Large mobile600–767pxTwo-up category tiles; table columns begin to drop
Tablet768–1023pxCategory rail scrolls horizontally; product cards keep their action column
Laptop1024–1279pxFull table layout with tightened gutters
Desktop≥ 1280pxFull layout at container width
425
600
768
1024
1280

Touch targets: the filled button pair clears 44×44 comfortably at its flat 16px padding; button-outline at 8px 16px sits close to the minimum and needs its hit area extended on touch widths. Collapsing: the nav keeps the wordmark, search and both account controls as long as possible and drops the category links first. Comparison tables are the main responsive event — each row reflows into a stacked card where the institution, rating and rate become vertical fields and the action goes full-width.