My Journey Building This Blog: From Zero to Hero 🚀

Fahmi Aulia Rahman • • 8 min read

TL;DR

Built my personal blog using Astro, Tailwind CSS, TypeScript, and MDX, deployed on Cloudflare Pages with automatic GitLab integration, and snagged a free .is-a.dev domain. Total cost? $0. Total satisfaction? Through the roof. Here’s how I did it and why these tools are absolute game-changers for any developer who needs things to just work.


The Stack That Made It Happen ⚡️

Let me give credit where credit is due - these tools made my life so much easier:

🎯 Astro - The Static Site Champion

Astro became my ride-or-die framework for this blog. It’s like having a sports car that only uses fuel when you actually need to go fast. The default blog template gave me a head start that would make any developer shed a happy tear.

What makes Astro special:

  • Ships zero JavaScript by default (because who needs bloat?)
  • Islands architecture lets you sprinkle interactivity exactly where you need it
  • Built-in TypeScript support that actually works
  • MDX support out of the box
  • Lightning-fast static site generation

🎨 Tailwind CSS - The Styling Wizard

Tailwind CSS turned my CSS anxiety into CSS confidence. No more staring at empty style files wondering where to start. The utility-first approach means I can style components without leaving my HTML.

Why Tailwind rocks:

  • Utility classes for rapid development
  • No CSS bloat or naming conflicts
  • JIT mode for blazing-fast builds
  • Responsive design made simple

🔧 TypeScript - The Error Catcher

Having TypeScript baked into Astro saved me from so many late-night debugging sessions. I need my code to work the first time.

📝 MDX - The Content King

MDX lets me write blog posts in Markdown but with the power to drop in JSX components when needed. It’s like having a Swiss Army knife for content creation.

🚀 Cloudflare Pages - The Deployment Powerhouse

Cloudflare Pages became my new deployment home and it’s been absolutely incredible. Built on Cloudflare’s massive global network with hundreds edge locations, it delivers unmatched performance and developer experience.

Why Cloudflare Pages is a game-changer:

  • Lightning-fast global CDN - Content served from hundreds locations worldwide
  • Unlimited bandwidth and sites - Completely free, no hidden costs
  • Direct GitLab integration - Push code and deploy automatically
  • Instant preview deployments - Every commit gets a shareable preview URL
  • Built-in DDoS protection - Cloudflare’s security baked right in
  • Free SSL certificates - HTTPS everywhere, automatically managed
  • Zero configuration - No Docker, no complex setup, just works
  • Edge Functions/Workers - Serverless capabilities when you need them
  • Blazing-fast builds - Noticeably faster than competitors

🌐 is-a.dev - The Domain Hero

Grabbing is-a.dev’s free subdomain through their GitHub repo was surprisingly simple. No fees, no hassle, just a clean domain that says “I’m a developer”.


The Challenges I Faced (Because Nothing’s Ever Perfect) 😅

Challenge #1: Choice Paralysis

The web development ecosystem has more options than a Netflix menu. Choosing between frameworks, CSS solutions, and deployment platforms can be overwhelming.

How I solved it: I focused on my core requirements - fast, free, and low maintenance. This eliminated 90% of the noise.

Challenge #2: GitLab + Cloudflare Pages Integration

Cloudflare Pages has native GitLab support, but initially I wasn’t sure about the setup process.

How I solved it: Cloudflare Pages supports GitLab repos directly through their Git integration. After connecting and authorizing GitLab access, it’s completely seamless—push your code and Cloudflare handles everything automatically.

Challenge #3: Domain Configuration

Getting the .is-a.dev domain pointed to Cloudflare Pages required updating DNS records and waiting for propagation.

How I solved it: Cloudflare’s DNS management made this straightforward, and propagation was surprisingly fast—usually within minutes.

Challenge #4: Learning Curve

Even with great tools, there’s always something new to learn. Astro’s component syntax, Tailwind’s utility classes, and understanding Cloudflare’s edge network all required some brain space.

How I solved it: Started small, built incrementally, and leaned heavily on documentation and community examples.


Why I Chose This Stack 🤔

The “It’s All Free” Factor

Let’s be real - as someone building side projects and personal sites, budget matters. This entire stack costs exactly $0 to run:

  • Astro: Open source and free
  • Cloudflare Pages Free Tier: Unlimited bandwidth, unlimited sites, 500 builds/month, free SSL, DDoS protection
  • is-a.dev domain: Community-driven and free
  • Tailwind: Free and open source

The “No Infrastructure Babysitting” Factor

My free time is precious, so I needed tools that work reliably without constant maintenance. Cloudflare Pages handles builds, scaling, SSL certificates, global distribution, and security automatically.

The “Performance First” Factor

These tools prioritize speed and developer happiness:

  • Astro: Hot reloading, great error messages, TypeScript integration
  • Tailwind: IntelliSense support, consistent design system, purged CSS
  • Cloudflare Pages: Hundreds global edge locations, intelligent caching, HTTP/3 support
  • MDX: Write content in familiar Markdown with component superpowers

The Wins That Made It All Worth It 🏆

⚡️ Unmatched Performance

My blog is noticeably faster on Cloudflare Pages compared to other platforms. Pages typically load in under 0.5 seconds thanks to Cloudflare’s massive edge network and intelligent caching.

Cloudflare Speed Test Result My Cloudflare Speed Test Result 😎

🔧 Zero Maintenance

I push code to GitLab and Cloudflare Pages automatically builds and deploys the changes globally. No server management, SSL renewal, or scaling headaches.

💸 $0 Monthly Costs

The whole setup runs on incredibly generous free tiers. Unlimited bandwidth and sites means I’ll never hit limits.

🚀 Room to Grow

When I need more features, everything scales beautifully:

  • Cloudflare Workers for serverless functions
  • Edge-side logic and dynamic functionality
  • Advanced security features and analytics

👥 Great Developer Community

All the tools have active, welcoming communities. Cloudflare’s documentation is thorough and their developer experience keeps getting better.


What I’d Do Next 🔄

Consider Astro Content Collections

Astro Content Collections would have given me better TypeScript integration for my blog posts from day one.

Plan for SEO

While Astro is SEO-friendly by default, I could have been more strategic about meta tags, structured data, and social sharing.

Use A Design System

A design system like shadcn/ui would have transformed the dev experience from the start. Implement it early to prevent random button/component styling across pages.

Explore Cloudflare Workers

With my site on Cloudflare Pages, adding Workers for dynamic functionality would be seamless. Cloudflare Workers allow me to run serverless functions at the edge, close to my users, for features like form submissions, API integrations, and more.


For Fellow Developers 👨‍💻

If you’re a developer looking for a simple, effective blog setup, this stack is perfect because:

  1. Lightning Setup: Get from zero to globally deployed in under an hour.
  2. Unbeatable Performance: Cloudflare’s hundreds edge locations deliver content milliseconds from users.
  3. Rock-solid Reliability: Built-in DDoS protection and 99.9%+ uptime.
  4. Cost-Effective: Unlimited everything on the free tier.
  5. Future-proof: Modern tooling that scales with your needs.

The Bottom Line ✨

Building this blog taught me that the best stack isn’t always the newest or most complex one. Sometimes it’s the combo that works together seamlessly, costs nothing, and lets you focus on what matters—creating content and sharing knowledge.

Astro, Tailwind, TypeScript, MDX, Cloudflare Pages, and is-a.dev aren’t just tools—they’re enablers. They took my idea from concept to reality with zero drama and maximum performance.

If you’re thinking about starting a blog or personal site, this combo is seriously underrated. Cloudflare Pages especially brings enterprise-grade performance and reliability to your personal projects for free.


Summary

My blog-building journey proved that picking the right mix can make dev life so much smoother. Astro’s static-first approach + Tailwind’s utility-first CSS + TypeScript’s safety net + MDX’s content superpowers = a stack that’s both fun and productive.

Cloudflare Pages’s seamless GitLab integration eliminates infrastructure headaches while delivering content from hundreds global edge locations, with unlimited bandwidth, built-in security, and instant deployments—all free. The is-a.dev domain provides a professional developer-friendly domain without any cost.

Result: A blazing-fast, globally distributed, $0-cost blog that’s actually enjoyable to maintain. The best tech choices get out of your way and let you focus on your story—not the plumbing.

Stack Recap:

About the author

Portrait of Fahmi Aulia Rahman

Fahmi Aulia Rahman

Software Engineer

Software engineer with 6+ years under the hood with new dad vibes — shipping cool stuff, learning out loud and keeping it real.