Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #3764

E

Expensify

Company blog · use.expensify.com/blogprogrammingsystems

Expensify is the company blog at use.expensify.com, writing about programming and systems. Since 2019, 21 different Hacker News readers have linked it 23 times, most often “Scaling SQLite to 4M QPS on a single server (2018)”. It is still writing: the last post was on 2026-10-29, and you can follow it by feed.

Visit the blog
23mentions?
21HN people?
2019–2026first – last linked?
Links on Hacker News per year · peak 10 in 2024

Too few sampled comments (15) to say how often HN recommends it.?

Why HN links it

HN commenters link Expensify's blog mainly for its account of scaling SQLite to 4M queries per second on a single node using the Bedrock branch. Several comments cite it as evidence for SQLite performance claims.

Summarised by Claude from a sample of 15 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Proud partner of F1® THE MOVIE. Expensify makes expense tracking easy—scan receipts, pay bills, and earn cash back.

Most-linked posts?

  1. Scaling SQLite to 4M QPS on a single server (2018)
    13 people · 15 mentions · first linked 2023-10-11
  2. The secret experiment behind the Expensify Lounge
    4 people · 4 mentions · first linked 2023-10-26

What Hacker News says?

  1. Bedrock Bedrock is the more interesting branch. It’s WAL2 + CONCURRENT It’s also the branch Expensify uses to scale to 4M QPS, on a single node (6-years ago) https://sqlite.org/src/timeline?r=bedrock https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “SQLite: Wal2 Mode”
  2. Submitted How Expensify achieves extreme concurrency with NUMA balancing as a story · 3 points

    HN discussion
  3. https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “IO Devices and Latency”
  4. Submitted Scaling SQLite to 4M QPS on a single server (2018) as a story · 3 points

    HN discussion
  5. https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a... Linked at the bottom of the article is the most extreme I've seen.

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “100k TPS over a billion rows: the unreasonable effectiveness of SQLite”
  6. Submitted How Expensify's OSS program is powering SWE-Lancer as a story · 2 points

    HN discussion
  7. Not sure what you are talking about? In WAL mode (which is what you should be using) writes don't block reads and reads don't block writes. If you are connections pooling (which you should) the cache will stay hot. Sqlite (properly configured) will outperform "proper databases" often by an order of magnitude in the context of a single box. You want a single writer for high performance as it lets you batch. > 256 har…

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “Use One Big Server (2022)”
  8. Submitted Scaling SQLite to 4M QPS on a Single Server (EC2 vs. Bare Metal) [2018] as a story · 2 points

    HN discussion
  9. I wonder if 1.7 petabytes of data (1T indexed records) could fit on a single (very) beefy baremetal server for under a couple thousand dollars a month, served by SQLite. Like this: https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “Migrating Uber's ledger data from DynamoDB to LedgerStore”
  10. Submitted Scaling SQLite to 4M QPS on a Single Server (EC2 vs. Bare Metal) (2018) as a story · 1 points

    HN discussion
  11. What does "scale" here mean? Sqlite can go quite far https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a... I agree with you w/r/t "Why build your own query builder" though since (AFAIK) you can't touch the underlying SQL. I'm making heavy usage of FTS5 in my app, and it doesn't look like they support that. And, to be fair, feathers/rethink also have the weaknesses you list: - Why build your own query build…

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “Show HN: Triplit – Open-source syncing database that runs on server and client”
  12. Submitted The secret experiment behind the Expensify Lounge as a story · 1 points

    HN discussion
  13. > Encourage workers back in with a carrot not the stick Expensify tried this, making the best office they possible could, the end result was people would come in to try it, leave positive feedback then never go back. https://use.expensify.com/blog/the-secret-experiment-behind-...

    Comment linking /blog/the-secret-experiment-behind-the-expensify-lounge

    on “Companies with return-to-office mandates face losing their most valuable workers”
  14. Submitted The secret experiment behind the Expensify Lounge as a story · 1 points

    HN discussion
  15. Worked here. Changed my mind on SQLite. Hipp worked alongside us. SQLite can be crazy performant: https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “SQLite on Rails: The how and why of optimal performance”
  16. Submitted The secret experiment behind the Expensify Lounge as a story · 1 points

    HN discussion
  17. https://use.expensify.com/

    Comment linking /

    on “Steve Singh stepping down as Docker CEO”
  18. https://use.expensify.com/blog/ceo-friday-why-we-dont-hire-n... this article again, but in HN comment form this time. yawn

    Comment linking /blog/ceo-friday-why-we-dont-hire-net-programmers

    on “Is .NET just miles ahead or am I delusional?”
  19. frompdx · 2024-04-08Recommends
    You might be interested in how Expensify use(s/d) SQLite for their product. https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “Ask HN: SQLite in Production?”
  20. Have you ever contemplated the true performance of SQLite? Expensify reached 4M point database queries per second, and an artificial (more like parser-testing, not database-touching) 160M qps. If your backend is on a single machine of predictable performance, and you properly index your queries, and you don't require remote DB connections, you don't need anything else but SQLite for 95% of use cases. https://use.exp…

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “Lobste.rs is now running on SQLite”
  21. Also Expensify's Bedrock, which powers their widely-circulated "Scaling SQLite to 4M QPS" article: https://bedrockdb.com/ https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “Marmot: Multi-writer distributed SQLite based on NATS”
  22. Expensify has blogged[0] about having terabyte sized SQLite databases. [0] https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “SQLite needs testers for the new binary JSON format”
  23. SQLite benchmarks are deeply flawed. Somebody has proven that it can sustain 4M queries per second on bare metal, 1.5M qps on a cloud VM, and it happened over 7 years ago. Therefore I do not believe any number from SurrealDB. https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a...

    Comment linking /blog/scaling-sqlite-to-4m-qps-on-a-single-server

    on “Benchmarking SurrealDB 3.x vs. Postgres, Mongo, Neo4j and Redis (With Fsync)”

Search all of HN for use.expensify.com

Linked by the same people?