Unwrapped

Legacy SaaS dossier · airtable

Airtable

Airtable

CategoryDatabase / spreadsheetAirtable Business, 100 seatsSite ↗

A Postgres table with a nice grid on top, sold per seat, until row caps push you to the tier that costs more than a database ever would.

01 · Data

Data the SaaS sits on

Your records
Your recordsYours
CSV imports
CSV importsYours
Integration APIs
Integration APIsAPI

Internal Build Score

0.79

Feasibility of a useful internal substitute for the actually-used 20% of this SaaS, built with Claude and your own data layer.

IBS = 0.25·U + 0.25·C + 0.20·D + 0.15·I + 0.15·Mthis record · 79%
  • U

    User adoption gap

    weight 0.250.82

    How much licensed surface area sits idle.

  • C

    Core simplicity

    weight 0.250.80

    How small the actually-used 20% is when re-implemented honestly.

  • D

    Data portability

    weight 0.200.80

    How clean the exit is, exports, formats, audit lock.

  • I

    Integration burden (inverse)

    weight 0.150.68

    How few external systems must keep working through the SaaS.

  • M

    Moat erosion

    weight 0.150.80

    How much the original differentiator has been commoditised by LLMs + cheap infra.

Editorial heuristic. Not investment advice, not a procurement recommendation.

03 · Feature usage

Commonly used vs. rarely touched

Commonly used

05

  • Grid view with typed fields
  • Filtered and sorted views
  • Linked records across tables
  • Forms that append rows
  • Simple roll-ups and counts

Rarely touched

06

  • Per-seat plus per-record pricing that compounds
  • Automations engine teams outgrow fast
  • Interface / app builder
  • Scripting blocks and extensions
  • Synced sources gated to higher tiers
  • An AI field sold on top of the seat

Internal build

Build it yourself

01 · Stack & flow

Postgres
Postgres
Next.js grid
Next.js grid
Claude API
Claude API

Internal build map

Data in

Tables
Schema
User request

Agent layer

Query builder

Logic

validate vs schema
run query
save view

Outputs

Filtered view
Row form
Build time
5 weeks
Run cost
$3/seat·mo
vs. SaaS
$60K / yr

Build outline

  1. Postgres schema with typed columns + links
  2. Grid + filtered views in Next.js
  3. Forms that insert rows
  4. Claude turns plain English into a view query
  5. Row-level access by team

02 · Build it

Paste into Cursor or Claude Code in an empty repo. It scaffolds the working core, with the AI step embedded.

Build prompt · Airtable

// Build: internal grid database (Airtable replacement) # Paste into Cursor or Claude Code in an empty repo. Build an internal tool covering the part of Airtable we use: typed tables, filtered views, linked records, and forms. Ship a working v1. Stack: Next.js + Postgres (Drizzle) + TanStack Table. Build, in order: 1. Define tables from a JSON schema (field types: text, number, date, select, link); generate the Postgres tables + a typed API. 2. A grid view with inline edit, plus saved filtered/sorted views. 3. Linked records (foreign keys) rendered as record pickers. 4. Public forms that insert rows into a table. 5. AI assist, "ask in plain English" builds a view. Call Claude: """ Given a plain-English request and the base schema (tables, fields, types, links), return JSON { sql, view_description, columns[], sort }. Use only existing fields. If one is missing, return needs_field:{name,type} instead of sql. One query only. """ Skip: per-seat/per-row pricing, the automations engine, scripting blocks, the interface builder. Done when: a non-technical user can create a table, add linked records through a form, and build a filtered view by typing a question.

03 · Result

Open deals over $10k owned by the east team, newest first
base:crm#deals

1 view over deals + owners · 5 columns · sort: created desc