Frequently Asked Questions

How to Bring Your Own API Key (BYOK)?

TamedTable runs on your API key. Paste it into Settings and we work out the rest: which provider it belongs to, which models to use, and what they cost. The key stays in your browser. We never see it, and nothing is stored on our servers.

The #1 gotcha

A ChatGPT, Claude, or Gemini subscription is not API access. The API is a separate account, billed by usage (usually a few cents for a session). You sign up for it separately from any chat subscription.

Google (Gemini)

Recommended: voice input, a generous free tier, accurate and fast. Puter has a tutorial on how to create a new free API key ↗. Keys stay viewable, so you can come back for yours later.

Create a Gemini API key ↗

OpenAI

Paid only. Best if you already buy OpenAI API credits (separate from a ChatGPT subscription). The key is shown once, so copy it straight away.

Create an OpenAI API key ↗

Anthropic (Claude)

Paid only. Best if you already buy Anthropic API credits (separate from a Claude subscription). The key is shown once, so copy it straight away.

Create an Anthropic API key ↗

OpenRouter

Free and paid plans. Free models are slow and can drop rows on large batches. The key is shown once, so copy it straight away. To use free models at all, you must let them train on your prompts, in OpenRouter privacy settings.

Create an OpenRouter API key ↗

Groq

Free and paid plans. Open weight models on Groq's own hardware, fast per call. The free tier allows 8,000 tokens a minute, which stalls on larger tables. The key is shown once, so copy it straight away.

Create a Groq API key ↗

Puter.js

One Puter account reaches models from many vendors on one balance, with no separate signup for each. To connect it, open Settings and use the Sign in / Sign up to Puter.js button under the key box. There is no key to paste. The button signs you in and links your account.

Sign in to Puter.js ↗

Tip: store the key in your browser or a password manager. Clearing your browser data or switching devices means entering it again. Ready? Open the web app ↗

Is it safe to paste my API key into a web app?

The key is saved in your browser's local storage, on your device, and requests go straight from your browser to your provider's API. There is no TamedTable server in the middle: the site is static files on GitHub Pages, it loads no ad code, and its only analytics is the cookie-less Umami script, which counts page views and feature use, never your key or your data: the privacy page lists everything it collects. The one other third-party script is Puter.js, and it is fetched only if you press Sign in to Puter.js, never on page load, so it is absent entirely unless you choose to use it.

Best practice: create a separate API key for TamedTable with a monthly spending cap in your provider's console.

And because the code is public, you don't have to take our word for it. You can read the request code on GitHub or run the app from your own clone.

How to change the chat and cell models?

You connect a provider (Google, OpenAI, Anthropic, OpenRouter, Groq, or Puter.js) in Settings by pasting its key, not individual models. Each provider ships with two fixed defaults, chosen from our benchmarks: a Chat model that reads your request and writes each spec patch (and handles voice), and a cheaper Cell model that fills per-row AI cells in bulk. When you add a key we run one call against each and time it, so the card shows both what a thousand tokens cost (input and output, from our price table) and roughly how long they take. The ⟳ button on a card re-runs the timing: a number taken while a provider was having a bad minute is one click from being replaced.

To change the chat or cell model, or add new models, edit the models.json file and rebuild. (A rebuild is required: the catalogue is compiled into the app bundle, so editing the file in a deployed directory has no effect.)

What file formats does TamedTable support?

You can open CSV, JSONL, Parquet, Arrow/Feather, and Excel (.xlsx) files directly, by local file, URL, or one of the bundled samples, and any web page that holds a table. A workbook or page with several tables asks which one to load. Everything is parsed in your browser; there is no server.

Transforms run on DuckDB, so once a table is loaded you also have its full SQL engine. You can save back to any of the file formats too (a web page is load-only): the web app saves in whatever format you opened, and the desktop CLI lets you pick (e.g. :save clean.parquet).

But isn't my data sent to third-party AI models?

Not necessarily. You can run TamedTable on your own internal server and change the code to connect to an LLM that you host yourself.

What license is BUSL?

The Business Source License 1.1 (BUSL): all the source is public and you can use, modify, self-host, and redistribute it freely, with one restriction, with each release automatically becoming MIT four years after it ships. Projects such as MariaDB, HashiCorp's Terraform and Vault, and Sentry use or used the same license.

The one restriction: selling TamedTable itself, as a product or hosted service, needs a commercial license from the author. It stops large clouds from monetizing the project without giving back, while the code stays open for everyone else, hence "source-available" rather than OSI-certified "open source".

What is the business model?

There isn't one. TamedTable is free and source-available; the only thing you pay for is your own API usage, to your provider.

The author built it to learn:

  1. The craft of AI-driven SDD/BDD/TDD (Spec/Behavior/Test-Driven Development).
  2. How to create Software 3.0.

Is TamedTable developed using AI?

Is the Pope a Catholic?

Yes, it was developed using AI, meaning you can take the entire specification and recreate it to your desires.

But AI code is not good!

Well, you win some, you lose some.

Yes, you don't have humans micromanaging every line of code. But:

  1. AI makes having over 600 test scenarios, a detailed specification, and an app broken into packages really easy. When code becomes cheap, QA and architecture changes become easy.
  2. This app was developed in two months by a single person. Without AI, the author would need a team of people: a backend dev, a frontend dev, a designer, etc. Those people need to pay their bills, so this software would be proprietary, paid SaaS. TamedTable is a free, source-available, client app, exactly because of AI.