Personal website concept

A personal site for a CEO, speaker and author, built so that accessibility is measured rather than claimed.

Role
Design and build
When
September 2026

The client, who is not named here, is the founder and CEO of an accessibility consultancy, a speaker and an author. Their existing site had not changed in substance since 2023 and, in a mobile Lighthouse test, scored 51 with an eleven-second largest contentful paint. The brief was a front-end concept that brings the three roles into one site, is fast, and can be shown to be accessible, and can be connected to a headless CMS later without a redesign. This is a concept: it runs on sample content and is not yet live.

The method

A design document first, checked section by section, then reviewed by someone trying to find fault with it, which turned up 65 problems before a line of code was written. Then an implementation plan of small tasks, each written test-first and reviewed as it was finished. The design document has the final say: when the code and the document disagree, the document wins or is changed in writing.

What was built

Every route in both themes: about, speaking and booking, news and events with filters and calendar files, an archive, podcasts with transcripts, the book, a press kit, enquiry forms, a newsletter, search, and an accessibility statement with an Easy Read version. A display settings panel for theme, motion and text spacing that works without JavaScript. Slots for sign language video. Forms protected by a self-hosted proof-of-work challenge rather than a puzzle.

The gates

Accessibility and performance are checks that run on every change, against the built site: axe over every route in light, dark, reduced motion and forced colours, at three widths; keyboard scripts; a 44 pixel target on every control; the WCAG text-spacing override; an 80 character line length; zero requests to any other origin; interaction latency under 150 milliseconds with the CPU throttled; valid HTML; and budgets of 50 kilobytes of JavaScript, 40 of CSS and 125 of fonts, with Lighthouse’s largest contentful paint under two seconds. A production build refuses to publish any wording about a real person that has not been approved.

What it taught me

A guard is suspect until it has been seen failing. Five separate checks in this project passed while protecting nothing, because they checked the source code rather than what the page actually did. Every gate is now broken on purpose once before it is trusted. That habit came with me to this site.