←back to thread

356 points joaovcoliveira | 1 comments | | HN request time: 0.452s | source

Hello everyone!

At a company I worked for, we needed to develop an MVP (basically a web page) and apply certain business logic to a Google Drive spreadsheet that was frequently updated by the Sales team.

In this case, we had two options:

Develop a backend to replace the current spreadsheet and have the sales team use it as a new "backoffice" - This would take a very long time, and if the hypothesis we were testing was wrong, it would be time wasted.

Create the web page and use Google's SDK to extract data from the spreadsheet.

We chose to go with the second option because it was quicker. Indeed, it was much faster than creating a new backoffice. But not as quick as we imagined. Integrating with Google's SDK requires some effort, especially to handle the OAuth logic, configure it in the console, and understand the documentation (which is quite shallow, by the way).

Anyway! We did the project and I realized that maybe other devs might have encountered similar issues. Therefore, I developed a tool that transforms Google spreadsheets into "realtime APIs" with PATCH, GET, POST, and DELETE methods.

Since it's a product for devs, I think it would be cool to hear your opinions. It's still quite primitive, but the basic features already work.

https://zerosheets.com

1. kellpossible2 ◴[] No.40018917[source]
I did something very similar with https://github.com/kellpossible/avalanche-report/ we started with Google Sheets because it allowed us to quickly iterate with data entry workflow. When paired with a server this also allowed us to generate custom charts/diagrams via the IMAGE function with a crafted URL query. Reads are cached in a local sqlite database.

We're in the process of migrating away from Google Sheets now as it's a little painful to set up and it's impossible to completely prevent users from editing the wrong fields in our use case. But it has served very well so far and would highly recommend this approach to start with for anyone!