🧠 10 Years of Coding — 5 Years of Building a Foundation
In a world already full of frameworks — WordPress, Django, Laravel, Rails — why would anyone decide to build their own?
That’s the question I’ve asked myself for years.
Ten years ago, when I first learned programming, I was obsessed with understanding how others wrote such complex code. I started with Blogspot, downloading and tweaking themes, convincing myself that I “knew web development.”
But that was only the surface.
Later, I discovered Angular, and that changed everything. I realized a website isn’t just a pretty interface — it can become a powerful, living application.
That’s also when I began learning about SEO and User Experience (UX). UX isn’t just about placing a button in the right spot to improve conversion rates — it’s about delivering genuine value to users. It doesn’t have to be beautiful; it just has to work and solve a need.
🔧 Why Not Use Existing Frameworks?
I currently use Fiber (Golang) — a framework inspired by Express.js — but not in its original form.
I rewrote several core parts, especially the template engine, based on database mapping principles. This allows me to query and render data similarly to Shopify’s Liquid, but in my own way.
I don’t think I’m smarter than anyone else — I just want to understand and control everything I build.
Why not use a JavaScript framework?
I’ve been there too. I once wrote my own JS framework, but I realized it took too much time for too little gain. Building from the server-side made more sense — I could handle security and control much better.
So I started developing a Web Component system using Vanilla JS — fast, minimal, and dependency-free. I wanted something that could run by embedding a single script tag, not an entire build process.
🌀 Starting Over (2020)
In 2020, I decided to start over — from zero.
I had no money, no stable job, no connections. Just a dream of technological independence.
For six months, I worked on a custom DNS system.
I still remember showing a friend my first generated ID:
``2wjqpur0ife35a49yklnxbc6g1dohz78vstm``
It was just a string — no interface, no frontend — but I was ecstatic.
Then came the next challenge: managing node inheritance in a system hierarchy.
In JavaScript, it’s simple. But in Golang, pointer management can be brutal. I hit what’s known as the Diamond Problem, where multiple inheritance causes cyclic references. Solving it in Go was… a rite of passage.
After that, I wrote my own template engine, studied Shopify Liquid, ASP.NET, Angular Pipes, and Vue/React Routers — and built a system that worked for me. Not perfect, but mine.
In programming, nothing is perfect.
We write code → it breaks → we fix it → we grow.
From there, I developed APIs, Web Components, search systems, a QR code generator, and a URL shortener.
I dove deeper into databases, indexing, query optimization.
Not an expert in everything — just enough to build something that works.
💡 Hopes of an Indie Hacker
Once the core framework was functional, I added automation — a data crawler, a primitive UI, basic string interpolation, and later, Go templates for rendering.
If you’ve worked with Go, you’ll notice similarities with Hugo. I love that minimalism — it helps me understand how everything connects at the root level.
When I launched my first real product — a price comparison website — it quickly reached the Top 100 E-commerce Websites in Vietnam.
But the setup? Just a tiny VPS:
1 core CPU, 2GB RAM, 20GB SSD.
It was a victory… until it wasn’t.
The server couldn’t handle the load.
I lost uptime, users, and momentum.
Still — that experience was priceless.
🔗 Building Tools for Growth
After that, I built a URL shortener to track my affiliate marketing links.
I wanted to measure CPC, EPC, and understand scaling efficiency.
It taught me how to optimize campaigns, interpret data, and think like a systems architect — not just a coder.
Every tool I built became another piece of my framework — another module in my growing ecosystem.
🌍 The Vision — and The Why
I am a Golang Indie Hacker — no team, no funding, no fancy marketing.
But I dream of one day raising funds to scale this framework into something that can truly empower local businesses.
A platform that can replace WordPress, Odoo, or Shopify — giving Vietnamese entrepreneurs the power to own their websites, data, and brands.
That’s why I’ve spent five years (since 2020) developing this framework — alone, but not lost.
I don’t know what the future holds.
What I do know is that I love this journey — the quiet joy of solving problems that matter.
I’m not an expert. I’m just a kid who fell in love with code.
To me, programming isn’t just about writing logic.
It’s about creating real value for others — and believing that automation can make human work more meaningful.
And that’s what keeps me coding.
🧭 Notes
- Article originally published in 2024, reposted in 2025
- AI-powered English translation
-
Read the original Vietnamese version here: https://hnq.vn/blog/hanh-trinh-cua-mot-golang-indie-hacker-xay-dung-web-framework-tu-so-khong
💌 More About Me
Blog: huynhnhanquoc.com
GitHub: github.com/huynhnhanquoc
Open Source: github.com/kitmodule
Buy me a Coffee: buymeacoffee.com/huynhnhanquoc
Keep me Dreaming: ko-fi.com/huynnhanquoc
Thanks for reading Huỳnh Nhân Quốc's article! Subscribe for free to receive new posts and support my work.
Top comments (0)