Software that still runs in five years
cavas is a small product studio in Aalborg. We build our own products and run them for years afterwards, which makes us careful about how we build. We take on outside work as well.
Four products, running every day
Provisore
From empty VPS to hardened production.
Read the case
MealFoundry
Plan the week and the shopping list writes itself.
Read the case
Spectati
One library, wherever the film lives.
Read the case
Bilero
The whole history of the car, from one number plate.
Read the case
Each case covers what the problem was, how we approached it, and what runs today.
Built by the people who have to run it
There are very few of us, and that is deliberate. The person who designs a screen also writes the migration behind it, and is the one who gets paged when the queue stalls.
Our own products are where we try new tools first. When one turns out to be a bad idea, it costs us and nobody else.
Product and interface
Flows, information architecture and screens. We design in the browser rather than in a mockup, so the first thing anyone clicks is the real thing.
Backend and data
Swift, PHP and PostgreSQL. We spend a long time on the schema, because it is the part that is still there in five years.
Apple platforms
Native SwiftUI for iPhone, iPad, Mac and Apple TV, with iCloud sync and video playback that passes HDR and Dolby Atmos through untouched.
Operations
We host, monitor and deploy everything ourselves. Provisore exists because we got tired of the alternatives.
We build what we use
Every product started as something we needed ourselves. That keeps the requirements honest, because we are the first user to complain.
Done means running
We count a product as finished once it has run for six months without an emergency fix. Launch is roughly the halfway mark.
No boxes we cannot open
We pick tools whose source we can read, because when something breaks the fix usually starts with reading it.
The tools we build with
Four products, one toolbox. We switch only when there is a reason to.
- Swift
- Hummingbird
- Laravel
- PHP
- Node.js
- PostgreSQL
- Valkey
- React
- TypeScript
- Inertia
- Tailwind CSS
- Vite
- SwiftUI
- iOS
- iPadOS
- macOS
- tvOS
- iCloud
- Ubuntu
- Nginx
- systemd
- Let's Encrypt
- Hetzner
- Cloudflare R2
- Sentry
Got something that needs building?
Write a few lines about what it is. One of us reads it and answers, usually the same day.
- [email protected]
- Phone
- +45 27 15 17 14
- Place
- Vodskov, Aalborg