Colophon
How this site is made
Made by hand,down to the sound.
One typeface, two surfaces and a single accent. What the site is built with, and the decisions that keep it light, quiet and readable.
- Carbon#121213 · Default surface
- Bone#EFEEE8 · Text on carbon, light surface
- Lime#BCCF3F · The one accent
Design system
- Typeface
- Manrope, variable
- One family for everything, by Mikhail Sharanda. Served from the site itself, no third-party font request.
- Colour
- Carbon and bone, one lime accent
- Lime only where something turns into a decision: a point, a focus ring, the active line.
- Grid
- Twelve columns, one gutter
- Asymmetry on a legible grid. Labels on the left, the thing itself on the right, as on this page.
- Diagrams
- Drawn in code, one visual language
- Schematics, timelines and charts share hairlines, labels and one way of marking what matters.
Motion, image and sound
- Motion
- GSAP and ScrollTrigger, View Transitions
- Pages close in bands, shared elements travel between pages. Under reduced motion everything stands still and navigation is plain.
- WebGL
- three.js, React Three Fiber and hand-written shaders
- The portrait's interference on Home and About, and Synfield's Nebula running live inside Home.
- Sound
- Synthesised in the browser with Web Audio
- No audio files. Off by default, starts only on your own gesture, and only follows what the picture does.
Build
- Framework
- Next.js 16 and React 19
- Server components by default; pages are pre-rendered.
- Language & styles
- TypeScript and Tailwind CSS 4
- Design tokens live in CSS, not in components.
- Content
- Files in the repository
- Projects as JSON, notes and experiments as semantic HTML. No CMS.
- Lineage
- Replaces the WordPress site
- Every old address that existed answers one permanent redirect to its new home.
Care
- Performance
- Posters first, WebGL when it is near
- Each live scene shows a still taken from its own first frame, and its renderer is built only as you approach it, in small slices that keep the page responsive.
- Accessibility
- Keyboard, screen readers and reduced motion
- A skip link, a menu that traps and returns focus, and accessible names for every split title.
- Privacy
- Nothing optional before you choose
- Analytics and the Vimeo film load only with your consent, and you can change your mind from the footer at any time.