Show HN: We built a no-code tool on top of a spreadsheet (Game of Life example) https://ift.tt/zpl4Bqm

Show HN: We built a no-code tool on top of a spreadsheet (Game of Life example) Hi everyone! I want to share a spreadsheet tool we are building. The main idea is to be able to specify logic for a no code tool inside a spreadsheet. We have automations, data integration, action formulas, dashboards. Linked example: We use our UPDATECELL formula to make a step in a board of game of life. We can also use CHAIN to make it run indefinitely. The actions are exposed as buttons in a dashboard. Our automations work by loading your spreadsheet on the server and running an action specified in the spreadsheet. So the logic could be, pull in data from google sheet, send a personalized email to every row which we haven’t emailed yet, mark those rows as complete. Run this automation on 5 minute schedule, add any other custom logic you need (e.g. test email for deliverability) and you have yourself an automatic email tool. We are leaning into automations to differentiate ourselves from other products in the field at the moment. Technical kinks: - Since our automations make changes to the spreadsheet, we needed a robust multiplayer system. We implemented a CRDT system. This is a topic for a longer blog post, but one fun challenge was to implement CRDT for rows/column which allowed for adding/deleting/reordering performantly while preserving most user intent in the case of offline editing. - Some of our formulas are inherently asynchronous; for example those which fetch data from an external data source. That added an extra kink when writing the spreadsheet engine; e.g. topologically sorting and then evaluating in order can cause you to get stuck on a long running evaluation. - One of our premises is that we do not store your data; it gets pulled when the spreadsheet evaluates. That means everything reevaluates in the browser when you open a spreadsheet. Get this to be performant (we still have a long way to go) was a challenge. Currently, everything runs in a single worker. Let me know what you all think. https://ift.tt/iKR0j1e April 10, 2024 at 11:59PM

Post a Comment

0 Comments