Show HN: Subset – A Spreadsheet on a Canvas
We’re a team of 4 and have been at it for over a year now, so we’re eager for HN community feedback!
Why another spreadsheet? Subset was born out of frustration with how we built spreadsheets in our previous finance roles. We often wanted to split our complex financial models into components that we could reuse and share with co-workers. We spent too much time recreating the same thing from scratch or trying to extract something useable from a previous workbook. We wanted a spreadsheet with the higher level of composability every other programming language has, that could solve many of the issues of large monolithic workbooks.
Why infinite canvas? We landed here when we realized reusability was not a first class concept in traditional spreadsheets [1]. The canvas and individual grids enable abstraction organically. You can communicate data flow better and emphasize inputs and outputs. We’ve also been heavily inspired by other canvas based programming tools like natto.dev.
Subset is browser based and real-time multiplayer. Our biggest challenges building so far have been performance and all the core spreadsheet functionality, and we continue to make improvements here. We currently support 80+ formulas, copy and paste, cell locking, arrow key navigation, and filling formulas down/across.
So far users have been building fairly simple calculators and tools:
Personal budget: https://subset.so/community/file/0LVMQySNt29EzS3wB3mOq8/Over...
Equity Compensation Calculator: https://subset.so/community/file/0uJgbT1hJzyGW0WxV6jlyS/Equi...
The biggest challenge we faced with spreadsheet reusability is formula references that break when data changes. We’ve added features to combat this, like the ability to sync columns across grids. Downstream grids and formulas will automatically grow or shrink, reacting to changes in inputs. Here’s an example of a budget tracker summing up categories dynamically. https://subset.so/community/file/6MqnGMKeYUKU6TQv0E5KJc/50-3...
We love spreadsheets and we think this combination of canvas + reusable components (subsets) has the potential to solve some of the biggest problems with spreadsheets themselves.
Let us know what you think! Shoot us an email at [email protected] with any feedback :)
— AJ and Jason
[1] https://www.microsoft.com/en-us/research/uploads/prod/2020/0...
are there plans to allow components to be sourced from other systems (e.g., a CSV hosted remotely)