All projects
Completed
This Portfolio
Most of this site started out as a template and got rewritten, some parts more than once. I ran Lighthouse on it early and failed the color contrast checks, so I went back and worked out the muted text colors by hand until they passed WCAG AA. Then I added the things I'd read about but never actually done: dynamic OG images, a sitemap, structured data, all through Next's file conventions. Keyboard accessibility took longer than I expected. Focus states, a skip link, a mobile menu that locks the scroll and closes on Escape. Getting the MDX blog working was its own mess and took a couple of days on its own. I still change something here most weeks.
Next.js / Tailwind CSS / Motion / Lenis