2 min read
Portfolio & Blog

My portfolio website

My personal portfolio and blog built with Astro. I wanted something fast, minimal, and easy to maintain while showcasing my work and writing.

Features

  • Static site generation for speed
  • Dark/light mode with system preference detection
  • Type-safe content collections for blogs, projects, and work experience
  • Responsive design with smooth animations

Tech Stack

Frontend

  • Astro for static site generation
  • TypeScript for type safety
  • Tailwind CSS for styling

Content

  • Astro Content Collections with Zod validation
  • Markdown and MDX support
  • Auto-generated RSS feed and sitemap

Why Astro?

I chose Astro because it generates fast static sites with minimal JavaScript. The component islands architecture means I can use interactive components only when needed, keeping the bundle size small.

The Content Collections API provides type-safe content management, which is perfect for a blog and portfolio where I want to catch errors at build time.

Performance

The site loads in under 500ms and has a total bundle size under 50KB. No client-side JavaScript frameworks are needed - just vanilla JS for theme switching and smooth scrolling.

The design focuses on readability with a clean typography hierarchy and consistent spacing.