← All posts
Kristijan Lukačin28 April 20264 min read

Why we built Nebion (the short, honest version)

After ten years running an agency in Zagreb, we got tired of stitching together six vendors for every client project. So we built the platform we wished existed.

Websolutions has been a small Croatian web shop since 2014. We build sites and apps for clients — agencies, SaaS startups, the occasional e-commerce brand. Real work. Real deadlines. Real production.

For most of those ten years, every new project started the same way:

  1. Provision a VPS somewhere — Hetzner, OVH, a DigitalOcean droplet if the client was American.
  2. Wire up Cloudflare for the CDN and the DDoS shield.
  3. Bolt on a video host (Bunny, Mux, sometimes self-hosted).
  4. Install a backup tool nobody trusts until the day it is needed.
  5. Write a deploy script. Schedule it. Forget about it. Fix it three months later.
  6. Set up staging on a smaller box because the client asked.
  7. Migrate when the project outgrew the box.

None of these steps are hard. All of them are tedious. Together they are a tax we paid on every single project — the same shape every time, the same hours, the same boring evening of yak-shaving.

At some point we did the math. Across the agency, we were spending something like 15% of our engineering hours not shipping client work. We were operating infrastructure that we never sold and never invoiced for. Just because that is how the industry works.

The breaking point

In late 2024 a client asked us to spin up four preview environments for a feature branch flow. Nothing fancy. PR opens, environment goes up. PR merges, environment goes away.

Sounds simple. With a real platform — Vercel, Heroku — it is simple. We were not using a real platform. We were using six vendors and a Bash script. So we built something custom. Then the next client asked for the same thing. Then the next.

By the third time we'd written variations of the same Traefik config, we sat down and made a decision. Either we keep paying this tax forever, or we build the platform once and use it everywhere.

We were not trying to start a hosting company. We were trying to stop being our own hosting company.

Building it for ourselves first

We spent most of 2025 building Nebion in private. Every Websolutions client project moved onto it, one at a time. The deal we made with ourselves was: if a client project cannot run on the platform, the platform is not done.

That constraint kept us honest. It is tempting, when you are building a product, to chase the demos that look good. We could not, because the demo was already running our payroll. If a feature did not fix a real thing, we did not ship it.

By the end of last year, the entire agency was running on Nebion — about 30 production projects, dozens of preview environments, every push from every developer. The bash scripts were gone. The yak was unshaved.

Then clients started asking

Clients noticed that we had stopped quoting them for DevOps setup as a line item. They asked why. We told them. They asked if they could use the platform directly.

That is when this stopped being an internal tool and started being a product. We launched publicly in January 2026.

Keep reading
Manual recipes: deploying things that do not want to be Docker
Read post →
Block types: code, callout, cta, image, mascot
Read post →
Environment Actions: stop SSH-ing in to clear a cache
Read post →