Skip to main content

Colophon

How this site is built, who helped, and what powers it.

Technical Stack

Framework
Astro 5.17.1 with TypeScript strict mode
Styling
Tailwind CSS 3 with CSS custom properties for theming
Interactive Components
Preact islands (AudioPlayer, MindMap, Quiz, Flashcards, DataTable)
Content
Markdown + MDX with Astro Content Collections (Zod schemas)
Hosting
GitHub Pages via GitHub Actions
Analytics
GA4 consent-gated, with build-time data fetch for public dashboard
Search
Pagefind — static search index built at deploy time
Rich Media
NotebookLM Studio (audio overviews, reports, quizzes, mind maps)

Design Philosophy

  • Dark-first with botanical earth-tone palette, dusty copper accent
  • System font stack — zero font downloads
  • Minimal JavaScript — interactive islands only where needed
  • No tracking before consent
  • Semantic HTML + progressive enhancement
  • Content-first — code serves the writing

Build Information

Last Built
2026-03-01 at 10:46:38 UTC
Commit
664966f on main
Runtime
Astro 5.17.1 / Node v20.20.0
Content
8 posts, 32 projects, 3 galleries, 5 episodes
Pages Generated
49 static HTML pages
Build Process
Static site generation (SSG) with CI/CD via GitHub Actions

Dependencies

18 packages power this site.

@astrojs/mdx 4.3.13
@astrojs/preact 4.1.3
@astrojs/rss 4.0.15
@astrojs/sitemap 3.7.0
@astrojs/tailwind 6.0.2
@google-analytics/data 5.2.1
@tailwindcss/typography 0.5.19
@typescript-eslint/parser 8.55.0
astro 5.17.1
eslint 9.39.2
eslint-plugin-astro 1.6.0
pagefind 1.4.0
preact 10.28.3
prettier 3.8.1
prettier-plugin-astro 0.14.1
prettier-plugin-tailwindcss 0.7.2
satori 0.19.2
tailwindcss 3.4.19

Credits

Built by Adrian Wedd with assistance from Claude Code (Opus 4.6).

NotebookLM automation toolkit: github.com/adrianwedd/notebooklm-automation

Production NotebookLM research pipeline: github.com/adrianwedd/failure-first-embodied-ai

Typography

System font stack. No font downloads, native rendering.

system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif

Performance Budget

  • Zero custom fonts
  • Analytics: ~30KB gzipped (consent-gated)
  • Interactive islands: lazy hydration via client:idle
  • Images: lazy loading with native loading="lazy"

License

Content (blog posts, project descriptions, writing) is © 2026 Adrian Wedd unless otherwise noted. Code is available under MIT license.

Questions about this site's architecture or content pipeline? See NotebookLM Pipeline docs or open an issue.