hnq.me
all articles
2026-06-23 Substack

More Than 5 Years of Self-Hosting on the Cloud and What It Has Taught Me

More than five years of self-hosting taught me that technology was never the destination. This is a story about curiosity, technological independence, and building a life around the freedom to create.

Article context 2026-06-23
More Than 5 Years of Self-Hosting on the Cloud and What It Has Taught Me

Standing on Someone Else’s Shoulders

"I was never trying to build a startup. I was trying to build a life."

When people hear that I have been self-hosting my own infrastructure for more than five years, they often assume this is a story about cloud architecture, Linux, or scaling systems.

It is not.

This is a story about curiosity.

More specifically, it is a story about slowly realizing that you cannot spend your entire life standing on someone else’s shoulders.

Looking back today, every chapter of my journey seems to have quietly led me toward that realization.

I still remember a season of my life in 2018 when a friend and I were building a small coffee shop together. During the day, we physically built the place with our own hands. At night, we returned home and continued writing software.

Then one night, everything stopped.

Our product was ready to launch when Firebase released an update. I stayed awake the entire night trying to solve a problem that wasn’t even caused by my own code. Around ten o’clock the following morning, another update arrived, the deployment worked again and I finally went to sleep.

The issue disappeared, but the lesson stayed with me.

That was probably the first time I understood what dependency really meant.

Returning Home and Learning to Build Again

In 2019, I wrote Golang for my first real-world project and was introduced to Ubuntu Server. I learned my first CLI commands and slowly fell in love with the feeling of operating infrastructure with my own hands.

Life eventually introduced me to friends like Lychee and Parker. Together, we started a startup and built DIMODO, an application that shipped products from South Korea to Vietnam.

Then the pandemic arrived.

Everyone went their separate ways.

I returned to my hometown with almost nothing.

During the day, I worked as a delivery driver.

At night, I rewrote libraries.

Like many Go developers, I started with mux and later discovered Fiber. Then the first customers arrived, followed by the first payments.

Without realizing it, I had quietly become an indie developer.

Six Months for a Single Identifier

There was a period when I spent almost six months building a DNS routing feature to manage tenants for customers.

Six months.

Just to make a single identifier appear on a screen.

It sounds ridiculous now, but those six months eventually led me to build Samdy, an experiment to validate my ideas.

At one point, it reached the Top 100 largest websites in Vietnam.

But reality always catches up.

The entire system was running on 1 CPU, 1 GB of RAM and 20 GB of storage.

Revenue existed, but payment cycles were slow.

Infrastructure costs never stopped.

Eventually, the rankings collapsed alongside the system itself.

That period taught me another lesson.

Dependency is comfortable until it becomes expensive.

Curiosity Became Infrastructure

After that, I stopped thinking like an application developer.

I started thinking like an infrastructure builder.

Cache systems.

Traffic routing.

Rate limiting.

Recovery mechanisms.

Data management.

Then curiosity took me deeper.

I wanted to understand tunnels, protocols, network layers and runtimes. I wanted to understand where a request goes after pressing Enter, who forwards it and who eventually executes it.

The deeper I went, the more I realized something.

I was no longer learning how to write code. I was learning how software itself works.

Kitwork: The Product of a Dreamer

Kitwork was never the destination.

It was simply the inevitable outcome of years of accumulated curiosity.

After building systems for so long, one question kept bothering me.

Why do we still rebuild entire binaries just to ship tiny features?

That question eventually became my first Eureka moment.

Logic can be separated from binaries.

Then another idea appeared.

Logic can move between servers through bytecode.

That idea fascinated me.

If logic could move, perhaps infrastructure was simply an environment where thoughts could execute.

I initially thought I was building a programming language.

Then I realized the world already has enough programming languages.

We do not need another one.

We simply need better ways to express logic.

The Life I Was Chasing All Along

Eventually, I shared these ideas online.

Some people liked them.

Some people did not.

Some people said I was delusional.

Others told me to find experts.

Maybe they were right.

Maybe they were not.

But I remembered a teaching from Buddha.

“If someone offers you a gift and you choose not to accept it, the gift still belongs to them.”

Today, I no longer feel the need to prove anything.

I simply enjoy building.

Because after all these years, I have realized something very simple.

I was never chasing startups.

I was never chasing titles.

I was never even chasing technology itself.

I was chasing freedom.

The freedom to wake up in the morning, buy breakfast, eat with my wife, water my plants, write code, sit at a coffee shop, build products I genuinely love and live peacefully in a small town.

Maybe that is the illusion people keep talking about.

But if it is an illusion, I would happily spend my entire life living inside it.

I was never chasing technology.

I was chasing the freedom to quietly build what I believe in while living an ordinary life.

Share this article

Search