Before anything else, go buy Soulver. It is the app that worked out the notepad calculator idea, it has been on my Mac for years, and it is one of the few paid apps I would buy again without thinking twice. If you are on a Mac, that is the answer. Sumline does not replace it and is not trying to.
My problem is that I am not on the Mac all day. Soulver lives on the device it is installed on, so when I am working from the PC those sheets may as well not exist. I wanted the same thing running on a server where anything with a browser could reach it. That is Sumline.
It is a notepad calculator you host yourself. Type in plain language on the left, answers appear on the right and update as you go. Units, currencies, percentages, dates, variables, running totals, tags that subtotal across a sheet.

A Docker container, any browser, one instance everybody reaches. The sheets live on the network instead of on a device, so the Mac, the PC in the shop and a phone are all looking at the same numbers with nothing to sync.
What Is Different
Almost every difference traces back to one decision: this is a service, not a document.
| Sumline | Soulver | |
|---|---|---|
| Runs on | Any browser, against a container you host | Native apps for Mac, iPhone and iPad |
| Getting it | git clone and docker compose up, MIT licensed | A paid one-time purchase, or Setapp |
| Where sheets live | On the server, in one SQLite volume | In a .sheetbook file on the device |
| Between devices | Every browser reaches one instance, so there is nothing to sync | iCloud sync across your own Apple devices |
| More than one person | What it is built for | One person, across their own devices |
| The engine | math.js, evaluated in the browser | Soulver’s own |
| Source | Open | Closed |
What I Added
- Spaces, meaning separate sets of sheets, settings and global variables. Useful for two people, or for one person keeping work and personal apart
- Live updates over an event stream, so a sheet open in two places stays current
- An editing lock with a conflict panel that shows which lines differ rather than silently picking a winner
- Share links where every slug a sheet has ever held keeps working
- Date math that resolves in the reader’s browser timezone rather than the host’s, so
todayis your today wherever the container runs - Color coding sheets, drag to organize sheets and collapse with folders
- An optional shared instance password, off by default
git clone https://github.com/philoking/Sumline.git sumline
cd sumline
docker compose up -d --build
Open port 8422 and you are done. Sheets persist in a volume, date math follows your browser’s timezone rather than the container’s, and it works with no internet at all.
MIT licensed, at github.com/philoking/Sumline. Longer writeup on the Sumline page.