alex m. chong design system
Foundations — Welcome

One visual language runs the whole of alexmchong.ca, drawn from a single set of tokens.

A living design system, drawn from the site's real CSS — it builds alexmchong.ca and shows the systematic method behind it.

Every example here is rendered by the same stylesheets that run the live site, so this is a referenceable system, not an aspirational style guide — when the CSS changes, the documentation changes with it. Each value is defined once and referenced by name: the kind of constraint that gives the system room to grow and stay maintainable.

The approach is Bauhaus in spirit — a structured attention to the basics of materiality: texture, structure, typography. It borrows the way brand guidelines were built in the 1980s and the discipline of a corporate computer manual, which is where the grey comes from. It takes that era's structure, not its surface; it doesn't imitate paper.

The type carries personality on purpose, so the message leads and the styling stays quiet. Much of contemporary design reaches for theatrics — loud colour, heavy lines, thick type — but thick type doesn't make a point bold if the point is thin. This is built the way the practice works: systems thinking, structured and thoughtful, never theatrical — meant to be authentic in a field of portfolios that lean on the smokescreen of vibecoded coolness.

The system at a glance

Colour — a warm-neutral base, one sage accent used only in text, and a pool of eighteen category hues at a single intensity.

Type — Barlow for all structure; Instrument Serif, italic and rationed, for emphasis; a fixed 9–54px scale.

Structure — an 8px unit, near-square 4px corners, flat surfaces, and three rule weights from one ink.

This reference is the single source of truth for the system, and a public record of a systematic way of building. Its seven sections move from the smallest pieces toward whole pages: Foundations holds the tokens; Components, the building blocks; Patterns and Pages compose them into sections and templates; CMS covers the tools that author the site, with room for more to come; Applied carries the system into new contexts; and CSS Library is the same system seen by source file.

01
Color System
A warm neutral foundation with one chromatic accent. Every colour is exposed as a CSS custom property — always reference by token name. Category colours are semantic — they carry content identity, kept out of chrome.
Primary
--primary
#191715
Secondary
--secondary
#494846
Muted
--muted
#818080
Neutral
--neutral
#E8E8E8
Canvas BG
--canvas-bg
#F3F2F1
Surface
--surface
#F8F8F8
Accent
--accent
#6B7F6E
White
--white
#FFFFFF
Ink Mid
--ink-mid
#646361
Ink Faint
--ink-faint
#716F6E
Primary Hover
--primary-hover
#333333

For light surfaces — borders, dividers, subtle hovers, dark overlays. Reach for these instead of inventing fresh rgba alphas. Five steps cover every realistic use.

Hover · zebra
--ink-08
primary 8%
Faint divider
--ink-12
primary 12%
Card border
--ink-18
primary 18%
Section divider
--ink-30
primary 30%
Past-card overlay
--ink-72
primary 72%

Used inside event headers, masterclass gradients, and experiment cards where text and detail sit on a near-black ground.

Ghost detail
--white-06
white 6%
Subtle border
--white-15
white 15%
Muted text
--white-45
white 45%
Primary text
--white-85
white 85%

A pool of 18 chromatic colours, all at the same restrained intensity, named by the colour itself (not by the category that happens to use it). Categories pick from this pool; the design system has no opinion about which category gets which hue. Add a new category by adding a new .card[data-category="…"] { --c-current: var(--c-…); } mapping at the bottom of the cards block.

Rust
--c-rust
#765150
Terracotta
--c-terracotta
#7D4631
Clay
--c-clay
#765E44
Amber
--c-amber
#81642A
Ochre
--c-ochre
#786E4A
Olive
--c-olive
#6E7448
Moss
--c-moss
#607549
Forest
--c-forest
#49634B
Sage
--c-sage
#4D705A
Teal
--c-teal
#4A716E
Ocean
--c-ocean
#4A6677
Denim
--c-denim
#46556A
Indigo
--c-indigo
#4D567A
Purple
--c-purple
#5D5376
Violet
--c-violet
#6C4D7A
Plum
--c-plum
#785071
Mauve
--c-mauve
#6F4B61
Rose
--c-rose
#7A5160

Series pills, framework badges, and journal rules use a tinted version of their category colour. Don't define new tokens for every category × alpha combination — use color-mix(in srgb, var(--c-terracotta) 35%, transparent) at the call site. Standard alphas: 20% (ghost dot), 35% (border), 40% (badge border).

Two near-black tones used only as the full-bleed background of experiment cards. Separate from the category pool — these create the surface for content rather than carrying its identity.

Experiment
--c-experiment-experiment
#1C1028
Case Study
--c-experiment-case-study
#0A1F1A
Page backgroundvar(--neutral) Canvas surfacevar(--canvas-bg) Card surfacevar(--surface) All headingsvar(--primary) Body copyvar(--secondary) Metadata / de-emphasisvar(--muted) Inline highlightsvar(--accent) — text only Text on darkvar(--white) Button hover (dark)var(--primary-hover) Structural bordersvar(--rule) — 1px primary Section dividersvar(--rule-30) — 30% primary Card / row bordersvar(--rule-faint) — 18% primary
02
Typography
Two families, strictly bounded roles. Barlow carries all structural type. Instrument Serif italic appears only where the human voice breaks through — used as voice, not decoration.
var(--text-display)54px · hero display var(--text-h0)48px · large display var(--text-h1)40px · h1 var(--text-h2)32px · h2 var(--text-h3)28px · serif section intro / event title var(--text-h4)24px · h3-equivalent var(--text-h5)22px · card title / pull quote var(--text-body-lg)20px · body-lg / lead var(--text-body)18px · body — moderate var(--text-md)16px · default body var(--text-sm)15px · body-sm var(--text-base)14px · button / nav / base UI var(--text-meta)13px · metadata / table cell var(--text-pill)12px · pill / micro body var(--text-label)11px · eyebrow / mono / uppercase label var(--text-tiny)10px · status badge var(--text-micro)9px · extreme micro
display
54px / 500 / lh 66px / -0.02em
Weight 500 — power from scale not stroke
Design Leadership
h1
40px / 600 / -0.015em / lh 1.15
Upcoming Talks
h2
32px / 600 / -0.01em / lh 1.2
Design Principles
h3
24px / 600 / lh 1.3
Product Strategy & UX
body-lg
20px / 500 / lh 1.7
Weight 500 minimum on this bg
I coach and train design teams & individuals to produce their strongest work.
body-md
16px / 500 / lh 1.65
Alex is a product design leader and coach who specializes in complex problems outside typical processes.
body-sm
15px / 500 / lh 1.5
Based in Toronto · Director of UX · Open to conversations
meta / label
Barlow Condensed 12–13px / 700
uppercase · letter-spacing 0.12–0.18em
Pills and labels only
Leading Design · Apr 28, 2026 · 14 min

Same font, weight, and size as surrounding text. Only color changes. Creates depth and rhythm inside a statement without adding hierarchy. This is the primary expressive tool in display copy.

Design culture and craft
I am a strategist. An educator. A designer of everyday interactions.

Minimum 22px · Saturated colour only · Italic weight 400 only · Inline only via display:inline-block · Max 2 instances per page

hero inline
1.15× context size
inline-block prevents clipping
shaping its future
section intro
24–28px / secondary color
First sentence of a major section
A way of thinking differently about what design can do — well beyond fixing your process.
pull quote
22px / primary color
With left border rule
"The gap between strategist and executor sits openly in the room now."
journal title
21px / category rule color
Bumped above body text size
The designers struggling most with AI were already struggling to articulate why their decisions mattered.
✓ Instrument Serif

Hero emphasis word · Section intro sentence · Pull quote in article · Journal entry title · About page statement · Logotype

✗ Never Instrument Serif

Body copy · Navigation · Buttons · Labels · Metadata · Captions · Anything below 22px · Anything in muted color

03
Spacing
A 10-step scale tied to the 8px base. The token name embeds the px value — var(--space-24) = 24px. Use only inside padding, margin, gap, and inset — keep border widths, blur radii, and font sizes on their own scales.
var(--space-4)4px · hairline gap · pill inner padding var(--space-8)8px · base unit · default gap inside compact rows var(--space-12)12px · between label + control · tight stack var(--space-16)16px · md spacing · between paragraph + spec var(--space-20)20px · grid gap on cards · controller row var(--space-24)24px · lg · default card padding · header spacing var(--space-32)32px · between groups · sidebar group block var(--space-48)48px · page gutter · canvas outer padding · 2xl var(--space-64)64px · hero block bottom · 3xl var(--space-96)96px · major section spacing · 4xl
--space-4
--space-8
--space-12
--space-16
--space-20
--space-24
--space-32
--space-48
--space-64
--space-96
04
Sections, Headers & Dividers
The structural vocabulary of every documented page. Use this anatomy whenever you're laying out content inside a canvas — it's how the rest of the system stays consistent.

A canvas is a stack of .section blocks. Each section opens with a .section-header (number + title + description), then any combination of .section-label eyebrows and .preview-frame showcases.

XX
Section Title
A short paragraph naming what this section documents and why a reader would care.
.preview-frame · rendered preview lives here
.preview-frame · second example
.sectionWraps every documented item in a canvas. Provides 80px bottom margin and a scroll-anchor for the sidebar. .section-headerOpens every section. Number + title + description. Underlined with var(--rule) (full primary). Don't omit the description — it's where the section earns its place. .section-numTwo-digit ordinal in mono. Sequential within the canvas. JetBrains Mono 11px muted. .section-titleBarlow 22px / 600. The h-level for a documentation block. .section-descBody-sm secondary. Caps at ~600px width to keep the eye-line short. .section-labelSmall Barlow Condensed eyebrow above a preview or sub-block. Auto-spaces 80px above siblings (except first child of a section). Use for "Variants", "States", "Anatomy", etc. .preview-frameDot-grid bordered container for the actual rendered example. Inherits surface tone, leaves padding to the inline style of the instance.

Three line-weight tokens, all derived from the primary ink. Choose one axis — line-weight (thin vs thick) or line-darkness (full vs faint). Thick at low opacity reads muddy in both directions.

var(--rule) · 1px primary
Structural — section-header underline, sidebar separator, table header. The strongest mark.
var(--rule-30) · 1px primary at 30%
Boundary — topbar bottom edge, layout-nav, layout-footer. Visible but stepped back.
var(--rule-faint) · 1px primary at 18%
Separator — card borders, table row dividers, type-row separators, preview-frame edges.

Two ways to mark a sub-block of content. .section-label is the small inline eyebrow used everywhere in this documentation. .section-strip (defined elsewhere) is a heavier full-width strip with a bottom rule, reserved for major group dividers within a flat layout.

Used at the top of a content row (a strip of cards, a list of articles inside an Editorial Index). The eyebrow names the group and shows a count; the "View all" link sits flush right. The eyebrow tints with the group's category colour — set --c-current on .group-header and the eyebrow inherits it.

For Designers — 3 of 12 View all →
.cards-grid · content row
Leading Design — 3 of 8 View all →
.cards-grid · content row
.group-headerflex space-between · margin-bottom: var(--space-20). Set --c-current here to tint the eyebrow. .group-header-eyebrowBarlow Condensed 11px / 700 / uppercase / 0.20em letter-spacing. Inherits var(--c-current). .group-header-linkSame family/size/weight as the eyebrow but tighter letter-spacing (0.14em) and primary colour. Hover fades opacity to 0.5.
05
Texture
Two surface treatments carry the warm-paper feel of the brand. They're applied as background images on --neutral and are deliberately faint — the swatches below are at true scale, with an 8× crop so the actual pattern reads. Drawn live from the real CSS.
06
Icons
A small set of inline SVG glyphs, drawn at the same hairline weight as the rules. Each renders with currentColor, so it inherits the surrounding text colour — the journal glyphs take their category colour. There is no icon font; icons live inline in the markup.
Bookmark
.bm · 24×24 · all card headers
Introspection
14×14 · journal · category colour
Contemplation
14×14 · journal · category colour
Insight
14×14 · journal · category colour
Clock · Past Event
24×24 · event cards (past)

The functional glyph set for the CMS admin shell: one per sidebar destination, all drawn on a 14×14 grid at the same 1.2px hairline stroke. They render in currentColor, so they pick up the nav item's state colour (muted at rest, primary when active). The closing ✕ is the only action glyph — it backs the remove/close buttons.

Dashboard
Overview
Analytics
Overview
Post History
Overview
Ideation
Writer's Desk
Draft Writing
Writer's Desk
Articles
Library
Journals
Library
Live Sessions
Library
Experiments
Library
Pages
Site
Indexes
Site
Navigation
Site
Redirects
Site
Categories
Collections
Series
Collections
Subscribers
Audience
Post Templates
System
Settings
System
Design System
System
Close · Remove
.btn-icon · action
Arrow
U+2192 · meta strips · CTAs
Time
U+25F7 · masterclass logistics
Location
U+25CB · masterclass logistics

A generated background for experiment cards: concentric rings and satellite dots, seeded per card from a hash of its id, so rotation and arrangement vary card to card. The forest ramp marks case studies; the purple ramp marks experiments.

Concept · forest
Prototype · purple
05
Buttons & CTAs
Three tiers of call-to-action, each stepping back from the previous. The type is always the thing — buttons exist to clarify action, not to compete with content.
Primary
backgroundvar(--primary) colorvar(--surface) border1px solid var(--primary) radiusvar(--space-4) padding11px var(--space-24) fontBarlow 14px 600 hoverbg var(--primary-hover)

Use for the single most important action on a section. One primary button per content zone maximum.

Secondary
backgroundvar(--surface) colorvar(--primary) border1px solid var(--primary) radiusvar(--space-4) padding11px var(--space-24) fontBarlow 14px 600 hoverbg primary, color surface

Supporting action alongside a primary. Use when two actions share equal or near-equal weight.

Tertiary
border-bottom1.5px solid var(--primary) backgroundtransparent fontBarlow 14–15px 600 hoveropacity 0.45

Low-emphasis links and nav. No box. The bold weight retains authority without the visual weight of a bordered button.

Design Leadership
Fractional design leadership for early-stage and scaling startups navigating complex product decisions.

One primary · One secondary · One tertiary. The eye reads them in order. Never two primary buttons in the same zone.

✓ Do

Use one primary per content zone · Let the hierarchy guide reading order · Use underline link for low-stakes navigation · Arrow suffix (→) on forward navigation

✗ Don't

Two primary buttons side by side · Using accent colour (var(--accent)) as button fill · Pill radius on buttons — system uses 4px · All-caps button text

07
Filter Controls
OR multi-select content filters. Category identity is expressed through colour — hover reveals the category colour, active fills it. Barlow Condensed only — these are the designated space for the condensed variant.

Click to toggle. Hover any inactive pill to preview its category colour.

fontBarlow Condensed 12px 700 uppercase letter-spacing0.14em border-radius3px padding6px 14px default border1px solid var(--primary) default bgsurface hoverborder + text → category colour activecategory colour fill, white text logicOR — multiple selections allowed all deselectedAll re-activates automatically
✓ Do

Use for content type and category filtering · Allow multiple selections simultaneously · Always include an All option · Show active count or result count nearby when possible

✗ Don't

Use Barlow Condensed outside of pills · Use for AND logic without making that explicit · Use more than 8 pills in a row — wrap is fine but consider grouping

10
Checkbox
Near-square box, hairline border on surface; checked fills --primary with a white check — the same "selected = primary" language as the filter pills and active nav. Keyboard focus uses the DS denim ring.

Click to toggle. Tab to a checkbox to see the focus ring.

box18×18 · border-radius var(--r-card) (4px) · flat uncheckedhairline var(--rule) on var(--surface) checkedvar(--primary) fill · white check (currentColor = surface) hoverborder → var(--primary) focusvar(--focus-ring) — denim, :focus-visible only disabledvar(--ink-08) fill · 0.5 opacity markuplabel.ds-check > input + span.ds-check-box (svg check)
09
Dashboard Cards
Surface containers for dashboard, app, and tool UIs — distinct from the content card (article/index cards with headers and meta). Two roles; pick by what the card holds.
A grouping
Plain surface for disposable, simple grouped content — panels, list groups, sections.
usedisposable / simple grouped content — a container, not an object shellsurface · rule-faint border · r-card radius · space-20 padding accentnone
Health
An easy 10k by September.
The CMS
Shipped to production, calmly.
usecards with their own identity/standing — referenced, featured, or launched (seasonal intentions, the tools/app launcher). Not disposable. accent3px left edge in the card's hue — set --c-current per card baseextends .dash-card
08
Pills & Badges
Four distinct pill types serving different purposes. All use Barlow Condensed. The shapes are similar — the distinction lives in color, fill, and context of use.
UX 2.0 Series Part 2 of 3
fontBarlow Condensed 12–13px 600 uppercase bordercategory colour at 35% opacity colorcategory colour bgtransparent radius4px useMulti-part article series only
Principle Framework

Sits below the article title. Signals that the article is a foundational position or structured model — not a news piece or opinion.

Free $249 In-Person Remote In 6 Days Past
fontBarlow Condensed 13px 700 uppercase radius3px padding3px 10px displayinline-flex align-items:center line-height1.4 — ensures vertical alignment useEvent cards only, ev-footer zone
06
Navigation
A centered pill-button bar. All nav links share the same component — there is no separate "active" styling beyond what hover provides. The handwritten logotype sits outside the type system entirely.
backgroundvar(--surface) border1px solid var(--primary) border-radiusvar(--space-4) paddingvar(--space-8) 18px marginvar(--space-4) between pills fontBarlow 13px 600 letter-spacing0.02em — mixed case hoverbg var(--primary), color surface wrappingflex-wrap — breaks to 2 rows on narrow
Default Coaching
Hover Coaching
01
Card Anatomy
All card types share the same shell — flat, bordered, near-square, no shadow. Depth comes from border contrast on hover. What changes between types is the header tone, the body content, and the footer. Use this as the mental model before reaching for a specific card type.
backgroundvar(--surface) — light cards · var(--c-experiment-experiment/case-study) — dark cards border1px solid var(--ink-18) · darkens to var(--primary) on hover border-radiusvar(--r-card) = 4px (near-square) box-shadownone — depth is border-only overflowhidden — nothing peeks past the corners layoutflex column · header → body → meta-strip paddingscoped via --pad (24px on cards)

Every card resolves to the same three-zone structure. The header announces type and identity (category label, dark zones for events, gradient for masterclass). The body carries the headline + supporting content. The meta-strip closes with utilitarian metadata and a forward arrow.

.card-headerType / category labels and bookmark icon. Dark on event & experiment cards. .card-bodyTitle + excerpt + tags or framework badge. The reading content of the card. .meta-stripMetadata row at the bottom — date, read time, action arrow. See section 05 for the full anatomy.

Each card sets a single CSS custom property — --c-current — based on its data-category. Every coloured element inside the card (category label, series pill border, framework badge, journal rule, sdot indicator) reads from that single token. Adding a new category is one line of CSS — pick a colour from the pool, point --c-current at it.

defaultfaint border, surface bg :hoverborder darkens to primary — only depth signal .pastapplied to past events. Dark zones overlay at var(--ink-72), content remains legible.
02
Article Cards
Editorial entries for the writing track. Category label, italic title, optional series pill, excerpt, tag row, and meta strip with date and read time.
UX Industry

A Discipline Reset

UX 2.0 Series Part 1 of 3

UX 1.0 was a discipline built around scarcity — scarce access to users, scarce ability to prototype, scarce tools to test. AI dissolved the scarcity entirely.

Discipline HistoryReframe
Mar 4, 202614 min read
UX Industry

What a Post-AI Workflow Actually Looks Like

UX 2.0 Series Part 2 of 3

The designers thriving right now changed how they think before they changed how they work.

AI WorkflowActionable
Mar 28, 202611 min read
UX Industry

UX 2.0 Is a Thinking Problem

UX 2.0 Series Part 3 of 3

Everyone is talking about which AI tools designers should learn. Nobody is asking whether the role itself needs to change. Those are very different conversations.

Role EvolutionUncomfortable
Apr 14, 20269 min read
Leading Design

The Designer Who Runs the Room

Principle

Design leadership is about building the conditions where stronger decisions get made — with or without you in them.

Design InfluenceFoundational
Feb 12, 202612 min read
Leading Design

Why Most Design Teams Address Symptoms

The symptoms are always visible — slow output, constant rework, misaligned stakeholders. The cause sits a layer below.

Team HealthDiagnosis
Jan 22, 202613 min read
For Designers

Burnout Lives Below Workload

Principle

Most designers hit the wall when they've lost the thread connecting their work to something they actually care about.

BurnoutHonest
Apr 3, 20268 min read
For Designers

Your Career Belongs to You

Principle

Most designers wait for something their job is structurally unable to provide. Growth that belongs to you has to be built by you — manager, team, and next role each play their own game.

Career OwnershipReframe
Mar 18, 20267 min read
For Designers

The Practice Outside the Practice

Every designer I know who stayed creatively alive for decades had something they made that no one was paying them for. The pattern repeats.

Creative HealthSlow Burn
Feb 27, 20266 min read
For Designers

Prompting Is Specifying

The designers getting the most out of AI articulate intent better — which was always the job.

AI PromptingReframe
Apr 10, 20266 min read
UX Industry

The Medium Shapes the Designer

Principle

Every tool you default to is quietly training you to think in its constraints. The designers who stay sharp are the ones who keep changing their medium on purpose.

Tools & ThinkingSlow Burn
Feb 5, 20265 min read
Leading Design

The Three Layers of Design Influence

Framework

Most design leaders get stuck at Layer 1 — execution quality. Layer 2 is process ownership. Layer 3 is decision framing. Each requires a fundamentally different kind of presence.

Design InfluenceStructured Model
Jan 14, 202610 min read
For Designers

The Creative Recovery Loop

Framework

A four-stage model for restoring creative momentum after burnout or stagnation: Reduce, Restore, Reorient, Re-engage. Most designers skip straight to the last step and wonder why nothing sticks.

Creative HealthProcess Model
Mar 2, 20268 min read
UX Industry

Signal vs Noise: A Filter for Post-AI Design Decisions

Framework

When every tool claims to accelerate your work, you need a filter more than a workflow. This model maps which decisions require human judgment — and shows how that line keeps moving.

Decision-MakingMental Model
Apr 20, 202612 min read

On a series index, each card carries a faint Instrument Serif part-number behind its content (from _series_number). The card adds .card--has-series-number; the numeral sits at 12% of the category colour, pointer-events none, behind the content.

UX Industry

What a Post-AI Workflow Looks Like

Second in the UX 2.0 series — the part number sits behind the card as a quiet index.

UX 2.0
Mar 28, 202611 min read
03
Event Cards
Talks, workshops, and masterclasses. A dark top (header + location) carries the event type and, when upcoming, a countdown pill. Past events keep full colour and are signalled by a diagonal hatch over the dark top, a clock, and “Past Event”. Format pills sit below the title.
TalkIn 6 Days
Toronto
Toronto, ON
Centre for Social Innovation
May 12, 2026Wed · 7:00 PM ET

Design Leadership in the Age of AI

Upcoming: full colour, countdown pill in the header.

TalkPast Event
Toronto
Toronto, ON
Gladstone House
Mar 3, 2026

Designing for Decisions

Past: keeps full colour (no desaturation). The diagonal hatch across the dark top, a clock, and “Past Event” signal it has happened.

TalkTomorrow
Remote
Remote Talk
Join from anywhere
May 7, 2026Thu · 12:00 PM ET

The State of Design Leadership

Remote variant — ghost “Remote” wordmark in the dark top.

MasterclassIn 2 Months

The Coaching Designer

Masterclass variant — logistics list + dedicated CTA zone.

Oct 2 – 3, 2026 · 9 AM – 5 PM ET
Virtual · 2 Days
Register Now12 Seats · Online
$349
04
Experiment Cards
Experiments and case studies. Deep tonal background with SVG decoration, status dot, and a Launch / Read CTA bar. Distinct from articles to signal "in progress."
Experiment
Live

UX Audit Generator

Feed it a product description — it hypothesizes the most likely UX debt before you open a single screen.

AI ToolInteraction Design
May 2026
Launch
Case Study

Thinking Mode Selector

An interactive model that maps your current cognitive state to the AI interaction mode that matches — so you're directing it from intent.

Interaction ModelAI Collaboration
Apr 2026
Read
Experiment
In Progress

Scope Estimator

Forces tradeoff conversations before the first sprint. Enter constraints — it outputs a range, a confidence level, and a warning.

Decision ToolAI Tool
Apr 2026
Preview
Case Study

Constraint Builder

An interactive design space where you add constraints one by one and watch the solution space shift. A working model of why limitation produces better design.

Interaction DesignSpeculative
Mar 2026
Read
05
Journal Cards
Short reflective entries. Italic Instrument Serif quote with a left-rule in the journal category colour, a thin excerpt, and a date in the meta strip.
Inquiry 001

I keep returning to the idea that constraints reveal what creativity actually is.

The blank page is paralysis with a better story.

Apr 29, 2026
Principle 001

Seniority in design is being the person who changes what the room is trying to do.

That's a completely different skill — and almost no one teaches it. We spend years getting better at execution and almost no time learning how to shift the frame before execution starts...

Apr 17, 2026
Observation 001

The designers struggling most with AI were already struggling to articulate why their decisions mattered.

The tool surfaced a gap that had been sitting quietly for years. That gap is a design thinking problem...

May 4, 2026
06
Card Navigation & Filtering
Cards live behind a controller — type pills choose the card family, category pills filter within it. The logic is OR multi-select: enabling more pills shows more results, never narrows them. "All" is a master toggle that clears every category at once. With nothing selected, "All" auto-re-engages so the user is never looking at an empty set.
Type
25 cards
Topic
Default state"All" engaged on every row · everything visible Click "All"deselects every other pill in that row · "All" stays on Click a categorythat pill toggles · "All" deselects the moment a category is on Multiple categoriesOR-logic — show cards matching ANY active pill Deselect last category"All" auto-re-engages · the user never sees an empty set Visual hoverborder + text shift to category colour (preview the brand) Visual activefilled category colour, white text — pill becomes the brand for that filter
07
Card Meta Strip
The unified bottom zone of every card. Same structure across article, journal, and experiment types — information left, arrow right. The only thing that changes is the surface tone and what the metadata says.
Article
Mar 4, 2026 · 14 min
Journal
May 4, 2026
Experiment
May 2026 · Launch
fontBarlow Condensed 13px / 600 / uppercase letter-spacing0.12em colorvar(--muted) on light · var(--white-45) on dark padding11px var(--space-20) border-topvar(--rule-faint) on light · 1px solid var(--white-06) on dark layoutflex space-between (.row-between utility) arrow15px / weight 400 · var(--secondary) on light · var(--white-45) on dark
10
Hero Writing
The opening statement on a landing or content page. A display-weight Barlow paragraph with the muted-word technique threaded through it, optionally closing on an Instrument Serif italic word for emphasis. The voice of the system, fully committed.
Design Leadership & Practice
I am a strategist. An educator. A designer of everyday interactions. A strong believer in ethics and education. A leader of design culture and craftsman of design communities. I will train the next generation of minds through deliberated technological interactions.
I coach and train design teams & individuals to produce their strongest, most creatively invigorated work — at the intersection of leadership, strategy, and the discipline of design.

Hero Writing carries the system's only allowance for sustained Instrument Serif italic — typically the eyebrow line above and one or two words inside the display block. Every other typographic choice serves the muted-word rhythm. Don't add accent colour outside .ac; don't drop below 22px on any italic.

11
Featured Article
A magazine-style hero block that gives one specific piece headline treatment. Used at the top of an Editorial Index, sometimes inline as an "Editor's Pick" at the top of a content listing. Carries category, title, excerpt, meta, and a CTA — all the moves of a card, scaled to page-feature weight.
— Featured · UX Industry

A Discipline Reset

UX 1.0 was a discipline built around scarcity. AI dissolved that scarcity entirely.

Mar 4, 2026 · 14 min read
Series
UX 2.0 — Part 1 of 3
03
Full-Width Statement
Large display statement with muted-word technique, subhead, and CTA cluster. Used at the top of landing variations.
Hi — I'm Alex, and I care deeply about leading the discipline of design and shaping its future for organizations.
I coach and train design teams & individuals to produce their strongest, most creatively invigorated work.
04
Article Hero Image
An optional hero image between the byline and the prose body (Path A — renders only when set). Three sizes: default holds the text column, wide breaks out to ~1080px, full bleeds to the viewport. Rendered live from the real blocks.css.
.article-herofigure between byline and prose · Path A (renders iff hero_image set) data-sizedefault · wide · full (ENUM) widemin(1080px, 100vw − 64px), centred via left:50% + translateX(-50%) full100vw · square corners · no side borders figcaptionoptional · condensed caps · caps at 640px even when image is wide/full sourceblock-hero-image.php · blocks.css:417-464
05
Editorial Index Heroes
The promoted-lead hero that can open an editorial index. Bleed variants carry a full-bleed image under a gradient; within variants pair the text with an image thumbnail or a series card; solo is text only. Rendered live from the real blocks.css (bleed images are stand-in gradients here).
.editorial-heroopens an editorial index "hero" section · first card promoted --bleed-dark / --bleed-lightfull-bleed bg image + gradient overlay · min-height 480px · text bottom-aligned --withintext + side panel grid (1.4fr / 1fr) · side = image thumb OR series card --bg-surfacesurface background for within / solo .is-solosingle column · text only eyebrow colour--c-current = post category colour sourceindex-editorial.php:102-208 · blocks.css:1399-1585
01
Section Dividers
Rules as structure. Dividers carry the visual rhythm between blocks — most pages need at most two of these, used consistently. Choose the variation that matches the section's job: "we're moving on," "this is a new chapter," or "this is the start of a counted list."

The simplest divider. Use the rule weight that matches the boundary's importance: --rule for structural breaks, --rule-30 for soft section boundaries (page chrome edges, layout-nav bottom), --rule-faint for content separators (table rows, type-row dividers).

--rule · structural
--rule-30 · soft boundary
--rule-faint · content separator

For "we're moving on to a new section." The centred label gets the eyebrow treatment (Barlow Condensed 11px 700 uppercase, primary). Most common between editorial blocks. Don't use it more than 2–3× per page — it's a heavy mark.

Writing

For counted sequences (services, principles, chapters). Index number on the left as a strict typographic anchor, the rule extends through the middle, the section name closes on the right. Reads like a contents listing in a book.

04 —
Design Principles

A wider, heavier divider for major group breaks inside a flat content layout (e.g. between Articles / Events / Experiments on the cards page). Eyebrow on the left, full-width bottom rule. Used sparingly — typically once per "section" of a long scroll.

Articles
Plain ruleA boundary inside a section — between paragraphs, table rows, sidebar groups. Choose weight by importance. Centred labelA break between major editorial blocks. Reads as "new chapter." Numbered labelCounted sequences — services, principles, ordered chapters. Use when order matters. Section stripTop-of-group divider in a flat scrolling layout — content cards, events listing. .section-headerNot a divider — the heading row at the top of a documentation block. Includes a primary rule under it.
02
Two-Column Editorial
Primary layout for service/about sections. Left column carries the heading and CTA, right column carries the editorial voice.
Design Leadership,
Product Strategy &
Innovation Partner
Alex is a product design leader, strategist & coach who specializes in complex problems outside typical processes. Twelve years shipping consumer-ready and enterprise-grade software from concept to implementation.
A way of thinking differently about what design can do — well beyond fixing your process.
A strong design leader and educator who inspires teams to produce their strongest work — specializing in the messy, ambiguous problems that sit outside typical frameworks.
04
Stat Row
Four-cell ruled grid. Numbers in display weight, Instrument Serif italic on the suffix. Rules do all the structural work.
12+
Years Shipping
40+
Designers Coached
6
Industries
3
Countries
05
Service / Feature List
Two-column ruled list. Top rule is full primary, secondary rows use rule-30. Padding carries the spacing — no additional decoration.
What I Offer
Fractional Design Leadership
Embedded design direction for early-stage and scaling startups. Strategic presence without the full-time overhead.
Product Strategy
Shaping what gets built and why. From opportunity framing through to validated direction and roadmap.
1:1 Design Coaching
Structured coaching for mid-to-senior designers navigating career inflection points, leadership, and creative health.
Workshops & Talks
Live sessions on design leadership, post-AI workflows, and building a practice worth having.
06
Pull Quote
Instrument Serif italic inside a left-rule callout. The 3px rule is the heaviest element on the page — use sparingly.
"The gap between strategist and executor sits openly in the room — and that gap is exactly where strong design leadership lives."
alex m. chong — UX 2.0: The Discipline Is Being Corrected
07
Journal Key Statement
On a journal entry this block replaces the title: one declarative sentence in Instrument Serif italic against a left rule in the category colour (--c-current). Rendered live from the real blocks.css.
.article-key-statementInstrument Serif italic · 38px (28/22 at breakpoints) left rule4px solid var(--c-current) · falls back to var(--ink-30) colour sourceentry category → --c-current on the parent <article> sourceblock-key-statement.php · blocks.css:1036-1070
08
Bio / Profile Block
Portrait placeholder + metadata on the left, full bio + CTAs on the right. Portrait scales with the column — always circle, always border-faint.
Portrait
Based in Toronto, ON
Open to conversations
About
Director of UX. Design coach. Educator.
Twelve years shipping consumer and enterprise software from concept to implementation. Worked across agencies, startups, accelerators, and product companies. Now focused on the intersection of design leadership, practice development, and what happens to the discipline when AI removes all the easy excuses.
Masters of Interaction Design · Bachelor of Architectural Studies · Based in Toronto, previously Taipei.
08
Testimonials
Social proof in the document register. No stars, no avatars, no coloured cards. The quote is the thing — Instrument Serif italic carries the voice, attribution sits below in Barlow Condensed.
"Alex thinks about how design creates the conditions for stronger decisions. Working with him changed how our entire team frames problems."
Jordan Lee
VP Product · Series B SaaS
“He has an unusual ability to make the abstract feel inevitable. The team trusted his direction because he always showed his reasoning.”
Priya Nair
Founding Designer · Fintech
“The coaching sessions changed how I think about my own career — what I do next, and what kind of designer I want to be.”
Marcus Chen
Senior UX Designer · Enterprise
“Our product direction became dramatically clearer. Alex brought both the strategic altitude and the craft-level precision we didn’t know we needed.”
Sam Okafor
CEO · Early-Stage Startup
“Exactly the design partner we needed, at exactly the moment we needed them.”
Rachel Torres
CPO · Health Tech
“He asks the kind of questions that surface what you should be solving instead.”
David Kim
Design Lead · Scale-up
09
Top Bar
The site's primary navigation row. Lowercase Instrument Serif italic logotype on the left, rectangular nav pills on the right. Sits flush above page content with a --rule-30 bottom edge — boundary, not weight.
height52px padding0 var(--space-48) backgroundvar(--neutral) border-bottom1px solid var(--ink-30) layoutflex space-between · vertical centre logoInstrument Serif italic 20px · primary nav pillBarlow 12px / 600 · padded 6px 14px · 1px primary border · 4px radius
01
Simple Landing
The primary entry point. Hero statement with muted-word technique, supporting subhead, and CTA cluster. Full-bleed on dot-grid background. Use when the page's job is to set the voice and direct visitors into the system, not to surface specific content.
Design Leadership & Practice
I am a strategist. An educator. A designer of everyday interactions. A strong believer in ethics and education. A leader of design culture and craftsman of design communities. I will train the next generation of minds through deliberated technological interactions.
I coach and train design teams & individuals to produce their strongest, most creatively invigorated work — at the intersection of leadership, strategy, and the discipline of design.
02
Editorial Landing
A layered home page that opens with the hero statement, flows into a profile descriptor, and showcases all content types with their filters in a single scroll. Use when the landing page itself is meant to surface ongoing work — not just direct attention elsewhere.
Hi — I'm Alex, and I care deeply about leading the discipline of design and shaping its future for organizations.
Director of UX · Design Coach · Educator based in Toronto.
What I do
Design Leadership, Product Strategy & Innovation Partner
Alex is a product design leader, strategist & coach who specializes in complex problems that exist outside of typical processes or frameworks.
A way of thinking differently about what design can do — well beyond fixing your process.
Specializing in the messy, ambiguous problems that sit outside typical frameworks — where design thinking matters most.
Latest thinking
View All →
UX Industry
A Discipline Reset
UX 2.0 SeriesPart 1 of 3

UX 1.0 was built around scarcity. AI dissolved it.

Reframe
Mar 4, 2026 · 14 min
TalkIn 6 Days
Toronto
Toronto, ON
Centre for Social Innovation
May 12, 2026Wed · 7 PM
Design Leadership in the Age of AI

A live conversation on leading teams through disruption.

Observation 001

The designers struggling most with AI were already struggling.

The tool surfaced a gap that was already there.

May 4, 2026
About
alex m. chong
Director of UX · Design Coach · Educator

A way of thinking differently about what design can do — well beyond fixing your process.

Twelve years shipping consumer and enterprise software from concept to implementation. Worked across agencies, startups, accelerators, and product companies.

Now focused on the intersection of design leadership, practice development, and what happens to the discipline when AI removes all the easy excuses.

Details
Location
Toronto, Ontario
Education
MID · BAS
Years Active
12+
12+
Years
40+
Coached
6
Industries
3
Countries
06
Services Page
Full-page services listing. Large index numbers as visual anchors, rule-separated rows, scoped engagement CTA per service. Use when offerings deserve their own page rather than a card grid.
What I Do
Design leadership at the level
your company actually needs.

I work with early-stage and scaling startups as a fractional design partner — bringing the strategic altitude and craft-level precision of a seasoned design director, without the full-time overhead.

01
Fractional Design Leadership
Embedded design direction for early-stage and scaling startups. Strategic presence without the full-time overhead — from team-building and process to product vision and stakeholder alignment.
Ongoing 2–4 days/week Remote or Toronto
02
Product & UX Strategy
Shaping what gets built and why. From opportunity framing through to validated direction and a roadmap your team can actually execute. Delivered as a sprint engagement or ongoing advisory.
Sprint or Advisory 2–6 weeks
03
1:1 Design Coaching
Structured coaching for mid-to-senior designers navigating career inflection points, leadership transitions, and creative health. Built around your actual situation.
Bi-weekly sessions 3-month minimum Remote
04
Workshops & Talks
Live sessions on design leadership, post-AI workflows, and building a practice worth having. Delivered for in-house teams, conferences, and accelerator cohorts.
Half or full day In-person or Remote

Unsure what you need? Most lasting conversations start there.

07
About Page
A self-contained narrative page. Lowercase Instrument Serif italic name as the primary mark, three-paragraph bio in the editorial voice, sidebar metadata column, and a strip of milestones below. Use when introducing the practitioner — the page should feel like a personal letter set into the system's chrome.
About
alex m. chong
Director of UX · Design Coach · Educator

A way of thinking differently about what design can do — well beyond fixing your process.

Twelve years shipping consumer and enterprise software from concept to implementation. Worked across agencies, startups, accelerators, and product companies.

Now focused on the intersection of design leadership, practice development, and what happens to the discipline when AI removes all the easy excuses.

Details
Location
Toronto, Ontario
Education
MID · BAS
Years Active
12+
08
Resume
A document-style CV laid out as a constrained two-column grid. Left column is the role/employer/dates ledger, right column is the metadata and download/contact actions. Treats the resume as a typeset document, not a UI form.
Resume — March 2026
alex m. chong
Director of UX · Design Coach · Toronto, ON
2024 — Now
Director of UX
Independent · Practice & Coaching
2020 — 2024
Head of Design
An enterprise SaaS company · Toronto
2016 — 2020
Senior Product Designer
A consumer fintech startup · Toronto
2014 — 2016
UX Designer
An interactive agency · Toronto
03
Editorial Index
The editorial index renders a resolved stack of sections: a promoted hero (the variants above), then curated sections (big header + view-all) and feed sections (group header + visitor filter pills with OR-logic). Cards filter live by category — data-category is the pill key. Rendered live from the real blocks.css; click the pills to filter the feed.
04
Full Page Index
The standard content listing layout. Filter bar, card grid across all content types, pagination. Use when the page surfaces the full catalogue and the user is browsing rather than landing.
Writing
Latest thinking
48 articles
UX Industry
A Discipline Reset
UX 2.0 SeriesPart 1 of 3

UX 1.0 was built around scarcity. AI dissolved it.

ReframeDiscipline
Mar 4, 2026 · 14 min
Leading Design
Signal vs Noise
Framework

When every tool claims to accelerate your work, you need a filter more than a workflow.

Mental Model
Apr 20, 2026 · 12 min
Observation 001

The designers struggling most with AI were already struggling.

The tool surfaced a gap that was already there.

May 4, 2026
TalkIn 6 Days
Toronto
Toronto, ON
Centre for Social Innovation
May 12, 2026Wed · 7 PM ET
Design Leadership in the Age of AI

A live conversation on leading teams through disruption.

For Designers
Burnout Lives Below Workload
Principle

Most designers hit the wall when they've lost the thread.

BurnoutHonest
Apr 3, 2026 · 8 min
Experiment
Live
UX Audit Generator

Feed it a description — it hypothesizes the UX debt.

May 2026
Launch
Showing 6 of 48
05
Article
Single-column long-form reading layout. Constrained max-width, generous line-height, pull quote and tag footer. The reading template — every long-form post uses it.
Writing UX Industry
UX Industry · Mar 4, 2026 · 14 min read

A Discipline,
Reset.

UX 2.0 Series Part 1 of 3

UX 1.0 was a discipline built around scarcity — scarce access to users, scarce ability to prototype, scarce tools to test. AI dissolved the scarcity entirely.

For two decades, UX justified its existence through its methods. The research process, the prototype handoff, the usability study — these were the discipline. They were hard to do without a specialist, which gave the role its shape.

When the tools commoditize, what's left is the thinking. And here's the uncomfortable truth: a lot of designers were executing a process. The thinking part lived somewhere else, with someone else, on a different team's docket.

"The gap between strategist and executor sits openly in the room now."

UX 2.0 is the return of foundational design thinking as the core competency — well beyond a story about new tools.

Tagged
Discipline History Reframe UX 2.0
Experience
Director of UX
2022 – Present
Freelance · Toronto
Fractional design leadership for early-stage and scaling startups. Product strategy, design systems, and coaching embedded in product teams.
Head of Design
2019 – 2022
Series B SaaS · Toronto
Led a team of 6 designers across product, brand, and research. Established design systems infrastructure and shifted org to design-led product development.
Senior Product Designer
2016 – 2019
Agency · Taipei & Toronto
End-to-end product design across fintech, health, and enterprise clients. Taipei studio lead for 18 months.
Education
Masters of Interaction Design
OCAD University
2014
Bachelor of Architectural Studies
University of Waterloo
2011
Expertise
Design Leadership
Product Strategy
Design Systems
Career Coaching
Workshop Facilitation
Industries
SaaS · Fintech · Health
Education · Enterprise
Climate · Civic Tech
Based In
Toronto, Ontario
Previously Taipei, Taiwan
01
CMS Panel
The content tool, assembled from the real admin components — same ink, rules, and type as the public site, no mode-switch between editing and reading. Parity only; no new components.
02
Coaching Dashboard
1:1 coaching at a glance — each client's focus, momentum, and next touchpoint. Future component: .fc-progress (momentum meter).
03
Analytics View
Site & content performance — stat cards, category bars, top content. Future components: .fc-stat-card + .fc-bar.
04
Mobile App
The public design system at phone width — real components in a device frame. Future component: .fc-phone.
05
Command Center
A personal life-rhythm surface — season intentions, a cadence spine, weekly rituals, and accomplishment. Future: .fc-cadence / .fc-intention / .fc-ritual / .fc-meter.
06
Together
A private shared dashboard for two — paired presence, a shared week, and shared projects. Future: .fc-paired / .fc-energy / .fc-project.