DatabasesCAN I VIBECODE
Grist?
BUILD FIRST
- One specific customer type and one primary use case
- A vertical slice that completes the main job without manual workarounds
- Visible limits, review steps, and a fallback when an external dependency fails
LEAVE FOR LATER
- Broad third-party integrations
- High-scale collaboration, syncing, and permissions
- Automation that can cause harm without human review
RESEARCH NOTES
What this tool actually does.
Grist is an open-source relational spreadsheet-database hybrid from Grist Labs. It presents a spreadsheet-like grid over a real database: SQLite storage, Apache 2.0 license, self-hostable via Docker or used on Grist's hosted services. Data is organized in typed tables and columns (Text, Numeric, Date, Choice, Reference, and Reference List for relations). Cells run formulas using Python syntax plus the Python standard library, alongside many Excel-style functions. Users build dashboards from multiple linked tables using drag-and-drop views and widgets (tables, cards, charts, calendar, pivot tables) with filters, conditional formatting, and sorting. Collaboration features include granular access rules down to row/column level, real-time editing, snapshot history, and automatic backups. Extensibility comes via a REST API, webhooks, custom widgets, and import/export of CSV, Excel, and SQLite
RESEARCHED BUILD PROMPT
Give this to your coding agent.
Build 'GridBase', a focused open-source replacement in the spirit of Grist (do not copy Grist's brand, logo, proprietary assets, or UI; produce your own layout). Core workflow: a non-technical team manages relational business data (e.g., contacts, projects, tasks) in spreadsheet-style grids that behave like a typed database. Requirements: (1) create multiple tables with typed columns (Text, Number, Date, Choice, Reference to another table, Reference List); (2) each row is a stable-ID record; (3) formula columns compute with an expression language inspired by Python (string/date ops, and record lookups such as unique()/lookupRecords()) that auto-recomputes on dependency change; (4) assemble linked dashboards by dragging widgets (grid, card, chart, pivot) sourced from different tables, with filters, sorting, and conditional formatting; (5) collaboration with per-row/per-column access rules, real-time sync, and snapshot/undo history; (6) REST API plus CSV/Excel/SQLite import-export. Technical approach: SQLite storage; Node.js (TypeScript) or Python (FastAPI) backend; React frontend; formula evaluation sandboxed server-side via a small parser or constrained worker — never eval untrusted code; WebSocket sync; role-based ACL engine. Out of scope: SQL console, add-on marketplace, embedded AI, mobile apps, multi-node clustering, and exact Grist formula-language compatibility. Deliver a README covering setup (docker-compose and dev commands), architecture, and important limitations (single-node, concurrency caveats, basic formula debugging).