Published on: 10 June 2025

Rebuilding my blog from scratch with Astro brought back the joy of creating for the web. I really feels like a hobby.
Intro
I have a new toy. It’s called Astro, and I’m using it to rebuild my blog from the ground up. Not redesign. Not migrate. Rebuild. From scratch.
And I’m loving it.
Let me explain why that matters, because if you’ve been messing with the web as long as I have, you know there’s something deeply satisfying about throwing everything out and starting fresh. Especially when you do it on your own terms.
I’ve been building websites since 1996. Think Geocities, Lycos, webcindario and HTML written directly into Notepad, Netscape Composer, MS Frontpage or Dreamweaver. I’ve watched the rise and fall of table layouts, Flash intros, flash buttons, XHTML dreams, the Web 2.0 where everything was Beta, and the single-page app gold rush. I’ve seen CMSes bloom and bloat. Wordpress, Drupal, Joomla, Ghost … I’ve tried most of them.
Blogging since 2005 means I’ve also danced with Blogger, wordpress.org, bitacoras, DIY and lived through the RSS heyday. I’ve written posts from desktop apps, browser windows, and even command line. My archives have followed me through more platforms than I care to count.
And every time, I told myself: “Next time, I’ll do it right.”
Spoiler: I still don’t know what it means “Right”
Why Start From Scratch (Again)?
So here we are, 2025. The world’s buzzing about AI writing tools and platforms that promise one-click publishing with all the SEO juice and social integrations pre-installed. You can start a blog on a subdomain somewhere in five minutes. So why would someone with decades of web history decide to roll their own?
Simple: I missed the joy of building my own thing.
No plugins. No themes. No backend maintenance. No dashboards trying to upsell me on features I don’t need. Just me, my text editor, a folder of markdown files, and a static site generator called Astro that’s as lightweight or powerful as I want it to be.
It’s freedom.
The Agile Way (But for Fun)
I didn’t build this new blog the way I might’ve back in the early 2000s, with mockups and a feature checklist and a launch plan. I built it the way I used to build fun projects: by writing the first post before the layout was done. By designing the header after the homepage was already live. By adding features only when I needed them.
Agile? Yes. But not corporate-agile. I’m iterating in master. You might refresh tomorrow and see a new font, a tweaked layout, or a small visual bug I haven’t fixed yet. And you know one thing, that’s fine. Because this blog is mine. No roadmap, no stakeholder meetings, no sprint reviews.
The process is straitforward:
if(needed) {
blog.expendTime(expected);
blog.expendMoreTime(addCssForNewElement);
blog.expendMoreTime(ooohICanDoThis);
blog.expendMoreTime(testsFailNow);
pablo.remember(kidAndWife);
blog.expendMoreTime(rollBack);
blog.runAllTests().commitChanges();
feature.implemented();
} else {
feature.None();
}
I did implement TOCs when I needed them, I implemented bloquote styles when I put my first quote, … Just curiosity, caffeine (lots), and commits.
Why Astro?
I evaluated a few tools before settling on Astro. Hugo, Eleventy, Jekyll they were fine, but Astro hit the sweet spot.
Astro lets me mix and match components React, Vue, Svelte, plain HTML—without forcing me to buy into a full SPA framework. It gives me serverless power when I want it, and static speed by default. Plus, it embraces the idea of partial hydration, so my site isn’t bloated with JavaScript unless I explicitly ask for it.
You know when a tool just “feels right”? Astro’s conventions are sensible. Its defaults are clean. The developer experience feels polished, but not rigid. I can scaffold a blog layout with Markdown content and sprinkle in custom components when needed—all without losing that handmade, personal-site vibe.
Speaking of Markdown. There’s a certain purity to writing in Markdown. No distractions. No rich text editors mangling my formatting. No hidden inline styles. Just headings, links, code blocks, and the occasional image. Sometimes I miss having different table classes, or different quote boxes… but I don’t care about that right now, so… maybe in the future I implement something for that.
Astro also help me organize, I can keep all my posts in a content folder and let the build process do the rest. Need tags? I add metadata to the frontmatter. Want RSS? import the components and wire them… one afternoon. Sitemap? Not yet, but if I decide I need one, Astro makes it straightforward to implement. All of it lives in version control. Transparent. Predictable. Portable.
Using your constraints
One of the unexpected joys of building this blog from scratch is embracing constraints. Instead of asking “what features should I build?” I ask “what’s the minimum I need to get this post live?”
It turns out: not much.
This is freeing. I don’t need infinite themes or advanced comment systems or AI-assisted layouts. I need good typography, readable spacing, and fast load times. I need a home for whatever I want to write about, not a digital cathedral.
And because it’s static, hosting is easy. I can deploy to Netlify really easy, and if I wanted I could change quickly to Vercel or GitHub Pages. No server to babysit. No database to optimize. Just HTML, CSS, and a few sprinkles of JS where I choose.
Roadmap
I don’t have a roadmap for the blog. That’s part of the fun.
Maybe I’ll add pagination next week. Maybe I’ll put a search box. Maybe I won’t. Maybe I’ll keep it minimalist forever. That’s the beauty of owning every line of your site, you can grow it organically, feature by feature, when the need arises. Not because a template told you to.
And if I ever want to tear it all down and rebuild again?
I can.
Because I built this thing from scratch.
Final Thoughts
Rebuilding my blog from scratch with Astro isn’t just a technical choice, it’s a creative one. It’s a return to that early web spirit, when the browser was a canvas and source code was poetry. It’s trying to keep things simple and not complicate it unnecessarily.
More than anything, it’s a reminder: the web is still fun.
So yeah. I have a new toy. And I’m having a blast.
If you’re thinking about starting fresh, do it. Strip it down. Skip the templates. Build what you need, when you need it. Rediscover the joy of making something just for you.
You might love it too.