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.
It became a portfolio I actually enjoy updating and one place for all the side projects I keep starting.
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. The public fitness flow therefore publishes an explicit set of summary fields instead of copying raw activity files into the site. Mileage, duration, activity type, and aggregate progress can appear publicly; GPS coordinates, source filenames, health notes, and workout descriptions remain local.
This is a small design decision with a large effect: the dashboard can update from real training while the boundary between a useful public story and a private health archive remains clear.
why I kept it simple
I kept the content model deliberately lightweight. JSON and MDX are easier to review and version than a CMS for a site maintained by one person, while live APIs and data stores are reserved for features that actually benefit from them. The globe and maps are richer interactive surfaces, but most pages stay fast, readable, and server-rendered.
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.