Colophon
What this site is built with, and why.
Architecture
This site is a single-page application (SPA) with client-side routing. At build time, Puppeteer visits every route and saves the fully-rendered HTML, so search engines and social-media crawlers see complete content without executing JavaScript.
Most of the site is static content. JavaScript runs only where interaction demands it: navigation, forms, and API-driven data.
The Stack
React
19.2.1UI Library
The core UI library. React 19 powers the component tree, state management, and client-side rendering for the entire site.
TypeScript
5.8.2Language
Every component is written in TypeScript. Strict types catch bugs before they ship and make the codebase self-documenting.
Vite
6.2.0Build Tool
Lightning-fast dev server with hot module replacement. Bundles the production build with Rollup under the hood.
React Router
7.10.1Routing
Client-side routing with zero full-page reloads. Every navigation is instant, every URL is bookmarkable and prerenderable.
Tailwind CSS
3Styling
Utility-first CSS loaded via CDN. No custom stylesheets, no CSS-in-JS. Every visual decision lives directly in the markup.
Lucide React
0.560.0Icons
A clean, consistent icon set with over 1,500 SVG icons. Tree-shakeable, so only the icons actually used ship to the browser.
WordPress API
Blog CMS
Blog posts are authored in WordPress and fetched via the REST API at runtime. Headless CMS, fully decoupled from the frontend.
Puppeteer
24.xPrerendering
After each build, Puppeteer visits every route and saves the fully-rendered HTML. This gives the SPA real SEO without a server-side framework.
Plausible
Analytics
Privacy-friendly, cookie-free analytics. No personal data collected, no cross-site tracking. GDPR-compliant by design.
GC.ai
Legal AI
The enterprise legal AI platform that powers the firm's internal AI workflows and client-facing AI compliance advisory.
Infrastructure & Services
Render.com
Static site hosting with automatic deploys from Git.
Formspree
Form submissions without a backend server.
Plausible Analytics
Cookie-free, privacy-first web analytics.
Google Fonts
Inter (sans-serif) and Playfair Display (serif).
Google Workspace
Gmail and Drive for firm communications.
WordPress
Headless CMS for blog content via REST API.
Design System
Typography
Headings
Playfair Display
The quick brown fox jumps over the lazy dog.
Body
Inter
The quick brown fox jumps over the lazy dog.
Color Palette
Primary
Dark
#0B1120
Primary
#334155
Accent
#3B82F6
Light
#F8FAFC
Accents
#3B82F6
#8B5CF6
#06B6D4
#22C55E
#F59E0B
#F43F5E
#D946EF
Why This Stack
Every architectural decision serves a purpose. Here's the reasoning.
Speed Over Ceremony
No SSR framework, no build-time data layer, no GraphQL. A Vite SPA builds in seconds and deploys as static files. Puppeteer handles the SEO gap without adding runtime complexity.
Privacy by Architecture
Plausible instead of Google Analytics. No cookies, no tracking pixels, no consent banners needed. The site practices what the firm preaches about data minimization.
Radical Simplicity
Tailwind via CDN. No CSS build step. No component library. No state management library. Every dependency earns its place. The fewer moving parts, the fewer things break.
Built by a Lawyer Who Codes
This site was built entirely with Claude Code — the same AI development tools the firm advises clients on. Practicing what we preach is not optional. It's the whole point.
