While working at Google years ago, I co-founded a nonprofit for math enrichment classes. I ran it in my spare time, using Google Sheets, until the spreadsheet setup grew too unwieldy, time-consuming, and frustrating. Back then, I bit the bullet, and rebuilt it using Django. It took months of my evenings and weekends — just to recreate a database version of what I almost had with a spreadsheet.
That got me thinking what made spreadsheets my tool of choice to start with, and what made me switch to a database, and if we can have the best of both worlds. So we built Grist to be a “relational spreadsheet” — most of what a spreadsheet has, but with more structure, linking between records, and a flexible UI on top.
I’ve been using Grist daily, it’s now my tool of choice. I’d love to know what uses you put it to as well!
I got onboard 3 years ago right after Dmitry made a demo to me. What truly impressed me right from the beginning was the UI and how easy it was to build advanced views by simply using linking between records. To me, this plus the python formulas and the sqlite storage put together shows great potential to achieve distributed data management properly.
Note that it was even possible at that time to run Grist standalone using electron and to bring your data offline with you. It had been deprioritize and the feature had to be put on the side for a while. But it does not seem to hard to bring it back.
For formulas: could it be that Grist formulas are per-column rather than per-cell? This can take a little getting used to, but we think it leads to neater spreadsheets, and there are other features that can take up the slack that mixed-content columns used to (like multiple views within a page/tab). Sorry you hit editing glitches - thanks for letting us know, and if you have the time I'd like to hear more here or via the "give feedback" button in the app. Cheers!
Column-wide formulas are an example of Grist data being more structured than a traditional spreadsheet. In a spreadsheet, one might type over a cell because it's an exception. In Grist, you'd need to think what makes it special, and
change the formula to reflect that. E.g. `=$Price - $Discount if $Status != 'Comped' else 0`. But once that exception is turned into a rule, it applies to all records. Which is a good thing.
cto here - I signed up to work on Grist because I like the UI, like it as a spreadsheet format, and think it has potential for decent version control - something lacking in data projects, and that I've been interested in for way too long - here I am ranting in 2013 https://okfnlabs.org/blog/2013/08/08/diffing-and-patching-da...
While working at Google years ago, I co-founded a nonprofit for math enrichment classes. I ran it in my spare time, using Google Sheets, until the spreadsheet setup grew too unwieldy, time-consuming, and frustrating. Back then, I bit the bullet, and rebuilt it using Django. It took months of my evenings and weekends — just to recreate a database version of what I almost had with a spreadsheet.
That got me thinking what made spreadsheets my tool of choice to start with, and what made me switch to a database, and if we can have the best of both worlds. So we built Grist to be a “relational spreadsheet” — most of what a spreadsheet has, but with more structure, linking between records, and a flexible UI on top.
I’ve been using Grist daily, it’s now my tool of choice. I’d love to know what uses you put it to as well!