← All case studies
DesktopOfflinePerformance
Cross-platform spreadsheet
A spreadsheet that runs as a desktop application on Windows, Linux, and macOS. Functions the built-ins do not cover are written in JavaScript and called from a cell like any other.
- Started
- April 2026
- Development time
- 8 weeks
- Platforms
- Desktop
- Industry
- Data analysis and office tools
- 57ms
to recalculate one million formulas across all available cores
- 3.5×
faster recalculation once the engine moved to a work-stealing thread pool
- 1.4GB
of memory for a sheet of ten million formulas, on an ordinary laptop
- 3
platforms from one build: Windows, Linux, and macOS
The challenge
The application has to run on three platforms, stay within a laptop's memory, and let people add formulas of their own.
The solution
A sheet with millions of formulas opens on an ordinary laptop, an edit recalculates only what it touches, and a function the built-ins lack is written in JavaScript and used like any other.
- Native on three platformsOne build for Windows, Linux, and macOS, in a native window.
- Incremental recalculationAn edit recalculates only the cells that depend on it.
- Compact dependency graphA column of repeated formulas is stored as one dependency.
- User-defined functionsA JavaScript file adds functions that are called from a cell like a built-in.
Engineering decisions
- The dependency graph implements TACO (Efficient and Compact Spreadsheet Formula Graphs, 2023): a column of shifted formulas is one edge with an offset, which is what keeps a large sheet in memory.
- A topological evaluator runs independent cells on a work-stealing thread pool. A cell only writes itself, and nothing reads it until its counter reaches zero, so one atomic per cell is enough.
- Moving from Tokio to the Forte thread pool cut a ten-million-cell recalculation from 3.8 s to 1.1 s in debug builds.
- Extensions register functions by name with typed arguments and a return type. A range arrives as a two-dimensional array, and a returned error becomes a cell error.
- Tauri puts a Svelte interface in a native window, so one codebase covers the three platforms.


