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:
- Fast by default - Ships zero JavaScript by default
- Great DX - Easy to work with and understand
- Flexible - Use any UI framework you want (or none!)
- 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!