Skip to content
← Back to blog

Building This Blog with Astro

2 min read

When I decided to build a personal blog, I had a few clear requirements in mind:

  1. Performance first - The site should load instantly
  2. Minimal JavaScript - Content should be the focus
  3. Great DX - I should enjoy writing and maintaining it
  4. Beautiful design - Clean, minimal, and timeless

After evaluating several options, I landed on Astro.

Why Astro?

Astro’s “islands architecture” is perfect for a content-focused site. It ships zero JavaScript by default, only hydrating interactive components when needed. For a blog, this means:

  • Lightning-fast page loads
  • Excellent SEO out of the box
  • No unnecessary client-side JavaScript

The framework is also incredibly flexible. I can use React, Vue, or Svelte components if I need them, but for now, Astro’s native .astro components are more than sufficient.

The Tech Stack

Here’s what I’m using:

  • Astro - Static site generation
  • Tailwind CSS - Utility-first styling
  • MDX - Markdown with component support
  • View Transitions - Smooth page navigation
  • Cloudflare Pages - Hosting and deployment

Design Philosophy

I wanted the design to be minimal and typography-focused. No decorative graphics, no hero images, no distractions. Just clean typography and plenty of whitespace.

The color palette is intentionally simple: a warm off-white background in light mode, near-black in dark mode, with a single accent color for links and interactive elements.

Performance Results

The results speak for themselves:

  • Lighthouse score: 100 across all metrics
  • First Contentful Paint: < 0.5s
  • Time to Interactive: < 1s
  • Bundle size: < 50KB (including CSS)

What’s Next

I’m happy with the foundation, but there’s always room for improvement. Future enhancements might include:

  • RSS feed for subscribers
  • Tag-based filtering
  • Search functionality
  • Code syntax highlighting themes

For now though, it does exactly what I need: provides a clean, fast platform for sharing ideas.