6
11 Comments

Should I make my side project into a product? (Easy "Google Sheets as a database" -API)

So I needed a quick and free database for my other side project, but most free databases have too small quotas for my data volume.

Fortunately Google Sheets has a 5M cell limit per sheet, so I started to craft a simple API to connect to it.

Now I'm wondering if any of you would have any use case for this kind of API?

So currently I have a tool where you:

  1. Login to a site
  2. Add a sheet
  3. Get an API endpoint that adds a row with any data to the sheet when called

Would you need one? I'm thinking if there's any interest for a similar tool I could make it into a full product

on January 3, 2020
    1. 1

      Indeed. I wonder what's the target audience for these services? There seems to be a few competitors out there doing similar things.

  1. 3

    PH upvotes show that the need is there. A quick search online will show that Sheety is not the only one to implement this idea though
    https://www.producthunt.com/posts/sheety

    1. 1

      Thank you! This helps me reverse engineer some use cases people have with similar products :D

      I just searched the domain with moz.com domain analysis tool and then Google-searched the linking domains for sheety.

      Stumbled upon steinhq.com too. Looks like there's at least some competition, which sounds promising :)

  2. 2

    I was messing around with the Shortcuts app on iOS and realized I want an api like thIs. Would be powerful to be able to easily mix and match it with other actions to assemble a nocode pipeline.

    Eg click a widget to register a $10 expense in a budget spreadsheet is a lot less friction than opening the Sheets app (or browser), navigating to the sheet, then cell, then updating a value in place.

    My 2c from personal usage

    1. 1

      What a wonderful idea! Nocode is especially interesting topic nowadays, and I'm thrilled to see more and more tooling for it in the future.

  3. 2

    Interesting idea, so can you store more free data in Google Sheets than you can in Google Firebase?

    Also, what exactly will the tool do? Offer an API to store generic data using Sheets as a backend, or offer an API to store rows in Google Sheets? Doesn't Google Sheets already offer an API for that?

    1. 3

      Hey @XCS, thanks for the reply!

      can you store more free data in Google Sheets than you can in Google Firebase?

      Probably no; Firebase offers 1 GiB free tier, so it's more than enough for many applications. While Google Drive offers 15gb free space, the 5 million cell limit is probably the first thing to limit your usage.

      Firebase is a nosql database though, so it's suitable for some cases, while some cases it's not (e.g. you would need to do data processing on application level, not on database level).

      What exactly will the tool do? Offer an API to store generic data using Sheets as a backend, or offer an API to store rows in Google Sheets?

      The current version of my tool allows you to insert any data as a row to a sheet. I'm using it now as a database for one backend node.js app, and as a firebase-like datastore for my mailing lists (frontent form directly POSTs to the API).

      Doesn't Google Sheets already offer an API for that?

      It sure does! You'll need to create a Google Cloud project, enable some APIs, figure out how to get a correct token that allows you to modify a certain sheet, figure out how the Sheets API works and to maintain all of this. What I have now is a thing that skips you to the good parts (if adding new rows is what you'd like to do).

      1. 2

        Thanks for the response. What would the uses cases be for such tool? I assume the performance/response time of such database will be orders of magnitude slower than an actual database.

        1. 1

          I assume the performance/response time of such database will be orders of magnitude slower than an actual database.

          Very true! I'm now at ~900ms per insert, but I'm pretty sure I can optimize it down to ~500ms by combining and caching some requests.

          What would the uses cases be for such tool?

          My personal uses are such that 900ms is not that bad (background job and form submit). I'm hoping there's some other viable use cases for this tool too :)

  4. 1

    Oh yeah, and it works with a simple form submit too. I'm using it also for my email lists at my couple blog sites