How This Site Is Built
A short reference for what's actually running this site, for anyone curious about the stack behind it.
Stack
What It Runs On
Astro 7TypeScript (strict)Tailwind CSS 4Pagefind
Architecture
Content & Structure
- Two Zod-validated content collections,
projectsandwriting, power every case study and post through Astro's Content Collections API. No CMS, just MDX files checked into the repo. - Theming uses a
data-themeattribute and CSS custom properties, not Tailwind's.darkclass. The first visit follows your system preference; after that the toggle persists tolocalStorage. - Icons and the social-share image are files in the repository. Every page uses the same share image. The title and the description still change on each page.
- Search is static: Pagefind indexes the built HTML after every build and ships its own small WASM search index, no server or third-party search API involved.
Pipeline
CI/CD
- The repo lives on GitHub, which hosts the code, the pull requests, and the CI. The site is served from GitHub Pages on a custom domain.
- Pull requests run lint, format checks, type checks, and tests, then a full production build, before merge.
- A push to
masterbuilds the site and deploys that build to GitHub Pages. Lighthouse checks five pages in its own workflow. A failed check does not stop the deploy.
Privacy
Visitor data
- Cloudflare Web Analytics runs on this site. It loads a script from
static.cloudflareinsights.comand sends page-load data to Cloudflare. - This site sets no cookies.
- The site stores your theme choice in
localStorage, in your browser only. - Cloudflare sits in front of the site and processes each request to it.
- Cloudflare sends a header that asks your browser to report failed connections to Cloudflare.
Reuse
License
- The code of this site is under the MIT License.
- The blog posts are under the Creative Commons Attribution 4.0 license (CC BY 4.0). You can share and adapt them if you give credit.
- The CV text, the bio, the personal images, and the logo are not licensed for reuse. All rights are reserved.
Typefaces
Fonts
Space GroteskJetBrains MonoKindl Sans
All three are SIL OFL licensed and self-hosted as variable fonts, no Google Fonts CDN. Kindl Sans is a Modified Version of IBM Plex Sans 3.201 under the SIL OFL 1.1.