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
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.