About
Infrastructure & agent systems for teams that outgrew the defaults.
I build self-hosted platforms and AI agent infrastructure — and the APIs that agents consume. Then I make them boring to operate: one-command deploys, builds that fail closed, no human on watch.
Five years total: two years shipping backend APIs at a Swedish consulting firm, then three running self-hosted production infrastructure — bare-metal Kubernetes, NixOS, and agent workloads.
Based in Sweden. Remote, worldwide. Timezones are a scheduling problem, not a hiring one.
What I do: senior infrastructure contracts, agent system architecture, platform engineering.
What I build
- Agent infrastructure that fails safe
-
I build permission models for AI agents as a build-time proof
instead of a runtime habit: capabilities to scopes to profiles in
home-manager, and
nixos-rebuildfails naming an unknown capability before anything runs. No dialog box at runtime, no "allow this once." Adding a capability is a diff, not a checkbox — the friction is deliberate. - Self-hosted platforms on actual hardware
- I run a Nix build farm across a home Kubernetes cluster — not because it's cheaper, but because it proves the systems I design can survive real constraints: memory pressure, network partitions, and the absence of a "create new instance" button.
- Data APIs from messy sources
-
JobFilter.ai started as a hosted career platform; four months in, I
deleted 66,000 lines of it and kept the API: structured JSON
only, source attribution, tokens scoped to
jobs:read. Sometimes the right infrastructure decision is what not to build. - Static hosting where ownership is a key
- RentFree.site runs one Site per tenant: deploys are git push over SSH, there is no signup form, and the SSH key is the ownership. Lose it and the Site is orphaned; deleting is one irreversible SSH command that takes the data with it.
How I work
- Version everything — Nix flakes for environments, Git for history, infrastructure as code. You can audit every change, reproduce every build.
- Terminal-native, not terminal-purist — I use the right interface for the job, but I optimize for the one that keeps me in flow. The 45-second context switch is where productivity dies.
- Calibrated delegation — Since AI got good, the hard problem isn't using agents; it's knowing where your judgment ends and automation begins. I keep raw runs, publish costs, and don't pretend tools think.
Get in touch
Email: max@ronner.dev
GitHub: maxronner ·
Codeberg: maxronner
If you're building agent infrastructure or self-hosting critical systems, describe the failure mode, not the stack. Address above.