Colophon

How this site was made

A few notes on the decisions behind this site, for anyone who likes to look under the hood.

Built by hand

I first designed this site in Framer. In October 2026 I rebuilt it in code with Astro, with help from an AI coding assistant, so I own every line and can put interactive and 3D work straight into project pages. Before switching over, I matched the new site to the old one page by page: same layout, same text, same animations.

Type and color

Everything is set in Inter. There is one accent color, orange, used sparingly: the dot next to my name, the page you're on, and things you can interact with. Dark mode follows your system setting.

Motion

Project cards open into a panel on top of the list, so you never lose your place, and the address updates so you can share it. On phones it's a sheet you can swipe away. Moving between pages is a quick crossfade with the menu held still. If your system asks for reduced motion, movement turns into simple fades and looping videos wait for you to press play.

Show, don't tell

Research is easier to understand when you can poke at it. The object persistence case study has a small interactive sketch: bunch the same number of camera misses together and watch one filter give up on an object that never moved.

Accessibility

Every image has a written description for screen readers. Everything works from the keyboard, with an orange outline showing where you are, and pressing Tab once offers a shortcut past the menu straight to the content.

Speed

Pages are plain HTML, with JavaScript only where something moves. Images are sent in modern formats at the size your screen needs, so the home page weighs about 300 KB on a phone.

Hosting

Hosted on Vercel. Visitor counts come from Vercel Web Analytics, which doesn't use cookies.