still working on this · apr 2026 - present
Personal Site
A resume never really captures the whole person, so I built a site that could. It brings together my work, fitness, travel, music, and the projects I keep coming back to.
Most portfolio sites feel a little too much like applications. I wanted mine to feel like me: the things I have worked on, but also the running, travel, music, and side projects that fill the rest of my time. This site became one place for all of it.
what I wanted from it
The site is built with Next.js and TypeScript. Project case studies and personal history live in simple, reviewable content files, while the parts that need to change on their own use live data. The fitness page updates from my training pipeline, the globe and states views turn travel history into something visual, and the music widget adds a small snapshot of the present.
That mix keeps the site useful without flattening it into a resume. Someone can move quickly through the projects and experience, or wander into the more personal parts when they want to know who is behind the work.
keeping the personal stuff personal
My workout archive includes information that should stay private, so the fitness page only gets the few summary fields it needs. Mileage, duration, activity type, and overall progress can appear publicly. GPS coordinates, source filenames, health notes, and workout descriptions stay on my laptop.
That lets the dashboard update from my real training without quietly putting my full health history on the internet.
why I kept it simple
I kept the site simple on purpose. JSON and MDX are easier to review than a CMS for a site maintained by one person, and I only reach for live APIs or databases when they actually add something. The globe and maps are fun to play with, but most pages stay fast and easy to read.
Simple does not mean unchecked, though. The site has a unit test suite, Playwright accessibility checks with axe, and content integrity tests that fail if a screenshot, internal route, or proof point goes missing.
The visual direction follows the same rule. Data and interaction are here when they add something; they should never make someone work to understand who I am or what I made. The site is still changing, which is part of the fun. It can grow as my work and interests do.