— pi-storm
a compute grid
in browser tabs.
open a page and your machine quietly joins a global computation: billions of Monte Carlo darts a second, from a Rust kernel compiled to WebAssembly, running across every core you have. a tiny coordinator hands out work and keeps the tally.
the hard part is not speed, it is trust. none of these browsers can be believed, so every result is checked by a second independent node, salted with known-answer canaries, and scored. it works, and the series ends by being honest about what that is worth: a real capability, not a compute business.
- verified darts
- 12.1B
- pi estimate
- 3.14160797
- verification tax
- 2.5–2.9×
the series · 9 parts
- 01→Every Browser a Compute Node2026-05-28
Open a web page and your machine joins a global computation. The idea is decades old, the catch is real, and this series builds it anyway.
- 02→Estimating pi with Rust and WASM2026-06-04
How a million random darts produce a precise number, and why a seeded PRNG quietly makes the whole grid verifiable.
- 03→One browser, every core2026-06-11
One Web Worker per core took the pi kernel from one busy thread to 10.7 billion darts a second, and then I hit the ceilings nobody mentions.
- 04→Where Does a WebSocket Coordinator Live?2026-06-18
pi-storm needed its first server: a WebSocket coordinator with state in memory. The obvious serverless answers fell apart, and the honest fix was one Cloud Run instance, pinned on purpose.
- 05→Distributed and Healing2026-06-25
Two browsers join one global pi computation, then I close a tab mid-work and watch the coordinator reopen its slots.
- 06→Trusting Math from Strangers2026-07-02
Every browser in the grid is an untrusted stranger, so here is how you catch a lying node with byte-equality, tiebreaks, and hidden canaries.
- 07→It Was Never About Pi2026-07-09
Pi was a stand-in. The real test of the grid was whether a second, genuinely different workload could run through the coordinator without touching a line of its core.
- 08→Shipping It, and the Honest Scorecard2026-07-16
The grid goes live at pi.inoltro.tech, 12.1 billion verified darts come back, and I tally up what this project is actually worth.
- 09→When the Pinned Instance Wedged2026-07-18
The series ended with the coordinator on one pinned Cloud Run instance. Two days later it wedged under real WebSocket load, and the honest fix was to leave serverless for a plain VM.
the whole thing lives in the garden alongside the rest of the notes. built at inoltro digital ↗.