Skip to content
← All Projects

This Portfolio Site

Personal portfolio and blog built with Astro, deployed on Cloudflare Pages. Zero JavaScript by default, content-first, fast everywhere.

AstroTypeScriptCloudflare

I built this site because I wanted a place to write and share projects without the overhead of a CMS or a heavy framework. Astro was the obvious choice — it ships zero JavaScript by default and treats content as a first-class citizen.

Why Astro

I’ve used Next.js, Gatsby, Hugo, and plain HTML for personal sites before. Astro hit the sweet spot:

  • Zero JS by default — pages are static HTML unless I explicitly add interactive components
  • Content Collections — type-safe frontmatter with Zod validation. No more “why is my date field a string” moments
  • Markdown/MDX — I write posts in Markdown, commit to Git, and it just works
  • Island architecture — if I ever need a React or Svelte component, I can drop it in without hydrating the entire page

Features

  • Dark/light theme with system preference detection
  • RSS feed for the blog
  • SEO meta tags and automatic sitemap
  • Responsive design that works on everything from phones to ultrawide monitors
  • Syntax highlighting with Shiki (dual theme support)

Deployment

Cloudflare Pages with automatic deployments from the main branch. Build time is under 10 seconds. The site scores 100/100 on Lighthouse for performance.

No analytics, no cookies, no tracking. Just content.

Timeline: Built in a weekend, February 2026. Ongoing content updates.