Alex W.'s Blog

Release: bedsheets - use Google Sheets as a RESTful DB

Google Sheets has a bunch of wonderful database features: built-in version control, collaborative management, a great table browser, powerful data processing functions, and basic visualization tools.

There are a few libraries and SaaS offerings that let you use it as a serverless DB, but they either 1.) cost money, 2.) require you to depend on a 3rd-party service without encryption, 3.) expect you to have a VPS to deploy to.

I wanted a simple option that I could run on Google Cloud Run and pay next-to-nothing will still providing robust features. So I created bedsheets: a Node.js proxy that lets you turn Google Sheets into a quick and dirty RESTful database.

It’s intended to be:

  • your simplest database, if you need something more complex look at our awesome-serverless’s list of databases
  • no-maintenance, so that you can deploy it once and forget about things
  • self-hosted, so that you don’t have to risk unreliable or insecure 3rd-party services (plus, you can usually host it for free on most cloud providers!)

By following simple conventions Bedsheets lets you introduce table schemas (see docs) and expose them over HTTP(S) with REST endpoints and JSON payloads.

Bedsheets is not trying to compete with real databases. Instead, it’s trying to provide a database with a lower barrier to entry for small projects that you think “wow, it would be nice if this had a database, but I don’t want to go through the hassle of deploying/configuring/maintaining the infrastructure for one”.

March 2021 Update

So far it’s been great. I’ve used it to store temperature data recorded by a Raspberry Pi and keep track of articles and other content that I really enjoyed reading.