Colophon

How this thing is put together, for the curious.

built at 6860e10

Built with

Angular, written in TypeScript and SCSS, then prerendered to plain HTML at build time. There's no server: every page is a static file on GitHub Pages, and the few things that need a backend (the shoutbox, the contact form) are small Cloudflare Workers.

The type is JetBrains Mono for everything, with a little Caveat where someone's handwriting belongs. Icons are inline SVG. No cookies, no analytics, no trackers.

The code is public: the site and the backend. Every change goes through a pull request, a lint, a build, the tests, Lighthouse and a layout check before it ships. A mild amount of spite throughout.

What's live

Everything that updates on its own, and where it comes from; then the two places this site links out to.

The sky

The stars behind every page are the real ones, for tonight, over Cincinnati (or over you, if you let it look). The Moon's phase and the planets are computed in your browser with astronomy-engine; the star and constellation data comes from d3-celestial and ships with the site, so no API is involved. The painting in front of it is based on a photo of mine. Drag it round, or look up: it goes all the way to the zenith.

What stays in your browser

Only what you put there; the one thing that ever leaves is your nick, with each shout you post:

  • your sky settings, once you change any
  • your shoutbox nick, once you pick one
  • a note that this visit has been counted, so the counter ticks once
  • a note that the avatar's already said hello, one that the sky's been pointed out, and one that the shooting star has fallen
  • cached copies of the live data above, for a few minutes, so the arrow keys stay quick

The visitor counter is one number with nobody behind it.

Thanks

Wise Old Man, RuneProfile and stats.fm for the live numbers. Don Cross and Olaf Frohn for the sky. The IndieWeb, neocities and the Web Revival for the reminder that websites can be fun. Quality assurance by Ada, who is a cat. The rest is in humans.txt.

‹ back to Projects