Software that still runs in five years
cavas is a small product studio in Aalborg. We build products we then have to run ourselves, and that changes how they get built. We take on outside work too, when the job is the right one.
Four products, running every day
Provisore
From empty VPS to hardened production.
Read the case
MealFoundry
Every meal, from idea to table.
Read the case
Spectati
One library, wherever the film lives.
Read the case
Bilero
One lookup. The whole history of the car.
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
cavas is three things at once: a drawing board, a codebase and an on-call rota. We are small on purpose. The person who drew the screen also writes the migration, and gets woken up when the queue stalls on a Sunday night.
We build our own products because it is the fastest way to keep pace with where the field is going. New tools get tried at our own expense instead of a client's.
Product and interface
Flow, information architecture and interface. We draw in the browser rather than in a static mockup, because an interface only becomes real once you can click it.
Backend and data
Swift, PHP and PostgreSQL. We design schemas meant to live for years, not schemas that demo nicely once.
Apple platforms
Native SwiftUI for iPhone, iPad, Mac and Apple TV, with iCloud sync and a playback stack that does not boil the content down on the way through.
Operations
We host, monitor and deploy everything ourselves. Provisore exists because we got tired of the alternatives.
We build what we use
Every product solved a problem we had first. It keeps the requirements honest, and it makes it hard to fool ourselves.
Done means running
A product is not finished at launch. It is finished once it has run for six months without waking anyone up.
No boxes we cannot open
We pick tools whose source we can read, on the night something breaks at two in the morning.
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. We answer ourselves, usually the same day.
- [email protected]
- Phone
- +45 27 15 17 14
- Place
- Vodskov, Aalborg