How I built this

No template, no page-builder. Every page here is hand-written, one file at a time, and this is the system underneath it.

01
the stack

Plain files, on purpose.

built with
Hand-written HTML & CSS. No framework, no build step, no bundler. A little vanilla JavaScript where something needed to move.
hosting
Deployed on Vercel. A few small serverless functions power the “ask me anything” assistant, which runs on Claude.
type
Satoshi for everything you read, and for the little labels.
analytics
Microsoft Clarity, anonymised, aggregate, never sold. No ad trackers.
02
the design system

One file is the source of truth.

Every colour, size, space, radius and easing comes from a single tokens.css. One cool neutral ramp, one accent, and tints derived from it, never a pile of one-off colours.

tap a colour to copy it
Aa

Satoshi, the whole site reads in one geometric sans, 400 → 600.

--fs-giant the loud one
--fs-h1 section titles
--fs-h2 sub-heads
--fs-h4 lead paragraphs

spacing · 8-pt scale

4 · 8 · 16 · 24 · 32 · 48 · 64

radius · one ladder

8 · 14 · 18 · 26

motion · one ease

cubic-bezier(.22, 1, .36, 1)

surface · one hairline

1px rgba(15,20,25,.10) · #F5F7FA
03
the homepage sky

A sky that knows the time.

The landing page isn't a photo or a video, it's divs and gradients, quietly retinted to match the hour where you're standing. Here it is in miniature. Drag it.

drag through the day12:00
The gradient.

Four colour stops (--sky1…4) from deep blue to a pale horizon. That's the whole sky, one linear-gradient.

Time of day.

A small script reads your clock and blends those four stops through morning, noon, golden hour and night.

The clouds.

Blurred white circles drifting on a @keyframes loop. At night they turn slate so the hero text stays legible.

The life.

The sun becomes a moon and the stars fade in. No canvas, no WebGL, no library, just the browser.

04
from the ground up

How it came together.

Start with the words, not the layout.

Every page began as a sentence I was trying to say. The design came after, in service of it.

One tokens file, before anything else.

Colours, type, spacing and motion decided once, so nothing drifts. Consistency is a system, not willpower.

Hand-write it, keep it flat.

Plain HTML and CSS a browser reads directly. No framework to outgrow, no build to break.

Make one thing sing per page.

The sky here, a drag-to-reveal painting there. One idea, obsessed over, beats ten that are fine.

made with AI, directed by me

I design for AI. It felt right to build with it.

Claude helped me code and iterate. The concept, structure, writing, taste, and the final call on every pixel are mine.

the door's open

Say hi.

Tell me what you'd build differently.