Launch a startup for €15 a month
klar.im runs its website, a live AI demo, mail, analytics and a password vault on one 2 GB VPS. Every line of the bill: €15.49 a month with the domain.
That pays for the whole public side of an AI startup. Three decisions keep it that small: inference on the user’s device, SQLite instead of a managed database, and deploys that need no standing second server.
What runs on a 2 GB VPS
One Caddy server terminates TLS for every hostname and proxies each to a process on the same machine. Each service keeps its state in its own SQLite file, so there is no database server to run or pay for.
The monthly bill, line by line
“One small VPS” is three line items, and the IP address is more than half the price of the machine. Scaleway bills a flexible IPv4 by the hour, attached or not.
| Line | Spec | Per month |
|---|---|---|
| DEV1-S compute | 2 vCPU, 2 GB RAM | €6.55 |
| Flexible IPv4 | €0.005 an hour, attached or not | €3.65 |
| Root volume | 20 GB block storage | €1.90 |
| Object Storage | 13 GB: backups, downloads, state | €0.21 |
| Egress | Inside the 75 GB free tier | €0.00 |
| klar.im domain | .im at €38.17 a year | €3.18 |
| <strong>Total</strong> | Before VAT | <strong>€15.49</strong> |
Why the bill does not grow with users: the model runs on their device
Klar classifies mail on the user’s own device, so a new user adds nothing to our server or our bill. The model is a file of a few hundred MB inside the Mac app, the App Store carries that download, and our server never sees a user’s message.
A transformer model in 2 GB of RAM
The homepage demo runs a Klar model inside the website’s Node process, and that process does not swap. Half of its memory is the model file mapped from disk, which the kernel can drop and read back under pressure.
| Website process, measured after a deploy | Measured |
|---|---|
| Resident memory | ~870 MB |
| of which the mmapped model file | ~430 MB |
| Swap used by the website | 0 kB |
| Out-of-memory kills over 4 days | 0 |
SQLite and Litestream instead of a managed database
Each database is a file, and Litestream streams every change to Object Storage, so a dead box loses at most about a minute of database writes. Each database is also archived monthly and kept for a year. The password vault, a database plus files, is snapshotted with btrfs every 15 minutes.
Deploys without a standing second server
A rebuild creates a second VPS for a few minutes, restores it from Object Storage, then moves the IP address to it. That is why the IPv4 is flexible: the address outlives the machine. The swap shows as a blip of about a second, and the old box is destroyed right after.
Where one box breaks
- SQLite with Litestream allows one writer, so there is one active node.
- 2 GB is the ceiling for now. The next step, a DEV1-M with 4 GB at €14.74, more than doubles the compute line.
- One machine is one failure domain: a hypervisor fault means minutes of downtime while we restore.
Start with one box
Where should your first euros go?
The base is the same for all four: a 2 GB VPS, Caddy in front of every service, SQLite with Litestream from the first day.
Pick the one closest to yours:
The base, and nothing else.
One box carries it, with room to spare for analytics and a password vault.
Put everything on one small VPS until a measurement says otherwise. The free Klar Mac app is the model side of this: it sorts Apple Mail on your Mac, and nothing it reads reaches the server above.
Questions
How much does it cost to host a startup on one VPS?
klar.im runs its website, a live AI demo, mail, analytics and a password vault on a 2 GB VPS for €12.31 a month before VAT. With the domain the total is €15.49.
Why pay for an IPv4 address?
Mail servers still expect IPv4, and a flexible address can move from one machine to another, which is how we swap servers during a rebuild. At €3.65 a month it costs more than half of the compute.
Sources
Prices are Scaleway’s list prices before VAT, checked on 2026-10-07.
- Scaleway instance pricing DEV1-S, DEV1-M, IPv4
- Scaleway domain pricing .im registration and renewal
- Litestream Streaming replication for SQLite
- Caddy Web server with automatic HTTPS