Espoo, Finland · web and platform engineering

Vito Botta

I write the code and the platform it runs on. At Brella that means Rails and Kubernetes; on my own time it means SprintPulse for retros that change something, and hetzner-k3s for teams who would rather own their cluster.

01

Thirty years of shipping code and the platforms it runs on.

I'm Vito. Three decades in, I still write code every day: Rails applications, APIs, and the platform underneath them.

Today I'm Lead Platform Architect at Brella, an event platform where I own the technical shape of the stack: Rails services, the API layer, Kubernetes, observability and security. I move between product code and infrastructure in the same week, which is exactly how I like it.

SprintPulse is the product side of the same instinct. Teams don't need another retro board; they need the follow-up to survive the meeting. I build it through Eloquent Bytes, my small software company in Finland.

I started hetzner-k3s in 2021 to scratch my own itch. I wanted a production cluster without a Terraform project and a management cluster to babysit. It is now used by thousands of developers and companies, and it is still one YAML file and one command.

When I'm not shipping, I hunt bugs. Responsible disclosure keeps my security instincts honest, and reminds me that every system has an edge nobody designed.

02

Selected work

Two open-source projects, one product, one theme: remove the ceremony, keep the guarantees.

01
Type
Product
Role
Founder & developer
Company
Eloquent Bytes
Hosting
EU · GDPR-minded

SprintPulseFounder

Retros that end with owned work instead of a document nobody reopens.

SprintPulse runs the retro, then handles the part most tools skip. AI summaries group the noise into themes. Action items get an owner, a due date, and a two-way sync to Jira or Linear. Analytics tell you whether the same problem came back next sprint.

SprintPulse retro board detail: cards under the heading What went well, each with an author avatar, vote count and comment count
Fig. 02A live board mid-retro: every card keeps the author, votes and comments in one place, so the discussion has something concrete to converge on.
Capture
Live cards, anonymous mode, voting and timers in one shared room.
Summarise
AI themes, smart merge, and suggested action items. You still decide what to keep.
Follow through
Owners, due dates, Jira and Linear sync, summaries into Slack.
Check
Recurring topics, mood trends, and action completion across retrospectives.

“Smart Merge and the guided flow that moves everyone from one view to the next are probably my two favourite features.”

KavishChief Product Officer, Brella
02
Type
Open source
Written in
Crystal
Since
2021
Licence
MIT

hetzner-k3s3,708 stars

Production Kubernetes on Hetzner Cloud in the time it takes to make coffee.

A single YAML file and one command create a fully configured cluster: high-availability control plane, private networking, Hetzner's cloud controller and CSI driver, cluster autoscaler, and zero-downtime upgrades. No Terraform to learn, no management cluster to run, no platform fee.

I wrote it in Crystal for two reasons: it compiles to a fast native binary, and it reads like Ruby. As a Rubyist, that made it the natural choice for a tool that has to feel instant. A three-node HA cluster lands in two to three minutes; the largest build I know of was 500 nodes in eleven minutes.

terminal hetzner-k3s · CLI
$ hetzner-k3s create --config cluster.yaml
✓ Creating network…
✓ Creating firewall…
✓ Creating masters (3 nodes)…
✓ Installing k3s…
Cluster ready in 2m 34s
  • 2-3min from empty project to a three-node HA cluster
  • 500nodes provisioned in eleven minutes when you need scale
  • €182 3 masters + 10 workers at Hetzner list prices, per month
03
Type
Open source
Stack
Rails · PostgreSQL
Runs on
Docker Compose
Since
2026

StreamVaultOpen source

Your cinema, on your own server.

StreamVault is a self-hosted Rails app for discovering, organising and watching films and TV in the browser. It reads the providers and RealDebrid account you configure, then picks the lightest path the browser can handle: direct play, remux, or FFmpeg transcode.

Subtitles, multiple audio tracks, resume state and stalled-stream recovery are handled per user. Docker Compose brings up Rails and Postgres, so the whole thing stays on hardware you control.

StreamVault in the browser: a continue watching row of five posters and a now-playing bar showing direct play
Fig. 03The library and player in the browser. Direct play when the source allows it, transcoding only when it does not.
Playback
Direct play where possible, remux or transcode only when the source or the browser demands it.
Subtitles
Embedded text, PGS and VobSub burn-in, plus an external subtitle fallback.
Recovery
Buffer-aware watchdogs reconnect stalled streams and keep your place.
Library
Continue watching, episode progress, wishlists and history, per user.

Built for media you have the right to access. The repository ships with no catalogue and no preconfigured sources.

03

Now

A snapshot, not a promise.

At Brella
ML infrastructure. Building the platform and pipelines that put recommendations in front of event attendees, and the guardrails that keep them honest.
On my own time
SprintPulse. Growing the product, shipping weekly, and staying in every support thread myself.
Also building
StreamVault. A self-hosted cinema that runs on my own hardware, and the place where I try ideas before they reach SprintPulse.
Exploring
Agents and local-first tooling. Most of it is still too brittle; finding the seams is the fun part.
Reading
Security research. CVEs, disclosure write-ups, and the occasional bug bounty report that makes me re-check my own assumptions.
04

Words

People I've worked with, in their own words.

There is not a lot Vito cannot do. You can throw virtually any problem - no matter how complex - and he will solve it quickly and robustly. He built our entire Kubernetes infrastructure single-handedly, implemented security features that caught flaws others missed, and mentored me to become a better developer.

Niklas Lepistö Senior Software Engineer, Brella

Vito is one of those exceptional talents you rarely come across. His ability to build fast without compromising quality is outstanding. He actively brings ideas and feedback to the table, thinks long-term rather than rushing to ship, and is just a fun guy to work with.

Dinuka Lankaloka Product Design Lead, Brella

Vito is easily one of the best backend developers I've worked with. His technical expertise is incredibly broad, his passion for development is contagious, and his commitment to quality is second to none. He takes security, code quality, and performance very seriously.

Paavo Piiroinen Senior Front-end Developer, Brella
05

Let's build something that stays up.

I take on a small number of consulting and advisory engagements: Kubernetes and platform architecture, infrastructure cost reviews, and security assessments. If you're hiring, comparing notes, or stuck on a migration, the links below reach me.