Data ownership
Your data sits in a database with your name on it.
Data ownership and personalization are the two things SproutOS is actually built around. Everything else — the cheap compute, the sleeping databases, the app store — is plumbing in service of them.
A database per person
Because databases are cheap to spin up, an app can sign you in with SproutOS OAuth and hand you a database of your own. Privacy stops being a policy and starts being an architecture.
No fork required to own it
If the original app supports personalized databases, your data is yours without maintaining any code at all. Ownership and personalization are separate decisions.
Leaving is a prompt, not a project
Point a coding agent at your database and move to another app in the same category. Low switching costs are what let a diverse app ecosystem exist at all.
Cross-app analysis
The interesting questions are the ones that span two apps.
How much of what you read gets saved and never opened again. Whether the weeks you logged the most tasks were the weeks you slept least. No single vendor will ever build that, because it needs data from a product they do not sell — and when every app writes into a database that is yours, nobody has to.
- It is one Postgres, not five exports
- Every app you run against your SproutOS database writes into a database you can open. Asking a question that spans two of them is a join, not a support ticket and a CSV.
- You can read it without asking anybody
- A connection string is a connection string. Point psql, a notebook, a BI tool or a coding agent at it — nothing here mediates your access to your own rows.
- You can correct it yourself
- The thing every app gets wrong about your data is different, and none of them ship the screen you need. An UPDATE does not require the vendor to agree with you.
Switching costs
Most software is not kept because it is good. It is kept because leaving is expensive.
Normally
Your data lives in the vendor's database. Leaving means finding an export, discovering what it omits, and rebuilding the shape by hand — so mostly you do not leave, and the vendor knows it.
Here
The data was never in their database. Switching is moving your own rows from one schema to another, which is exactly the kind of tedious, well-specified work a coding agent is good at.
Which changes what gets built
When leaving is cheap, a new app only has to be better than the incumbent — not better by enough to justify losing five years of history. That is the difference between an ecosystem and three winners.
This only works as far as developers are willing to implement it — an app that insists on its own central database is still an app that owns your rows. That is the argument on the developers page, and it is the part of this we cannot do alone.