Until recently. I discovered Simon Eskildsen's talk [2] and github repo [3] on programmer napkin math. I liked his reasoning, and decided to _actually_ internalize the numbers now.
So I made baserates.dev.
It's a spaced repetition program that teaches you the napkin math from Simon, enhanced with a few things from Jeff Dean's list. The main changes: I included CPU instructions, like L1 Cache reads. I also included some nooby context, like how to pronounce the character μ, and a reminder on what is bigger: nano seconds, or micro seconds.
The app automatically saves your progress, and doesn't require auth. Most of the logic is vibe coded: I fed Claude all the links. I use InstantDB [^4] for the backend, mainly to support guest auth and saving progress. Most of my time spent on the project was just going through and making sure the numbers were right. [^5]
Hope you enjoy it!
[1]: https://gist.github.com/jboner/2841832
[2]: https://www.youtube.com/watch?v=IxkSlnrRFqc
[3]: https://github.com/sirupsen/napkin-math
[4]: Disclaimer: I am the founder of InstantDB
[5]: One fun story: I got claude to spin up a bunch of machines on Amazon, to confirm latency numbers for same AZ, cross AZ, cross region requests.