Building My Personal Blog with Astro

Last updated: November 12, 2025

Building My Personal Blog

Today I built this blog using Astro, Cloudflare D1, and deployed it to Cloudflare Pages. Here's how I did it!

Why Astro?

Astro is perfect for content-focused websites because:

  1. Fast by default - Ships zero JavaScript by default
  2. Great DX - Easy to work with and understand
  3. Flexible - Use any UI framework you want (or none!)
  4. SSR Support - Server-side rendering for dynamic content

Key Features

I built in some key features that I wanted:

Public and Private Posts

The blog supports both public and private posts:

  • Public posts appear in the main blog feed
  • Private posts are password-protected and don't appear in listings

This is great for drafts or personal notes that I might want to share with specific people.

Admin Dashboard

I created an admin dashboard where I can:

  • Create new posts
  • Edit existing posts
  • Delete posts
  • Toggle post visibility (public/private)

Database-Backed

All posts are stored in Cloudflare D1, making it easy to:

  • Manage content dynamically
  • Query and filter posts
  • Update content without redeploying

The Tech Stack

  • Astro - SSR framework
  • TypeScript - For type safety
  • Cloudflare D1 - Serverless SQL database
  • Cloudflare Pages - Hosting and deployment

Next Steps

Some things I want to add in the future:

  • Tags and categories
  • Search functionality
  • Rich text editor
  • Image uploads
  • Dark mode

Stay tuned for updates!