Jonas Vinstrup — backend & infra, Copenhagen.
I'm a backend and infrastructure developer in Copenhagen. I spend most of my time on the unglamorous middle of systems — queues, storage, the path a request takes when something is on fire. I like problems that have a correct answer and tools that do one thing.
My bias is toward fewer moving parts. I'd rather run one Postgres I understand completely than a fleet of specialised services I understand in the abstract. Most of what I've shipped is the result of deleting something rather than adding it. The Kafka post is the clearest example, but it's the whole habit.
I write here when something breaks in an interesting way. No newsletter, no comments, no analytics — if you want to argue with me, the email's at the bottom.
This site is static HTML served by Caddy off a single small VPS in a Frankfurt datacentre. Same box runs one Postgres and a litequeue worker under systemd, with automatic TLS and unattended security upgrades. It was reinstalled onto Debian 12 in April; everything on it is reproducible from a repo, which is the only reason I sleep.
$ uname -a && systemctl --type=service --state=running | head
Linux jonas-vps 6.1.0 #1 SMP Debian x86_64 GNU/Linux
caddy.service Caddy web server
postgresql.service PostgreSQL 15
litequeue@worker litequeue worker (1)
No JavaScript ships from here. No third-party requests. The whole thing is a handful of files behind a file server, which is about the right amount of infrastructure for a personal site.
Mail is best: jonas@vinstrup.example. I read everything, reply to most of it eventually, and prefer plain text. Source for my tools lives at git.vinstrup.example — start with the projects page.