← all work
CASE STUDY2024 – 2025· confidential — no public code

dt.cubeExcel for billions of rows

I built the analyst-facing UI for a WASM grid that renders datasets too big for Excel.

527
commits, #2 of ~8
8,239
lines of C++ core
8
feature panels
1M+
rows in the grid

dt.cube is "Excel for billions of rows" — a spreadsheet UI over a C++ engine compiled to WebAssembly and streamed to a canvas. I was the #2 contributor of about eight, with 527 commits over a year (~26.2k insertions, ~23.7k deletions).

I owned the 353-line TypeScript facade that bridges React to the 8,239-line C++ engine, exposing pivot, filter, SQL, data-source, theme, column-stats, and S3-browsing calls over the Emscripten API. On top of it I built a drag-and-drop pivot builder — three cross-linked sortable drop zones with per-column aggregation and datetime granularity, compiling to one engine pivot() call — and an AI assistant that builds a schema-aware prompt live from the engine, calls GPT-4o-mini in JSON mode, and applies the generated SQL to the grid in one click.

The hard part

A clean contract across the JS/WASM boundary

The grid's speed comes from a C++ engine in WebAssembly, but every interaction has to cross the JS↔WASM boundary cheaply and safely. I designed a 353-line TypeScript facade as the single contract: React never touches the engine directly, and each capability — pivot, filter, SQL, stats — is one typed call over the Emscripten API. That boundary let the UI evolve fast while the native core stayed untouched.

Highlights

  • Authored 527 commits (424 non-merge) over 12 months, #2 of ~8 contributors.
  • Owned the 353-line TypeScript facade bridging React to the 8,239-line C++/WASM engine over the Emscripten API.
  • Built a drag-and-drop pivot builder: 3 cross-linked sortable drop zones, per-column aggregation, datetime granularity, compiling to one engine pivot() call.
  • Shipped an AI assistant that builds a schema-aware prompt from the live engine, calls GPT-4o-mini in JSON mode, and applies the SQL in one click.
  • Built the Playground shell hosting 8 feature panels as floating popovers over the canvas, gated by deployment feature flags.

Stack

React 18TypeScriptC++ (Emscripten/WASM)WebSocket streamingCanvas renderingOpenAI APIDuckDB / ODBCTauri