Tiny Wire
A minimal, warm-neutral design system with a single cobalt accent, built for dense operational interfaces. Two fonts, 186 tokens in three tiers, 35 documented components, and a token layer that swaps cleanly between light and dark. The numbers on this page are rendered from the source, not typed.
Most of the work I do lives behind NDAs — operational tools, internal control panels, monitoring dashboards. Tiny Wire is the public-safe twin: same constraints, same warm density, built so the process of designing and maintaining a system is visible without leaking a single line of client UI. I build prototypes on it and fold what they teach me back in.
Read the audit to see what shipping and maintaining a system actually looks like — 31 findings with IDs, fixed or deferred with a reason, and no class removed since the first public release.
Quick start
For a plain HTML page: two stylesheet links, no build step. Building a React or Tailwind app? Take tokens.css only — Consuming Tiny Wire says why.
1. Add fonts to your <head>
<link rel="preconnect" href="https://fonts.googleapis.com"> <link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400..700&family=DM+Sans:wght@400..600&display=swap" rel="stylesheet">
2. Link the stylesheets
<link rel="stylesheet" href="lib/globals.css"> <!-- tokens + reset + base --> <link rel="stylesheet" href="lib/components.css"> <!-- all component styles -->
3. Use the components
<button class="btn btn-primary">Apply changes</button> <div class="card"> <div class="card-title">Section title</div> <p class="card-desc">Card content goes here.</p> </div>
4. Enable dark mode (optional)
// Toggle the data-theme attribute on <html> document.documentElement.setAttribute('data-theme', 'dark'); // Or remove it for light mode document.documentElement.removeAttribute('data-theme');
5. Access tokens from JS
import tokens from './lib/tokens.js' const brand = tokens.colors.light.brand // '#2F4BA6' const base = tokens.typography.fontSize.base // 13 const radius = tokens.borderRadius.md // '8px'
Principles
The constraints that keep Tiny Wire coherent — what gets in, and what doesn't. Each one is true of the current release; when one stops being true, it changes here.
Built for operational tools — dashboards, monitoring, control panels. Base text size is 13px. 32px controls. Tight 4-12px spacing scale. Every pixel earns its place.
Neutrals lean warm (#F7F4F3 surface, #1E1918 ink). Brand and interaction are one cobalt; green is reserved for success and trust, so it reads as a verdict. Status colors stay muted — danger is orange-red, warning a disciplined amber.
Bricolage Grotesque for display + numerics. DM Sans for everything else. No utility fonts, no fallback piles. Both load from Google Fonts in a single request.
Every color, size, radius, shadow, and duration is a CSS custom property. Components consume tokens — they don't define them. Dark mode is a token swap, not a parallel stylesheet.
What's in the repo
lib/ is five files, and which ones you take depends on your profile. The one list — each file, what it is, who takes it — is in Consuming Tiny Wire, so it can't drift from this page. docs/ is this site; consumers don't need it.
Ready to build? Jump to Components for the full library, or Foundations for the token reference.