Work

2025 — Present · Solo build — continuous

Live

This Site

The portfolio you're on right now — rebuilt more times than any other repo I own, most recently around a Helvetica Neue Bold / Palatino Italic type system and a live GitHub-stats pipeline.

This project is the site itself, so it's a little recursive to list — but the engineering underneath it is exactly the kind of thing the rest of this page is trying to show: a design system built by hand instead of assembled from defaults, and a data layer that stays honest by fetching real numbers instead of hard-coding plausible ones.

The project ledger you're reading right now sources its commit counts, star counts, and primary languages from GitHub's GraphQL API at request time, cached with Next.js's ISR revalidation so the numbers refresh roughly every 30 minutes without a redeploy. A build-time script writes the same shape to a committed JSON file as a fallback for whenever the live token or the GitHub API isn't available — the same fail-soft pattern the shipping-cadence strip above the ledger already used.

89 tracked files, zero build artifacts checked in, and a Dependabot pipeline keeping dependencies current — the boring hygiene the rest of my repos don't all have, deliberately kept boring here.

What it does


  • Live GitHub-stats pipeline powering this exact project ledger's metric badges
  • Proper ARIA tabs pattern on the hero and ledger tab panels
  • Animated ledger tray that measures and transitions to its real content height
  • Interactive USA map component and an impact calculator on the résumé page
  • Dependabot-managed dependency updates

What it taught me


  • Building a live data pipeline instead of a plausible-looking static array
  • Fail-soft design: a missing token degrades gracefully rather than breaking the page
  • Keeping a repo's hygiene as intentional as its design