https://github.com/andude10/tonic
Experimental spreadsheet for desktop
https://github.com/andude10/tonic
desktop gui rust spreadsheet tauri
Last synced: 17 days ago
JSON representation
Experimental spreadsheet for desktop
- Host: GitHub
- URL: https://github.com/andude10/tonic
- Owner: andude10
- License: apache-2.0
- Created: 2026-02-11T15:34:18.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2026-05-24T16:59:41.000Z (22 days ago)
- Last Synced: 2026-05-24T18:30:53.932Z (22 days ago)
- Topics: desktop, gui, rust, spreadsheet, tauri
- Language: Rust
- Homepage:
- Size: 1.06 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Tonic

Tonic is an experimental desktop spreadsheet for Windows, Linux, and macOS. It aims to implement new, fun features that usually do not exist in classic spreadsheets, for example:
- Any cell can be resized with double Shift
- Extrapolation of formulas is done using "Clone" (Ctrl+D)
- Filtering and sorting work per-cell, not per-row
- Formulas behave more like a real programming language
- Descriptive formula errors
- User-defined formulas in JS
The main goal of this project is experimentation, which is why support for common spreadsheet file formats (such as .ods and .xls) is not implemented. However, this might change in the future. The project is still a work in progress, and there is a lot to do before it is ready for daily use.
### Getting started
Download the executable from the [release page](https://github.com/andude10/tonic/releases)
or build from source:
1. Install Rust and pnpm
2. Install Tauri CLI (`cargo install tauri-cli`)
3. Fetch frontend dependencies (`cd webview-frontend && pnpm install`)
4. Run dev build (`cargo tauri dev`)
### Implementation
Tonic is a Tauri desktop program written in Rust. The frontend uses Svelte, and the grid is built on top of [SVAR](https://svar.dev/svelte/datagrid/). The backend implements the spreadsheet engine, including the [TACO dependency graph](https://arxiv.org/pdf/2302.05482), parallel formula recalculation, undo/redo, etc.