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 Documentation 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.