projects / 04 of 07

SheetSaga

Keeps a Google Sheet and a Postgres database in sync, with a change log of every edit. The side project that got me into Superjoin.

Node.jsSupabaseApps ScriptSource ↗

What it is

Two-way sync between a Google Sheet and a Postgres database. Edit the sheet and the database follows; edit the rows from the SheetSaga site and the sheet follows. Every change is logged, with who made it and what the row looked like before and after.

How it works

An Apps Script trigger inside the sheet sends each edit to an Express backend, which writes it to Supabase Postgres and appends it to a change log. Edits made on the site go the other way, through the Google Sheets API with a service account.

It began as a take-home for Superjoin, and it's how I got in there. The database has since been paused, so this is the 2024 demo.

Gallery

The landing page
The landing page
The rows in Postgres, as the site sees them
The rows in Postgres, as the site sees them
Inserting a row from the site
Inserting a row from the site
Deleting a row
Deleting a row