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.

RunningCode private

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.