Colophon & privacy

Every page here is plain HTML first. Motion is added on top and can be switched off. Before anything ships, a set of guards checks the build: claims, consent, links, fonts, secrets, accessibility and speed.

The guards

This build (b8b953e, production): 5/8 build guards passed, 3 flagged. The rest run before every push to main.

  1. 01 ClaimGuard Every number on a page comes from a cited claim; retracted claims block; unproven ones are left out. Flagged
  2. 02 PlaceholderGuard No unfinished copy, and nothing left to confirm, in a launch build. Flagged
  3. 03 ConsentGuard Clients, collaborators, films and recognisable people appear only with their confirmed OK. Passed
  4. 04 AssetGuard Every image has dimensions and a text alternative; development files never ship. Passed
  5. 05 InternalLinkGuard Every link and anchor on the site leads somewhere real. Passed
  6. 06 NoJSGuard With JavaScript off, every heading, project and contact link is still visible. Before every push
  7. 07 A11yGuard No serious accessibility problems (axe), with and without reduced motion. Before every push
  8. 08 FontLicenseGuard Only openly licensed fonts, self-hosted; never a trial font. Passed
  9. 09 SecretGuard No keys, tokens or private notes in anything that ships. Passed
  10. 10 BudgetGuard Pages stay inside their weight and speed budgets. Before every push
  11. 11 ExternalLinkGuard Links to other sites still answer. Before every push
  12. 12 ResumeGuard The résumé exists, is small, and repeats no retracted claim. Flagged
  13. 13 MotionGuard With reduced motion on, nothing loops, pins or autoplays. Before every push

Stack

Hosted on Cloudflare Pages. Checked with:

Budgets

PageJavaScript (gzip)First loadLargest paint (mobile, slow 4G)
/≤ 120 KB≤ 1.2 MB≤ 2.5 s (goal 2.0 s)
/afrotech, /hi≤ 40 KB≤ 400 KB≤ 1.8 s
/work/*≤ 80 KB≤ 1.0 MB≤ 2.5 s
/work≤ 90 KB≤ 1.5 MB≤ 2.5 s

Type and colour

Privacy

Cookieless analytics (Cloudflare Web Analytics). No tracking cookies, no forms, no third-party scripts until you press play on a video.

Credits

Interaction ideas owe a debt to oyin.design and rayaverse.org.