Back to projects

2021 – 2026Design & Development

This Portfolio

The site you're on — rebuilt on the modern Next.js App Router.

  • Next.js 16
  • React 19
  • TypeScript
  • Sass
  • Resend
  • Vercel

Overview

This very site. It began as a hand-coded static page, became a React/Next.js app, and was most recently rebuilt on the Next.js App Router with React 19 and strict TypeScript.

It's server-rendered by default, with small islands of client JavaScript only where something actually needs to move.

Highlights

  • Server-first architecture

    Every page prerenders as static HTML. Client JavaScript is limited to three islands — the mobile nav, the typing effect on this page's cousin, and the contact form — which keeps the site quick to load and cheap to serve.

  • Email without a backend

    The contact form posts to a typed route handler that sends through Resend, with a honeypot for bots and reply-to wired to the sender. No database, no third-party form widget.

  • Content as data

    Projects and skills live in typed modules, so adding a project like this one is a data change — not a template rewrite. The screenshots on this page were captured and optimized as part of the same pass.