Developer and creative tools

jacksodj/

unicel

A native desktop spreadsheet that stores values as (number, unit) tuples, so dimensional analysis and unit cancellation happen inside formulas.

What’s new here

Unicel stores each value as a tuple: the number and the unit together. Formulas operate on both parts. Divide 100 USD by 5 hours and you get 20 USD/hour as a compound unit, not a raw number you have to label yourself. Toggle the display mode and the sheet renders in Imperial without touching the stored data.

What it does

Unicel is a Tauri-based desktop app with a Rust backend and a React/TypeScript frontend. You enter values like 50 mi or 2 hr into cells, write formulas like =A1/A2, and the engine tracks units through the calculation. Incompatible unit additions raise errors; compatible ones auto-cancel or compose.

The app saves to a .usheet JSON format and exports to Excel with a metadata sheet that preserves unit information. Tables are SQL-queryable at runtime via an in-memory SQLite database. There is also an MCP integration for use with AI tools that support the Model Context Protocol.

The test suite covers 227 tests across unit conversions, formula evaluation, MCP, and file I/O.

Who it’s for

Engineers, scientists, or financial analysts who build spreadsheets where unit errors are a real cost: construction estimators mixing feet and meters, AWS cost models mixing hours and dollars, or anyone tired of tracking units in cell comments. Prebuilt installers are available for macOS and Windows (v0.5.1); building from source requires Rust and Node.js 18+.

Try it

Prebuilt installers for v0.5.1 are available as assets: Unicel_0.5.1_aarch64.dmg, Unicel_0.5.1_x64.dmg, Unicel_0.5.1_x64-setup.exe, and Unicel_0.5.1_x64_en-US.msi.

To build from source:

# Clone the repository
git clone https://github.com/jacksodj/unicel.git
cd unicel
 
# Install dependencies
npm install
 
# Run development server
npm run tauri:dev
 
# Build for production
npm run tauri:build

Prerequisites: Rust (latest stable), Node.js 18+, and the platform-specific build tools listed in the Tauri prerequisites.

How mature is it

Created October 2025, latest release v0.5.1 from October 2025, with 13 releases total. The README marks all nine implementation phases (Phase 0 through Phase 8) complete. 2 contributors, 2 stars, 0 forks. One commit in the last 90 days. The README says the project is dual-licensed under MIT OR Apache-2.0.