ATRIUMsearch → argument graph
Article · 2026-07-21 · 6 moments

Pushing software engineering limits with “napkin math”

Turbopuffer cofounder Simon Eskildsen on the benefits of longer tenure, using first principles to build durable software – and why founders should be cautious when raising VC money ✦ AI generated

01
Claim

If you take venture capital, no matter how many smiles there are in the room, everyone's expecting to earn a big return on some timeline that makes sense to pension funds in Canada.

Simon explains his early reluctance to raise VC funding, recognizing that venture capital obligates founders to deliver outsized returns on timelines set by institutional investors like pension funds, which conflicted with his uncertainty about whether turbopuffer could be a billion-dollar company.

transcript

Simon Eskildsen: I understood that if you take venture capital, no matter how many smiles there are in the room, everyone's expecting to earn a big return on some timeline that makes sense to everyone involved. And 'everyone involved' are pension funds in Canada. But at the time, I did not know if turbopuffer could be a billion dollar company. It felt like a very niche kind of search engine. And that was completely fine with me!

provides context · 1supports · 1

03
Mechanism

Napkin math — quick calculations to get rough answers — is a powerful way to challenge existing systems and reveal why products run slowly or cost too much.

Simon Eskildsen developed 'napkin math' as a toolkit to calculate theoretical limits of compute operations, enabling him to challenge benchmarks and design decisions by comparing real-world performance against first-principles expectations.

transcript

Simon Eskildsen: Napkin math was essentially just this table that I maintain on GitHub. There's probably like 50 of these numbers and then a script that generates them all. For example, what does a gigabyte of memory cost? $2. What does a gigabyte of S3 cost? Two cents... I had a massive table, then I created flashcards for almost every single cell so I know all these numbers. This was a project I started taking on at Shopify because I would review projects and these numbers would be helpful.

04
Claim

The biggest benefit of a long tenure at a company was learning to write software that ages well — the simple solution someone put together in a week or two often outlasted the big, multi-team RFC-driven solutions.

After eight years at Shopify, Simon found that the most valuable lesson was how to build durable software, observing that simple, pragmatic solutions frequently outlived complex, committee-designed architectures.

transcript

Simon Eskildsen: The biggest benefit of a long tenure at a company was learning to write software that ages well. Simon told me that this was the lesson that made it so worthwhile, and how often the simple solution someone put together in a week or two outlasted the big, multi-team RFC-driven solutions. That was a lesson he still uses today.

05
Mechanism

The first version of turbopuffer was the simplest possible thing — barely reading the literature on log-structured merge trees, just running a clustering algorithm on vectors and putting clusters in files on S3.

Simon describes building the initial version of turbopuffer in summer 2023 with minimal complexity: running a clustering algorithm on vectors, organizing results into files on S3, and using NGINX as a caching reverse proxy — without even implementing a dedicated caching layer.

transcript

Simon Eskildsen: I just became fully obsessed that summer [of 2023] with building it. The first version was the simplest possible thing. I'm a very pragmatic person, so I didn't get buried in detail. I barely read the literature on log-structured merge (LSM). The simplest way to do this is to run a clustering algorithm on the vectors. You get the clusters, and then put the clusters in files. The files are called 'cluster_01', 'cluster_02', 'cluster_03.'

gives example · 2

06
Claim

When reviewing a project, benchmarks are unsatisfying because napkin math shows you what the theoretical lower bound should be, and a large gap means either the benchmark is wrong or your understanding is flawed.

Simon explains how he used napkin math to challenge product teams' benchmarks: if a query should take 10 milliseconds by first-principles calculation but the benchmark shows 10 seconds, something is wrong — often the benchmark is measuring a distributed query across many nodes.

transcript

Simon Eskildsen: When reviewing a project, a product team would tell me that they chose Database A over Database B because they benchmarked both, and Database A was better. I hate benchmarks because making design decisions based on benchmarks is not a satisfying answer to me. For example, you're saying that with Database A, as per the benchmark, it takes 10 seconds to do this one thing. But it should take 10 milliseconds if you do the napkin math.

provides context · 1

Highlight slides
Related episodes