TamedTable – AI ETL in Natural Language

ZeljkoS1 pts0 comments

TamedTable | AI ETL in Natural Language

Talk to your data.

Load tabular data, say what you want, and watch it happen. AI ETL: no formulas, no code.

Open Web App<br>View on GitHub

No API key? Take a guided tour: it replays real sessions, free.

TamedTable

> add a Category column

ProductPriceCategory

Wireless Air Fryer86.30kitchen<br>Deluxe Bluetooth Speaker188.98electronics<br>Mini Fleece Hoodie258.10clothing

Every data preparation job, in natural language

Transform with context

The AI understands context, so it cleans, enriches, classifies, and validates: things no formula can.

See everything

See changes as they happen. Nothing is hidden: TamedTable is source-available, and runs on your own API keys.

Reuse and automate

Every change saves as steps you replay on new data, or export as a Python script. Runs in browser and CLI.

Read many formats

Open CSV, JSONL, Parquet, and Arrow files: local, from a URL, or a bundled sample.

How it works

Paste an API key<br>We work out the provider, models, and cost.

Open a file<br>CSV, JSONL, Parquet, or Arrow. Local or from a URL.

Say what you want<br>Works in any language: English, Chinese, etc.

Watch changes<br>Dislike changes? Undo anything.

Automate<br>You made a recipe; replay it on new data.

Lazy AI execution

Preview for cents, run for real when you're sure. AI steps fill the page you are looking at; the rest waits until you ask.

open a 25,000-row fileStarts as a shuffled sample; saving keeps the original order<br>"add a Category column"Fills the rows on screen right away; the pager marks what's pending<br>Run on all rowsRows, cost, and time shown before you commit; finished rows are kept

Show me →

Clean up

Fix messy fields the way a person would. The AI reads each row's context before deciding.

"normalize the phone numbers"Dialing prefix inferred from regions<br>"make the country names consistent"Folds UK / England / United Kingdom into one<br>"fix the capitalization of names"Handles McDonald, van der Berg<br>"clean up the birth dates"Knows 03/04 is March in the US, April in the EU

Show me →

Enrich & extract

Add what isn't there yet. The model fills the gaps and pulls structure out of free text.

"split the address into Street, City, and Zip"Structures whatever mess they typed<br>"fill the country from the city column"Knows Osaka → Japan<br>"add the industry for each company"Inferred from company names<br>"extract the amount and date from the memo, refunds negative"Pulled from free text, refunds signed

Show me →

Classify

Sort rows by what they mean. The AI reads what each row is about.

"label each ticket as billing, bug, or feature"Reads the ticket's meaning<br>"classify the ticket sentiment into positive, negative and neutral"Reads the verdict, even in mixed tickets<br>"sort the titles by seniority"Ranks senior → junior<br>"split customers into men, women, and unknown"Gender inferred from first names

Show me →

Validate

Catch the wrong-looking rows before anyone else does.

"flag emails that look fake"bill.gates@microsoft.com probably didn't sign up<br>"flag any impossible birth date, like Feb 30th or year 1873"Dates that parse can still be impossible<br>"check the city matches the country"Paris, Japan gets a second look<br>"flag prices that seem wrong"Catches the missing zero before Reddit does

Show me →

Process language

Summarize, translate, and classify any language.

tap the micSay any command out loud, hands-free<br>"tag the language of every comment"Language detected per row<br>"translate the comments to English"From any source language<br>"add a one-line Summary for each comment"Even the 500-word rant<br>"normaliza los números de teléfono"Ask in any language, voice or text

Show me →

Be exact

The everyday spreadsheet jobs are still here; deterministic and repeatable.

"Remove the duplicate rows"Dedupe<br>"Join with join-country-codes.csv on Country to add ISO and Region"Join two tables<br>"Show only customers in Europe"Filter rows: on the column the join just added<br>"Pivot Quarter into columns, with Revenue as the value"Reshape tall to wide<br>"Sort by Q4, descending"Sort or top-N

Show me →

Load, save & reuse

Your work is yours to keep. Load from anywhere, save the data or the recipe, undo anything.

a file or a URLLoads CSV, JSONL, Parquet, Arrow from web or CLI<br>:save clean.csvSave data to CSV, JSONL, Parquet, or Arrow<br>:save-flow tidy.flowSave transformations as a TamedTable script<br>:save-py tidy.pySave transformations as a Python script<br>:undo / :redoUndo/redo any change

Trustworthy by design

A repeatable recipe

Each request becomes a small spec you can read. Deterministic steps run in a real SQL engine, and the same recipe replays on next month's file.

Undo anything

Every change lands in the history. Step back one change or all of them; the original file on your disk is never touched.

Leave anytime

Export any recipe as a plain Python script and run it without TamedTable. Your data stays in open formats; there is no lock-in to defend.

Tested & benchmarked

CI replays 606 test scenarios on...

from language data show tamedtable rows

Related Articles