About this site
How this site was built
I designed it and set the constraints. Claude Code wrote the code. A working preview was live within 48 hours.
The split
The hard part of a site like this is deciding what it is for, not typing it out. I worked out the brief with Claude in a separate chat and made every call in it: who reads it, what each section has to prove, the palette, and the rule that the one green is only ever a fill behind black text. Claude Code turned that into pages, components and build scripts. When it wanted to do something the brief ruled out, the brief won.
The budgets it had to meet
I gave it three numbers before it wrote a line: under 100 KB of JavaScript, a largest paint under 1.5 seconds on a simulated 4G phone, and WCAG 2.1 AA. Then I asked it to enforce them rather than aim for them. The build fails if the JavaScript goes over budget, or if a page ships something the security policy would block.
| Budget | Target | What it hit |
|---|---|---|
| JavaScript | Under 100 KB | 12 to 17 KB |
| Largest paint | Under 1.5 s | 1.66 to 1.81 s. Misses on all 14 pages. |
| Accessibility | WCAG 2.1 AA | No violations found |
| Lighthouse performance, mobile | 95 or more | 96 to 99 |
Live numbers from harithg.com, 21 September 2026: Lighthouse in mobile mode, the median of three runs per page, run from Sri Lanka. Accessibility, best practices and SEO scored 100 on every page, and the accessibility row also rests on axe checks of the live pages.
The JavaScript figure includes about 10 KB of Cloudflare's analytics script. The paint budget is missed: 1.2 to 1.45 seconds on my test server, 1.66 to 1.81 live. From here, time to first byte alone is about 370 milliseconds, and the analytics script adds up to about a fifth of a second.
How it checked its own work
It did not just report that things worked. It ran the pages in a real browser at phone width, measured them, and looked at screenshots. That caught things I would have missed: a diagram whose labels shrank to under 9 pixels on a phone, and an empty index page that was about to land in the sitemap. Both were fixed before anyone saw them.