improvise

Terminal pivot-table modeling in the spirit of Lotus Improv — multidimensional cells, formulas over dimensions instead of cell addresses, and vim-style keybindings for reassigning axes on the fly.

▶ Run improvise in your browser Source on GitHub

No install, no server, no account: the whole application runs in a Web Worker on this machine and the document lives in your browser's private storage.

Reassign an axis

A category lives on exactly one axis. Moving it rewrites the grid; nothing in the data or the formulas changes.

Drill into an aggregate

An aggregated cell opens onto the records behind it, editable in place.

Recorded 2026-04-09. The records grid has changed since: it now has a column per measure plus columns for adding a category and a measure, where this recording shows a single Value column.

Formulas over dimensions

Profit = Revenue - Cost names categories and items, not B3, so it survives every rearrangement of the view.

Import a CSV

The wizard classifies each column as a category, a measure or a time field, and builds the model from what you confirm.

Install

# Nix
nix profile install github:fiddlerwoaroof/improvise

# Prebuilt binaries (Linux x86_64/aarch64, macOS Intel and Apple Silicon)
# https://github.com/fiddlerwoaroof/improvise/releases

Not yet on crates.io; see the releases page for the current prerelease.