This site
Sole developer.
A portfolio rendered as the thing it describes: a connected service topology.
Most of my work is message routing between services, so this site is built as a node graph. That choice is not decorative: the edges in the SEL clusters are real runtime message paths between services I worked on, not "these two share a technology." Solid animated edges mean messages actually move along them. Faint static edges mean shared tooling. The distinction is the point.
Next.js App Router with React Three Fiber. The canvas lives in the root layout rather than in a page, so it persists across route changes and the camera flight from the landing page into the graph is continuous rather than a page transition. Layout positions are computed once at build from a seeded generator, so the constellation is identical on every load.
Every project exists as a real, crawlable, keyboard-navigable page at /work/[slug], rendered from the same content object the 3D node displays. The graph is a second way through the same material, never the only one. With WebGL unavailable the site is completely usable.
Built with Claude Code.
Next.js, React, TypeScript, Tailwind CSS