Sol
Sol is the site you are on. The work is a solar system on a sheet of paper: fields are planets, projects are their moons, and ideas gather in a black hole. It is drawn in SVG first, and lit with WebGL where a graphics card can.
- Sheet
- 1440 × 900, scaled to the window; a column on phones
- Drawing
- SVG, then WebGL2 for light
- Shaders
- Sun, planets, shadows on the paper, black hole
- JavaScript
- Under 15 KB gzipped before any enhancement, tested
- Tests
- About 150 browser tests, accessibility included
- Type
- Geist and Geist Mono
- Privacy
- No cookies, no tracking
- Stack
- Astro · TypeScript · WebGL2 · SVG
A drawing first
Everything on the homepage is first a drawing: hairlines, hatching, mono labels, one red. The whole system is laid out on a sheet of 1440 × 900 units and scaled to fit the window, so every screen sees the same composition. On a phone the same links become a column of planets under a small sun. Without JavaScript or without a graphics card the drawing is the site, and nothing is missing.
Then light
Where WebGL2 is available, shaders take over and draw the same things lit. The sun is a shader of its own, with its loops of plasma at the rim. The planets are engraved spheres, hatched on the side away from the sun, their moons casting shadows on them, each washed in the colour of the real planet whose orbit it has. The paper itself carries their shadows. The black hole is traced: its disk bends round it the way the light of a real one does, and the ideas ride the disk as knots of light. Click it and the page dives in.
Switch off the sun, top right, and it is night: the paper goes dark, the ink turns light, and the stars come out.
Real time
The moons keep real time from the day the site went up, so everyone sees the same sky at the same moment. Two things on the sheet are not bodies but signals: the log, a radar track with a dot for each entry, and a ping, the way to write to me. The small print, imprint and privacy, is two asteroids at the foot of every page.
Reading
Every project and every log entry uses the same reading page: a measure made for reading, a sheet of facts, and figures you can move. Whatever arrives on a page the first time arrives as a signal: a photograph, the head of a page, the lit sun and the bodies show first in coarse, slightly soft pixels and resolve, step by step, into the sharp page.
Keeping it honest
The rules are tested, not hoped for: the homepage’s initial JavaScript stays under 15 KB gzipped; every page is checked for accessibility, and a set of them again at night; moons never crowd each other as they turn; and a placeholder is never mistaken for content.
