← All Projects
This Portfolio Site
Personal portfolio and blog built with Astro, deployed on Cloudflare Pages. Zero JavaScript by default, content-first, fast everywhere.
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.