Tested in public
686 of 686 tests pass.
Every feature ships with a record of how it was tested: unit and integration tests in the real Workers runtime, benchmarks on 50,000 rows, and scenarios clicked through in a browser.
| Feature | Tests | Files | Scenarios | Checked |
|---|---|---|---|---|
| Dashboards | 61 / 61 | 4 | 12 | 2026-10-21 |
| Calendar, timeline, gallery and grid grouping | 41 / 41 | 6 | 6 | 2026-10-21 |
| MCP server | 35 / 35 | 2 | 4 | 2026-10-21 |
| Core engine and API | 272 / 272 | 6 | 0 | 2026-10-21 |
| Automations | 125 / 125 | 14 | 12 | 2026-10-21 |
| AI fields | 72 / 72 | 11 | 12 | 2026-10-21 |
| Plan limits, account emails and hosting extensions | 46 / 46 | 4 | 7 | 2026-10-21 |
| Email code sign-in and sign-in options | 34 / 34 | 4 | 5 | 2026-10-21 |
Dashboards: benchmarks
| Action | Time | Rows |
|---|---|---|
| Dashboard with 8 widgets, cache empty | 1,401 ms | 50,000 |
| The same dashboard, cached | 0.02 ms | 50,000 |
local wrangler dev, Apple M5 Pro, node v24.18.1. Local measurements, not production.
Calendar, timeline, gallery and grid grouping: benchmarks
| Action | Time | Rows |
|---|---|---|
| Calendar month window (6 weeks, 2,000 rows inline) | 75.4 ms | 50,000 |
| Grid grouped by 2 fields + sum summaries | 579.33 ms | 50,000 |
| Kanban group counts | 64.95 ms | 50,000 |
local wrangler dev, Apple M5 Pro, node v24.18.1. Local measurements, not production.
MCP server: benchmarks
| Action | Time | Rows |
|---|---|---|
| Group by a select field with count and sum (aggregate) | 205.63 ms | 50,000 |
local wrangler dev, Apple M5 Pro, node v24.18.1. Local measurements, not production.
Core engine and API: benchmarks
| Action | Time | Rows |
|---|---|---|
| Open view first page (300 ids + count) | 0.5 ms | 50,000 |
| Load full id list of a 50k view | 15.06 ms | 50,000 |
| Edit a cell + rollup update | 0.28 ms | 50,000 |
| Filter by any field | 53.33 ms | 50,000 |
| Sort by any field | 98.4 ms | 50,000 |
| Filter + sort | 65.76 ms | 50,000 |
| Search | 70.48 ms | 50,000 |
| Full rollup recompute | 294 ms | 50,000 |
| Full formula column recompute | 251 ms | 50,000 |
| One 500-row recompute batch | 2.72 ms | 50,000 |
local wrangler dev, Apple M5 Pro, node v24.18.1. Local measurements, not production.
Automations: benchmarks
| Action | Time | Rows |
|---|---|---|
| Edit a cell + rollup update | 0.2 ms | 50,000 |
| Edit a cell + rollup update, 3 record triggers on the table | 0.24 ms | 50,000 |
| Paste 1,000 rows and delete them | 24.44 ms | 50,000 |
| Paste 1,000 rows and delete them, 3 record triggers (1,000 runs recorded) | 57.17 ms | 50,000 |
| Execute 100 queued runs that read and update their record | 31.08 ms | 50,000 |
| Record edit to outgoing HTTP request, median of 5 | 8 ms | 30 |
local wrangler dev, Apple M5 Pro, node v24.18.1. Local measurements, not production.
AI fields: benchmarks
| Action | Time | Rows |
|---|---|---|
| Edit a cell + rollup update | 1.2 ms | 50,000 |
| Edit a cell + rollup update, 2 auto-updating AI fields on the table | 0.8 ms | 50,000 |
| Paste 1,000 rows and delete them | 132.37 ms | 50,000 |
| Paste 1,000 rows and delete them, 2 AI fields (2,000 cells queued) | 121.25 ms | 50,000 |
| Generate a column of 1,003 records, fake model answering in 1 s, at most 6 calls at once | 171 s | 1,003 |
| Record edit to AI answer written back with DeepSeek deepseek-flash, median of 5 (includes 2 s debounce) | 3,216 ms | 30 |
local wrangler dev, Apple M5 Pro, node v24.18.1, machine under other load (load average about 31); local wrangler dev, Apple M5 Pro. Local measurements, not production.