kvaro.me

Bratislava, Slovakia · open to work and client projects

I write the software, and I run the machines it lives on.

Developer and founder in Bratislava. I built a fleet-management platform for the car rental company I operate — then kept going and built the storefronts, the CMS engine behind them, and the servers all of it runs on.

One system, all the way down

What Fleetron is actually made of

Most stacks are described from the top. This one is worth reading to the bottom, because the bottom is where the decisions get expensive — and the bars show where they get expensive fastest.

Fleetron · production — top to metallive
Browser
React + TypeScript

What a dispatcher looks at: live positions, trip history, and the paperwork a trip becomes.

Edge
Cloudflare

DNS and proxy. TLS and caching at the edge so the origin handles only what it must.

Proxy
nginx

One container owns 80 and 443. Nothing else on the host binds a public port.

Application
Node.js API + web

Three services from one repository, released together as versioned images rather than a git pull.

Cache
Redis 7

Sessions and background jobs. Not on the critical path — the platform survives losing it.

Database
PostgreSQL 15 + PostGIS

Trips are geometry, not two float columns. “Which trips crossed this zone” becomes one query.

Runtime
Docker Compose

Six containers on one host. The database publishes no port — the app reaches it over the compose network.

Host
Ubuntu 24.04 on Hetzner

One machine, patched and watched by me. Ninety-five days of uptime at the last check.

No open admin portsServer access runs over Tailscale. There is no SSH port on the internet to be scanned.
Rollback is one numberCI builds tagged images into a registry and production runs a specific tag. Going back is changing it.

And at home, a second machine: Proxmox on a Ryzen 5 2600 with 46 GB of RAM, a ZFS raidz1 pool across three drives, and nightly backups pulled from production over Tailscale — pulled, so a compromised production server has no path to the copies. I picked the RAID level.

Selected work

Seven builds, and what each had to solve

Two are live and carrying real traffic. Four are finished and waiting on a launch date. One is a tool that runs every hour so I don’t have to read classifieds all day.

Working together

Open to work and to client projects

Backend and full-stack roles, or a build for your business. Remote or Bratislava. The fastest way to judge whether I’m useful to you is the panel above — pick the layer you care about and see whether the reasoning holds.