Skip to content
Barry Zhang, home
Home
This site

How this site is built and checked

I designed and built this site, and I treat it like the systems I describe on it. It has a small design system, its drawings are data, and every page passes the same checks before it ships.

Contenttyped dataBuildNext.jsPagesgenerated aheadReaderChecksscripted, every page

What it is made of

  • Next.js (App Router), React and TypeScript, styled with Tailwind CSS. Every page is generated ahead of time.
  • No other runtime dependencies. The system drawings, the charts and the animated view on the home page are hand-written SVG.
  • All copy and data live as typed objects, apart from the layout code, so a number or a case study changes in one place.
  • The fonts are Newsreader, Geist and Geist Mono, served from the site itself. The pages make no third-party requests.
  • Built with AI coding tools, then checked by script and by eye.

A small design system

Aag
Geist for reading
Geist Mono for labels
  • Paper
  • Paper 2
  • Rule
  • Ink 2
  • Ink
  • Accent
  • Stage
Two surfaces
Paper is for words. The dark stage is where running systems are drawn.
Ownership is visible
A solid box is something I built and own. A dashed box belongs to another team.
Motion explains
A dot travels the way the data flows. Nothing moves by itself for a visitor who asked for reduced motion.
One accent
A single accent colour, dark enough to pass WCAG AA as small text on both paper tones.

Checks every page passes

Pages load with no errors or failed requests
17 pages × 5 setups, none found
Sideways scrolling and broken images
none found
One main heading per page, no skipped levels, every image and control named
none found
Text contrast at WCAG AA, light and dark
32 page views, all pass
Keyboard: every stop shows a focus ring
198 stops on 5 pages, all ringed
Readable with JavaScript off
16 pages, nothing hidden
Nothing moves by itself under reduced motion
holds
Resume prints on Letter paper
2 pages
Touch targets under 40 px on a phone
3 of 549

Run by script against the built pages. Last run: 2026-11-11.

Seven views of one site

The home page can open on the kind of work closest to a role. A view changes the introduction and the order of the work. The facts are the same in all of them.