Colophon
How this site is built, who helped, and what powers it.
Technical Stack
- Framework
- Astro 5.x 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-02-15
- Build Process
- Static site generation (SSG) with CI/CD via GitHub Actions
- Content Pipeline
- Automated via GitHub Actions + NotebookLM API integration
- Source Code
- github.com/adrianwedd/adrianwedd.com
Credits
Built by Adrian Wedd with assistance from Claude Code (Opus 4.6).
NotebookLM automation toolkit: github.com/adrianwedd/notebooklm
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.