Your agent has the brains.
tabledi gives it a table it can trust.
Your coding agent connects your sheets, shapes them, and ships a live dashboard — self-hostable, and built for millions of rows.
No AI bundled · bring your coding agent — Claude Code, Codex, Cursor or any other · your model key
Say it in plain English. Your agent makes it real.
tabledi ships no AI of its own — your coding agent drives it. One tool surface underneath, so every step is the same whether it comes from chat, CLI, or MCP.
Connect anything
Postgres, MySQL, Mongo, Google Sheets, CSV — imported and kept in sync.
Merge & shape
Joins, rollups, formulas, dedupe — derived tables that recompute incrementally.
Live dashboards
A shareable URL that re-renders on every write — no exports, no stale screenshots.
Ask in plain language
Your agent turns questions into queries — same answer every time, generation-stamped.
Same answer, every time
Ask the same thing 100 times, get the same number 100 times — each answer tagged with its exact data version, so you can replay it later.
Run it yourself
One Rust server binary on your own infrastructure — your data never leaves your network.
Point it at anything — even last night's eval logs.
No schema, no ETL. Your agent reads the scattered run logs, understands them, and ships a typed, queryable leaderboard — then you can pivot, chart, or share it.
| variant | pass | $/run | verdict |
|---|---|---|---|
| baseline | 86.5% | $0.012 | shipped |
| few-shot | 91.2% | $0.018 | candidate |
| chain-of-thought | 93.8% | $0.024 | candidate |
| + tools | 95.1% | $0.031 | ✓ winner |
| + self-check | 96.4% | $0.042 | too slow |
| + rerank | 94.0% | $0.029 | candidate |
480 scattered jsonl logs in. One typed, queryable, versioned leaderboard out — the same engine that ships your daily P&L.
Your agent. Your model key. tabledi's data.
The coding agent you already run drives tabledi three ways — from the command line, through MCP, or as a built-in skill. Same tools underneath, so they never drift.
Built for scale you can verify.
A columnar engine in Rust — handles millions of rows fast, with a versioned answer on every query so you can replay and verify it. The numbers below are from its own benchmarks.
1M-row rollup
Columnar pushdown — 215× over row-based. COUNTIF lands 411×.
Same answer
Same query, same result, every run — versioned for replay.
Bulk ingest
75,000-row import — columnar-native, no row↔column thrash.
Self-hostable
One Rust server on your infra, with your storage backend.
// representative numbers from the engine's own benchmarks — columnar predicate pushdown vs row-based fallback
From zero to a live dashboard in 60 seconds.
Install the command surface, log in, then hand it to your agent.
Start free. Self-host when it matters.
Same engine on every tier. You only move up a rung when your workload does.
- ✓ multi-tenant shared base
- ✓ full CLI + MCP + skill
- ✓ evicted on logout
- ✓ dedicated, suspend-on-idle
- ✓ persistent workspaces
- ✓ priority refresh + channels
- ✓ true private deployment
- ✓ on your own infrastructure
- ✓ your infra, your data
Give your agent a table it can trust.
Same answer every time, self-hostable, built for millions of rows — driven by the coding agent you already use.