Skip to main content

Technology

This page explains the technology behind this site.

Site

The site is built with Astro, a framework that turns the pages into plain static files ahead of time. Pages are readable with JavaScript turned off, and the small amount of script the site uses is limited to features that need it, such as the light and dark theme switch.

All public content is written as Markdown and MDX files that live in the site’s source repository. Content is checked against a schema when the site is built, so a page with missing or invalid details fails the build instead of publishing incorrectly.

Hosting

Cloudflare serves the static pages. Every change to the site gets its own preview version, so it can be reviewed before it goes live.

Design

The design is a custom theme, ported from the previous version of this site and styled with Tailwind CSS, a utility-first CSS framework. It supports light and dark themes and is checked against WCAG 2.2 AA accessibility guidelines.

Contact form

The contact form sends each message to a small API that runs in the same Cloudflare Worker as the site. Cloudflare Turnstile checks that a person, not a script, is sending it. The API then emails the message to me through Cloudflare Email Routing. The site stores nothing and does not keep your IP address. The privacy policy has the details.

Analytics

The main site uses Cloudflare Web Analytics, which sets no cookies and does not track individuals. Preview versions do not use it.

Data locations

Service Purpose Location
Cloudflare Serves the pages and visitor statistics Global network
Cloudflare D1 Saves the questions shown on posts Cloudflare network
Cloudflare Turnstile Spam check on the contact form Global network

Questions

Curious about how something works? Get in touch through the contact page and I am happy to explain.