The archive · Product Ideas · Product decision · 2021
Litestream streams SQLite to S3 so one server can run a whole app
Ben Johnson built Litestream, a free process that continuously replicates SQLite to Amazon S3 for about $1 a month — one server, no database fleet.
Litestream
What it had to solve
Ben Johnson, who wrote the BoltDB embedded database seven years earlier, watched 1990s n-tier architecture turn a single app into a fleet of web, cache, queue and database servers. He wanted to build single-process applications on SQLite — small, fast, reliable — but its one big problem was disaster recovery: if the server dies, so does the data.
How it works
Ben Johnson opened his 2021 essay with a contradiction: Moore's Law made computers exponentially faster, yet applications need more machines than ever. The culprit, he argued, was an architectural decision made in the mid-1990s — slow scripting languages were moved off the database server into their own layers, and each layer brought a supporting cast of caches, connection pools, queues and clusters, so complexity begot complexity.
His alternative was single-process applications built on SQLite, a database he called bulletproof and absurdly well tested. But SQLite carried one disqualifying weakness: disaster recovery. Other databases stream changes to a replica so a failure costs nothing; the best a standard SQLite setup could hope for was a nightly backup, and rqlite-style solutions demanded a three-node cluster. If the server died, the data died.
Litestream is the answer in one process: it runs beside SQLite and continuously replicates the database to Amazon S3, with a few lines of configuration, no license fee and storage costs of roughly $1 a month. The pitch was to restore sanity — write code against one embedded database, scale vertically first, and shard per customer when a service outgrows a single node, instead of operating a dozen infrastructure services.
Published in February 2021, the post drew 703 points and 176 comments on Hacker News, and the author updated it with a link to that discussion. Litestream kept shipping — by the 2026 version of the site it was at v0.5.x, actively maintained, with read-only replicas for edge copies already on the roadmap as the next step.
Why it lands
- Johnson attacked the one missing capability — disaster recovery — rather than the database itself, so the fix fitted an already-fast, already-reliable tool.
- Choosing Amazon S3 as the replication target made the safety net cost about $1 a month and pushed the operations burden onto a provider.
- Shipping Litestream as a separate small process meant no changes to SQLite or to application code: adoption was a few lines of configuration.
- The essay sold the why before the tool, turning an infrastructure release into an argument about how much complexity software had accepted without question.
- Free and open source removed the last barrier for the single-VPS and hobbyist audience that most needed the simplicity he was arguing for.
What it did
The launch post drew 703 points and 176 comments on Hacker News on 2021-02-11 — discussion the author linked from the post itself. The project stayed actively maintained into 2026, when the site showed v0.5.x as the latest version with a v0.3.14 archive link, and Johnson's planned next step was replication to read-only replicas at the edge.
What you can take
Fix the single missing feature instead of replacing the stack: SQLite was already fast and reliable, so continuous replication to cheap object storage removed the only reason to run a database fleet.
Since then
The post stayed live as the project's origin story, updated by its author with a link to the Hacker News discussion it sparked — 703 points and 176 comments on 2021-02-11. Litestream itself kept shipping: by the 2026 version of the site it was at v0.5.x, 'actively maintained with new features and bug fixes', with v0.3.14 still offered to users of the older line. Johnson's stated next step — replication to read-only replicas that could serve requests locally at the edge — was already filed on the GitHub issues board when the essay was published.
Sources
spotted an error? The archive wants to know.
Your turn
You just read one. Describe the brief you are staring at, and see who has been given the same problem.
Free account · 3 free questions · no card