← Back to Slides™
Visual reference · Open source

Design system. Components, tokens, rules.

A visual system for one-pagers, decks, and presentation pages. Light, type-led, opinionated. Most pages are a headline, two columns, and breathing room. Anything more should earn its place.

Colors

Two grays do most of the work. Use color for hierarchy, not decoration.

#f5f5f3Background
#fafaf8Surface (subtle)
#ffffffSurface (white)
#1a1a1aHero / dark slide / text primary
#e0e0dbBorder (soft)
#d5d5d0Border (medium)
#eeeee9Pill background
#a0a09aText dim
#b5b5b0Text very dim
#c5c5c0Text faint

Typography

Inter only. Weights 300, 400, 500, 600. Print uses pt; web uses rem with clamp() for fluid scaling.

H1 / display
Headline at display size.
H2 / section
Same method. Whole organisations.
H3 / column
The problem
Body / subtitle
A subtitle that adds nuance without saying everything. Two short sentences usually do the job. Don't try to fit the whole story in here.
Eyebrow / label
Why now
Big number

The headline pattern

Bold-then-dim. Anchor + extension. The most consistent visual identity in the system. Use it on every headline that has the room.

Anchor. Extension that fades.

One spec. Full transparency.

The bottleneck moved.

The tools changed. The instinct is still yours.

Same method. Whole organisations.

Eyebrow + Headline + Subtitle

The default opening of any section. Eyebrow tags context. Headline carries the message. Subtitle gives one line of nuance.

Why, how, what

From spec to production.

One framework across four pillars. Agile ways of working, spec-driven development, tooling pipeline, and AI-enhanced code review.

Two-column (problem / fix)

Equal columns, gap 30–40pt. Each column has H4 + paragraph. Use for contrast: before/after, problem/solution, today/with-us.

The problem

The situation today. Be specific. Avoid abstractions. The reader should recognize their own pain in the description.

The fix

What you built. Two or three sentences that explain the solution. Match the tone and length of the problem column on the left.

Three-column (why / how / what)

Three equal columns. Used for structural breakdowns. Each column gets a 1-word title and 1–2 sentences of body.

Why

The bottleneck shifted. Writing code is easy now. Everything around it is where teams lose speed.

How

One framework across four pillars. Agile, spec-driven development, tooling pipeline, AI-enhanced review.

What

Your teams aligned on one pipeline, shipping with confidence. Foundation in place in 8 weeks.

Capability list (Q&A)

Rows separated by thin borders. Question on the left (medium weight). Answer on the right (regular, dim). Used for "what it solves" sections.

New project?
Push a button, get a repo with CI/CD, agents, and environments pre-configured.
Teams pulling in different directions?
One shared wiki, one set of standards, one pipeline.
PR review bottleneck?
Audit agents handle the groundwork. Humans review what matters.

Callout (dark block)

Black background, white text, rounded 6pt. For "Why now" or other emphasized sections. One per page max — too many and the emphasis stops working.

Why now

The moment lands here. The key insight in bold. Then the supporting context. One callout per deck max. More than that and the emphasis stops working.

Dot flow

N horizontal steps connected by a thin line. Each step: 9px black dot, label, dim caption. Used for process flows.

Spec

Intake & standards

Plan

Agent drafts, human approves

Execute

Sandboxed, spec-locked

Review

AI first, human on substance

Deploy

Gated to production

Stack grid

Four-column grid of category cards. Each card has uppercase label + tools with small monochrome SVG marks. Used to show "the stack."

Coding agents
Claude Code
VS Code
Cursor
Specs & tasks
Linear
Jira
Notion
Source & CI/CD
GitHub
Actions
Sandbox → Prod
Infra & models
Azure
Anthropic
OpenAI

Spec block + context + outputs

Vertical flow: dark spec block at top → context pills with "draws from" prefix → "AI orchestrates" divider → three output cards. Shows how a system processes input.

The Spec

Anyone writes it — everything else follows

draws from Codebase History Standards Dependencies
AI orchestrates
Tickets

Auto-populated, synced in real time.

Execution

Agents start building immediately.

Review & deploy

Pipeline gates every merge.

Product slide (showcase style)

Big product name on the right. Description on the left with /0n number, tag, headline, body. Used for product overviews and storytelling about builds.

/01
A short, punchy hook
One-line description of what this thing does.

Two or three sentences that explain the build. Keep it personal and concrete. Tell the story behind it.

Name

JEDUF three-column

Three columns showing extremes vs middle path. Outer columns light. Center column dark as the hero. Steps stacked vertically inside each column. Optional impact line below steps summarizes the outcome.

Too much
Waterfall
"Plan enough and you won't get hurt."
Full requirements
Full design
Full build
Big release
Slow or stuck. Quality if it ships.
Just right
Spec-driven
"Think upfront about where you're heading, then find the path."
Define must / should / could / won't
Spec with the agent
Build + iterate
Refine + ship
Fast with focus. Quality stays.
Too little
Vibe coding
"Dive in, YOLO mode. You'll figure it out."
Prompt something
Accept all
Prompt again
Hope for the best
Fast but fragile. No direction.

Timeline

Vertical timeline with year labels, connecting dots, and content. Used for journeys, histories, roadmaps. The connecting line hides on the last row automatically.

Year 1
The starting point

Where things began. Initial conditions and constraints.

Year 2
Early progress

First experiments. Initial wins. Lessons learned.

Now
Where we are

Current state. What's been achieved. What's next.

Stat grid

Big numbers with context. Three cards in a row. Use .stat-dark on one card to highlight the hero metric. Weight 600 on the number for emphasis.

Metric one
What this number means. Be specific.
Metric two
42
The hero number. Dark card draws attention.
Metric three
91%
Another measurement with context.

Quote pair

Two perspectives side by side. One light, one dark. Used for debates, contrasts, or "what they said vs what we heard." Attribution below a border-top.

"The first perspective. A position or belief that one side holds."
Perspective A
"The counterpoint. A contrasting view that creates tension."
Perspective B

Logo grid

Four-column grid of partner/client cards. Each has a monochrome mark (swap for <img> with real logos), name, and role/team label. Used for "who uses this" slides.

Partner A
Role
Partner B
Role
Partner C
Role
Partner D
Role

Code block

Dark rounded frame with macOS-style header dots and a filename. Monochrome syntax highlighting via semantic classes: .c-keyword, .c-comment, .c-string, .c-dim.

example.html
<!-- A slide is just a section -->
<section class="slide">
  <div class="slide-inner">
    <h1>Anchor. <span class="dim">Extension.</span></h1>
  </div>
</section>

Tone & voice

Opinions. Lean into them. The voice is part of the design.

Testimonial grid

3×2 quote cards with avatar, name, and title. For social proof and endorsement slides.

"It spread like wildfire, all the best builders were using it."
Name One
Role, Company
"Productivity has gone up incredibly across 40,000 engineers."
Name Two
Role, Company
"You control how much independence to give the AI."
Name Three
Role, Company

Logo bar

Horizontal row of partner or client names between hairline borders. For social proof in a compact format.

Stripe
OpenAI
Linear
Figma
Adobe

Feature card row

Three cards with title, description, and an inner mock element. For feature breakdowns and capability overviews.

Feature one
A short description of this capability and what it enables for users.
Feature two
Another capability described clearly and concisely in one or two sentences.
Feature three
The third feature. Keep descriptions parallel in structure and length.

Update row

Changelog-style cards with version badges and dates. For shipping cadence and release history slides.

3.3 May 7
PR Review and Split PRs
3.3 May 6
Context Usage Breakdown
May 4
Model controls and analytics
May 1
Team Marketplace Updates

Art overlay

Classical painting background with a UI mockup floating on top. The signature "craft meets code" visual. Swap the gradient for an actual painting via background-image.

Your product, built with care.
Classical craft. Modern tools.

Page formats

Three canonical formats. Each has its own conventions.

Slide deck

Single HTML, one slide per section. Arrow keys navigate. Light slides default; dark for emphasis. Progress bar top, counter bottom-right.

A4 one-pager

Fixed 210mm × 297mm. @page { size: A4; margin: 0 }. Sizing in pt for consistent print. justify-content: space-evenly distributes sections.

Web overview

Long-form layout, max-width 1100–1200px. Hero headline, then rows of products/sections. Used for landing-page style content.

Gap cascade

Two-column layout: text left, cascade card right. Steps fade and drift to show decay or convergence. Use for "old way / new way" narratives or any sequential process with a punchline.

Act 1
The old way of building.
Most ideas died here. Not because they were bad — because the cost was too high.
01 Idea
02 Sketch
03 Meeting
04 Budget
05 Timeline
× Idea dies

Video slide

Full-screen video in a rounded container. Dark or light background. The container adapts to the video's aspect ratio. Use for demos, walkthroughs, or product recordings.

▶ media/demo.mp4

Scale proof card

Case study card with client logo, explainer text, and impact stats in a 3-column grid. Use to back up claims with real numbers. Logo top-right, subtle.

CLIENT LOGO
Proven at Client Name
Short description of what was deployed and how it fits their stack.
output metric
35 second metric

Closing slide (QR + CTA)

End slide with headline, subtitle, and a large QR code for audience connection. Two-column: text left, QR right. Keep the QR large enough to scan from the back of the room.

Thanks.
Questions?
Name · Role at Company
QR CODE
Connect with me
linkedin.com/in/you

Code split (3-way)

Three-panel grid: agent chat, source code, rendered result. Shows the full workflow from prompt to output. Dark panels for chat/code, light for result.

You
Make a deck about our Q3 results.
Agent
Structuring with the six-beat framework...
<section class="slide"> <div class="eyebrow"> Q3 Results </div> <h1>We grew.</h1> </section>
Q3 Results
We grew.

Split slide (text + image)

Two-column grid inside .slide-inner: text on one side, rounded image on the other. Uses standard eyebrow + headline above the grid. Use .split-reverse to swap sides.

Feature highlight
Text on one side. Image on the other.
Why this matters
The most common layout for visual storytelling. Describe the feature, show the proof.

Hero image slide

Rounded 16:9 image frame with gradient overlay and caption at the bottom. Lives inside .slide-inner like every other component. For cinematic moments that need a short headline.

The moment
Full-bleed image. Text overlay inside a frame.
A dramatic visual moment
Use for cinematic images that need a short caption.

Image card row

Three cards with 4:3 images and text below. For feature highlights, portfolio items, or category breakdowns. Keep descriptions parallel.

Card one
Short description of this item.
Card two
Another item described clearly.
Card three
Keep descriptions parallel in tone.

Caption slide

Large image with a slim annotation bar below. For showcasing a single image with context. The bar has a title and description side by side.

Image title
One line of context. What this image shows and why it matters.

Image + quote

Portrait image paired with a pull quote. For testimonials, interviews, or any moment where a face adds weight to words. Use .image-quote-reverse to swap sides.

"A powerful statement paired with a portrait. The image gives the quote a face and a place."
Speaker name, role

Photo grid

2×2 image mosaic with optional labels. For portfolios, team photos, location shots, or any "show four things" moment. Labels use a gradient overlay for readability.

First image
Second image
Third image
Fourth image