DEV Community

Cover image for How I Built My Own JS Framework: A Dreamy Indie-Stack Journey
Huỳnh Nhân Quốc
Huỳnh Nhân Quốc

Posted on

How I Built My Own JS Framework: A Dreamy Indie-Stack Journey

What Do I Have, Want, and Do?

  • Google… Angular
  • Facebook… React
  • China… Vue
  • Me… nothing yet, no name, and I don’t really want to give it one. I just love coding and building things I enjoy. So I coded a JS framework.

Well… it’s not really a framework.

  • Its folder structure is inspired by Angular.
  • It’s built with Web Components and OOP in JavaScript. Many people code without really knowing what they’re building. I don’t like that. I like managing my code, naming everything thoughtfully, thinking through every detail. It takes time, but it’s worth it. And after many trials, I finally built my first JS framework.

No node_modules, no external libraries—always knowing exactly what I’m coding. That’s what I wanted.

The Challenges

Nothing worthwhile is easy, and I had my fair share of struggles.

1. JavaScript itself

I wasn’t good at it. I came from C#, then Angular (TypeScript), then Golang. I had to relearn JavaScript extensively. But I loved it.

“Anyway, JavaScript still runs.”

It’s nothing like Golang (my main back-end language), and it doesn’t follow the strict OOP rules of C# or TypeScript. JavaScript is curious, chaotic, alive.

2. Working alone

I’ve mostly been a solo developer. But this became my advantage—it freed me from overthinking and unnecessary constraints.

3. Finances

Sure, it’s tough. But I use this framework to make money. The market is competitive, but I trust what I’m building.


What I Needed in a JS Framework

  • Router – the first thing I built. It distributes routes efficiently across the app.
  • Template system – a core step toward basic programming components. Like other frameworks, I made it for flexibility.
  • Render engine – the most crucial part. Initially, I used JavaScript templates, then experimented with HTML templates from other frameworks. Eventually, I wrote my own, removing redundant code. I love that it’s mine.
  • Lazy loading – modern frameworks need it. I implemented it my way.

Why I Did It

  • I needed an SPA for important parts of my platform—web apps and website tools.
  • I wanted to optimize my projects, writing code once and running it anywhere. It’s like Angular services, but I distribute it across all my platforms for faster development and higher reusability.
  • I wanted clean code—every line and word I write, I understand it, so I can fix bugs efficiently.
  • I trust myself and my vision. Fear doesn’t stop me; doing the work makes fear irrelevant.

Looking Ahead

There’s still a lot to do, but writing this today makes me happy.

This framework represents my philosophy: building what I need, in my way, for my journey. It’s messy, personal, and completely mine—and that’s exactly how I like it.


**NOTES


More about me:

Thanks for reading Huỳnh Nhân Quốc Blog's article! Subscribe for free to receive new posts and support my work.

Top comments (0)