My Website
My personal website and digital home on the internet — the place where I publish blog posts, notes, links, and photo collections.
Built with Astro using a Node.js standalone adapter and TypeScript throughout. Most routes are statically prerendered; individual pages opt into server-side rendering where needed. Content is managed via Astro’s content collections with Zod schemas for type-safe frontmatter.
The site embraces IndieWeb principles: posts are syndicated to Mastodon via a custom script (POSSE), incoming webmentions are fetched at build time from webmention.io and displayed on posts, and microformats2 markup is used throughout.
Photos are stored as JPG files with JSON sidecars, organised into nested collections with breadcrumb navigation. RSS feeds are available for every content type.