Coda, now sold as Superhuman Docs, mixes pages with tables whose columns hold formulas, buttons that edit rows, and automations. One person's version is a page editor with embedded tables, a small formula language and a button runner, which an agent can assemble over a weekend; Notion sits in the same band. The hard part is the formula engine: references across tables, recalculation without loops, readable errors. What you cannot copy is the Pack ecosystem that syncs tables with other apps, real-time editing with a team and the shipped AI.
Before you buildCoda Free is generous for docs you share with nobody: unlimited objects and rows. The caps only bite once you share a doc.
Build me a personal workspace of pages and formula tables to replace Coda. Requirements: - Node.js 22 + TypeScript: a Hono API and a Vite + React front end with Tiptap for pages. `npm start` serves http://localhost:4750. - Storage: better-sqlite3 in ./data/workspace.db. A page tree with Tiptap JSON per page; tables with typed columns (text, number, date, checkbox, select, formula) and rows; a table block embeds a table by id inside a page. Snapshot a page every 10 minutes while it is edited, keep 30 days. - A table can be shown in a page three ways, each with its own filter and sort: table, board grouped by a select column, and month calendar by a date column. - Formulas: parsed with `jsep` against an allow-list (IF, SUM, COUNT, ROUND, TODAY, FILTER(Table, condition), LOOKUP(Table, Column, value)); no eval. Recalculate dependants through a dependency graph, detect cycles, and show the error text inside the cell. - Buttons: a button column or block runs an ordered action list (set a cell, add a row, delete a row, open a URL) whose values can be formulas. - Automations: a schedule (`croner`) or "when a row is added" runs a button's action list; keep the last 100 runs with their errors. - Import CSV and Markdown. Export a page as Markdown, a table as CSV, everything as a JSON backup. - Single user, one password from .env (signed cookie). No accounts, no telemetry, local-first. - Out of scope: real-time collaboration, sharing, third-party connectors (Packs), AI, mobile apps. - README: setup, backing up ./data, and the formula functions that exist.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Coda.
Extend the workspace in this folder. Requirements: - An import page that takes the files from Coda's Export My Data: the text and CSV files. - Create one page per exported doc and one table per CSV, guessing column types and showing a preview first. - Report anything not converted, such as formulas, buttons and Pack tables, instead of dropping it silently. - Update the README.
Add synced tables to the workspace in this folder. Requirements: - A table can be marked as synced from a JSON API: URL, headers with secrets from .env, a JSONPath for the row list, and a column mapping. - Refresh on a `croner` schedule and by a Refresh button; upsert by a key column and never delete rows I added. - Show the last refresh time and error on the table. - Update the README.
Add page templates to the workspace in this folder. Requirements:
- Save any page, with its embedded tables and button definitions, as a template.
- New page from template copies the tables so edits do not touch the original.
- A date token in titles, such as {{today}}, is filled in when the page is created.
- Update the README.Add PDF export to the workspace in this folder. Requirements: - Export a page, with its embedded tables rendered as static tables, to PDF using Playwright's page.pdf. - A print stylesheet that hides the sidebar and keeps table rows from splitting across pages. - Wide tables shrink to fit the page width. - Update the README.
Teams use Coda to replace a pile of separate tools with one doc that has data, formulas and buttons in it, and a doc built that way is hard to move once other people depend on it. Packs and shared editing are what turn a personal doc into a team system.
Estimate · Runs on your laptop or a $5 VPS. The build is token usage on your agent plan, and the formula engine usually takes a few rounds.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/workspace | $0/workspace | Unlimited objects in docs shared with nobody; shared docs: 50 objects, 1,000 rows, 1 GB attachments, 7-day history, 35 time-based and 100 event-based automations a month per doc, sync tables capped at 100 rows with manual refresh. |
| Pro | $15 | $12 | No object limits, 5 GB attachments per doc, 30-day history, 100 time-based and 500 event-based automations a month per doc, daily sync refresh with up to 10,000 rows, custom branding and domains, Docs AI in beta. |
| Business | $40 | $33 | Everything in Pro plus unlimited automations and version history, hourly sync refresh, databases (beta), private team folders, subfolders and page locking. |
| Enterprise | custom | — | SAML SSO, SCIM provisioning, audit events, AI admin controls, SOC 2 report and HIPAA compliance. |
Free: personal docs have no object limit; shared docs are capped at 50 objects and 1,000 table rows, with 1 GB of attachments and 7 days of version history.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Packs that sync tables with other apps, Real-time editing, comments and sharing with permissions.
About $15 a month on the Pro plan per seat, $180 a year (checked 2026-10-19).
Packs that sync tables with other apps; Real-time editing, comments and sharing with permissions; Cross-doc tables and actions, and version history beyond what you build; Docs AI and the MCP connection to AI tools; Desktop and mobile apps, custom domains and public doc publishing. If any of those matter to you, keep paying.
Yes: Grist (open source), AppFlowy (open source), SiYuan (open source).