← Studio

Design systems · 2026

Monospace Design System

MDS starts in code, not Figma. Here's what I built and how the shadcn registry makes it consumable.

A calm, mobile-first design system — tokens, components, nine interactive patterns, and a shadcn registry theme.

Monospace Design System — desktop view
A calm, mobile-first, AI-native starting point for SaaS products.

Most design systems start in Figma. Tokens in a shared library, components in a published file, handoff to engineering with a Zeplin link and a prayer. The code comes second — a loose interpretation of whatever the design file intended.

I built this one backwards. The Monospace Design System (MDS) starts in code and ships as a working, interactive site you can actually use. The Figma file doesn't exist. The patterns aren't mockups.

What it is

MDS is a starting point for SaaS and AI-native products — built on product patterns, not a catalog of buttons.

Five principles run through everything:

PrincipleWhat it means
FriendlyWarm by default. Speaks plainly, never shouts.
CalmQuiet surfaces. Motion that soothes, not startles.
ClearOne obvious next step. Hierarchy you can feel.
FastInstant feedback. Nothing in the way.
ForgivingEasy to undo. Mistakes are never dead ends.

The reference points: Apple HIG, Arc, iOS-native apps. Deliberately free of enterprise heaviness, Material aesthetics, and border-heavy layouts.

Three layers

Foundations (Tokens) — spacing, radius, type, motion, shadows, and colour as CSS custom properties. Typed source of truth in TypeScript. Light and dark out of the box.

Building blocks (Components) — eight accessible primitives: Text, Icon, Button, Input, Card, Sheet, Surface, Stack, plus a theme provider and toggle. Built on Base UI for the accessible plumbing, Lucide for icons, Motion for animation.

The point (Patterns) — nine interactive product screens that are the actual reason MDS exists. Not documentation for what you might build — screens you can lift into a real product right now.

MDS Patterns — nine interactive product screens including App Shell, AI Chat, and Command Bar

App Shell, Settings Screen, Profile Screen, List + Detail, Search Screen, AI Chat Screen, Empty State, Loading State, and a keyboard-navigable Command Bar (⌘K). Try them — they're live at mds.monospace.studio/patterns.

The shadcn bit

This is the part I'm most pleased with. MDS ships a shadcn registry item, which means any project already using shadcn/ui can pull in the MDS theme with one command:

npx shadcn@latest add https://mds.monospace.studio/r/mds-theme.json

That lands IBM Plex Sans, JetBrains Mono, warm paper neutrals, one calm accent (the blue you see throughout), and soft radius — all as CSS variables, wired straight into your Tailwind v4 config. Light and dark. No copy-paste token archaeology.

The registry item is just JSON at /r/mds-theme.json. shadcn fetches it, applies the variables, and your project is on MDS.

Stack

Next.js (App Router) · React 19 · TypeScript strict · Tailwind v4 · Base UI · Lucide · Motion · Vercel.

The repo is derrybirkett/monospace-design-system. The live docs are at mds.monospace.studio.