Rapidly Building My Personal Blog
How I used open-source frameworks to quickly build my blog, and why I plan to turn it into a long-term space for growth and reflection.
18th Apr 2025
Thoughts
Recently, I finally completed something I had been wanting to do for a long time—but kept putting off: building my own blog.
I’ve always wanted a space of my own where I could share life experiences, reflect on my work, and document what I’ve learned. Social media is too fast, too fragmented. A blog feels more like a digital notebook—calm, self-owned, and free. Writing here isn’t about chasing traffic; it’s about organizing my thoughts, preserving value, and leaving a trail that my future self can look back on.
My Experience with AI Tools
Like many others, I was initially excited about the idea of using AI tools to build websites. I tried several popular platforms:
- Lovable.dev: Friendly UI, low learning curve, and you can spin up a decent-looking page in minutes.
- V0.dev: Great for quickly generating structured component code, especially when paired with shadcn/ui—it feels very intuitive.
However, I ran into two main issues:
- Lack of control over details: The first draft comes out fast, but if I wanted to tweak layout, adjust typography, or add multi-language support, the process became frustrating. It was often easier to just write the code myself.
- Free plan limitations: I was on the free tier, which meant the code wasn’t persistently saved and I couldn’t iterate freely. This seriously impacted continuity.
So in the end, I decided: AI can assist my workflow, but the core architecture should be in my hands.
My Final Setup: Nuxt + Content Module
After comparing several options, I chose to use Nuxt 3 with the official @nuxt/content module to build my blog. Why?
- Nuxt is a framework I’m already familiar with. It combines Vue’s flexibility with powerful SSR capabilities.
- @nuxt/contentallows me to write posts in Markdown, use frontmatter metadata, auto-generate TOCs, and get great SEO support out of the box.
- It supports static deployment, making it easy to publish on Vercel or Netlify.
- And in the future, if I want to add search, a recommendation system, multi-language support, or even embed AI-assisted reading—this stack is easy to extend.
Most importantly, this solution gives me full control over code and styles, without being boxed in by a platform or a locked template.
My AI Workflow: Vibe Coding + Augment Code
Although I didn’t stick with AI site builders, I did integrate AI into my development flow.
I chose Augment Code. It doesn’t generate full pages for me, but instead acts as a semantic coding assistant while I work.
I call this process: vibe coding.
It feels more like this:
“I know I want to adjust this card component’s layout, but I don’t want to handwrite every CSS rule. Can you try a few versions that feel right?”
In this context, AI isn’t some robotic code generator—it’s more like a design-savvy partner who helps explore options. This significantly improves how I control the visual output and makes the building process way more enjoyable.
Tech is Just a Medium—Expression is the Core
Building a blog isn’t hard. What’s hard is sticking with it.
My biggest takeaway during setup was this: Don’t aim for a perfect launch—just aim to write. Early on, there’s no need for fancy design or heavy structure. Just get words on the page.
To me, this blog isn’t just a content platform—it’s a long-term system for self-construction.
It connects my reflections on life, questions I explore while learning, lessons from work—and maybe even seeds of future product ideas.
Closing Thoughts
From today on, this blog isn’t just a record of my past, but a commitment to my future.
Here, I’ll continue documenting my thoughts and growth—
on work, on family, on tech, and on life.
Not fancy, just real.
May it become a consistent part of how I express and evolve.
🚀 Coming Soon:
- Next post: how I use Nuxt + Tailwind for progressive enhancement on my blog homepage
- Monthly summaries of writing insights + blog improvements
- Currently exploring GPT-powered blog integration (reader Q&A + multilingual content recommendations)