Blog
Engineering updates, release announcements, and deep dives.
Inside Mog: How We Built a Spreadsheet Engine in Rust
A technical deep dive into Mog's architecture: 21 Rust crates, a custom bridge framework, binary wire protocol for 60fps rendering, and CRDT collaboration.
Why Mog Renders Every Pixel on Canvas
A technical deep-dive into Mog's canvas rendering engine: why we abandoned the DOM, the binary wire protocol that delivers viewport data at 60fps, spatial indexing for hit-testing, and multi-layer composition.
Why We Chose CRDTs Over OT for Spreadsheet Collaboration
A technical deep dive into Mog's collaboration design: why we chose CRDTs over Operational Transformation, how the Cell Identity Model makes concurrent structural edits composable, and the trade-offs we accepted.
Inside Mog's Formula Engine: Parsing and Evaluating 582 Functions
A deep dive into how Mog parses and evaluates Excel formulas: a hand-written recursive descent parser, incremental dependency graph recalculation, dynamic arrays, and 582 function implementations in Rust.
Introducing Mog: An Open-Source Spreadsheet Engine
Today we're open-sourcing Mog — a spreadsheet engine built from scratch in Rust. 500+ Excel-compatible functions, CRDT collaboration, canvas rendering, and SDKs for Node.js, Python, and the browser.
Mog Performance: Rust + WebAssembly vs. JavaScript Spreadsheets
Early performance analysis of Mog's Rust/WebAssembly compute engine compared to JavaScript-based spreadsheet libraries.
The Spreadsheet Landscape: Where Mog Fits
How Mog compares to Excel, Google Sheets, Handsontable, SheetJS, and other tools — and when you should (or shouldn't) use it.