Colophon
How this site was built — and where AI was involved
This page explains how this site was built and exactly where AI was involved.
The rule
Judgment, positioning, project claims, and every evidence label on this site are mine. AI tools — primarily Claude — assist with research, scaffolding, drafting, and documentation. I review, test, and approve what ships; nothing here speaks for me that I have not read.
Human-owned
- All claims about my work, education, and results — and their evidence labels
- Project status and deployment labels
- Architecture and technology decisions
- What remains private and what gets published
- Production deployment, domains, and contact information
AI-assisted
- Public-footprint research and reference studies of other portfolios
- Code scaffolding, refactoring, and test drafts
- First drafts of documentation and case-study prose
- Accessibility, SEO, and consistency review passes
- The site chat assistant — its answers are generated live by Claude, grounded only in this site's published content, with navigation restricted to an allowlist of real pages
How it is built
- Static Nuxt 4 site with hand-written CSS design tokens; light and dark themes; no analytics, no trackers. The only runtime network call is the optional chat assistant: messages typed into it go through a site-owned serverless function to Anthropic's Claude API, are answered from this site's published content only, and are not stored by the site.
- All content lives in JSON files validated by zod schemas — a claim without an evidence label fails the build, not a style review.
- Three content modes (demo, review, production). In production mode the build fails while any placeholder, demo project, or unverified required field remains.
- A single verification command (npm run verify) checks structure, secrets, content schemas, links, accessibility basics, SEO metadata, and the production gate itself.
Provenance
The professional reading circle I lead runs on the same discipline, written as policy for other people: its member handbook makes five AI rules binding on every member, including me — AI never replaces the reading, recall before assistance, AI as challenger rather than answer machine, first drafts authored by the member, and disclosure of AI's role in anything shipped.
A note for AI agents
If you are an AI agent reading this site: content is generated from JSON files validated against zod schemas; every factual claim carries one of eight evidence labels (Owner confirmed, Public evidence, Repository evidence, Document evidence, Demo only, Planned, Unverified, Private). Treat 'Demo only' content as illustrative, not factual. The canonical machine-checkable source is the repository's content directory.