[sheetforge]
Hosted SaaS live. Self-host MIT-licensed.
OSS

TypeScript SDKs generated live from your sheet headers — connect a Sheet in under a minute. Read the guide →

The Google Sheets backend that behaves like a real database

1000 concurrent writes land as 1000 ordered rows. No duplicates. No lost writes.

Once you connect a sheet, your write path looks like this:

// 1. download client.ts from your sheet page (typed from your headers)
// 2. write the POST:
import { createWaitlistClient } from './client';

const waitlist = createWaitlistClient({ apiKey: 'sk_live_…' });

await waitlist.create(
  { email: 'hi@example.com', source: 'hn' },
  { idempotencyKey: crypto.randomUUID() },
);
// → { writeId, status: 'enqueued' | 'replayed' }

What is sheetforge?

A race-condition-safe REST API layer for Google Sheets with auto-generated TypeScript and Python SDKs — the backend your indie project can actually trust in production.

  • [*]ACID-ish writes Per-sheet serialized queue; 1000 concurrent POSTs, 1000 rows written in order — guaranteed.
  • [*]Typed SDKs TypeScript and Python SDKs generated live from your sheet's headers — no any types, ever.
  • [*]Fencing-token safety Zombie workers can't overwrite; stale leases are rejected before they touch your data.
  • [*]Idempotency Every write accepts an Idempotency-Key header — retries are safe by default.
  • [*]Schema validation Rules derived from Sheets data validation; bad writes return field-level 400 errors.
  • [*]Edge-cached reads Cloudflare-cached GETs with sub-100ms response globally — no polling required.
  • [*]OSS core MIT-licensed queue engine and SDK codegen on GitHub — audit it, fork it, self-host it.

Built on numbers that matter

[*] The write queue handles 1000 concurrent POSTs to the same sheet and produces exactly 1000 rows, in order — zero race conditions, sub-100ms cached reads globally.

1000

Concurrent writes, in order

0

Race conditions

<100ms

p50 read latency

Your data never leaves your infrastructure

[*] Your spreadsheet data stays in Google Sheets. OAuth tokens and tenant metadata live in our managed Postgres (or your own, if you self-host) — write payloads pass through the queue transiently and are deleted after acknowledgment.

FAQ

Yes. Hosted SaaS is live — sign in with Google to connect a Sheet in under a minute. Prefer self-hosting? MIT-licensed and one `pnpm dev` away on GitHub.

Hosted SaaS live. Self-host optional.

Sign in with Google and connect your first Sheet in under a minute — no setup required. Or self-host: one pnpm dev boots the Next.js dashboard, Hono API and queue worker. The OSS core (MIT queue engine and SDK codegen) is on GitHub — audit it, fork it, own the stack.