All projects

Personal Portfolio

This website. A fast, static portfolio built with Astro and plain CSS, deployed on Cloudflare Pages.

  • Astro
  • TypeScript
  • CSS
  • Cloudflare Pages
Mockup of this portfolio's home page with a hero section and project cards

Overview

I wanted a portfolio that loads instantly, works without JavaScript, and is easy to update. Astro was a natural fit: pages are written in plain HTML-like components, projects are Markdown files, and the build output is static files that can be hosted anywhere for free.

Highlights

  • File-based routing, so every page is just a file in src/pages/
  • Projects stored as Markdown with typed front matter, validated at build time
  • Automatic light and dark mode based on the visitor’s system setting
  • No client-side JavaScript shipped at all
  • Deployed automatically on every push through Cloudflare Pages

What I learned

Keeping the content separate from the layout made the site much easier to maintain. Adding a new project is a matter of creating one Markdown file.