Skip to content
Web workspace for VGI

A data analyst’s workbench, in a browser tab.

Cupola is a fast, modern SQL workbench powered by DuckDB — running entirely in your browser. Write SQL, pivot and chart the results, and hand the hard parts to a built-in AI analyst. Open a live data source with a single link: no install, no account, no sign-in.

Available now Open source · Apache 2.0 Free Runs in your browser

No install. No account to create. Free and open source.

Cupola’s query editor: a SQL statement against the USGS earthquake feed with Run, Ask AI, Format and Script controls above it, and twelve result rows in a grid below with Save Results and Pivot beside them.
Cupola querying the live USGS earthquake feed. The editor, the engine and the results grid all sit in the browser tab — the only thing crossing the network is the data source itself.
What is Cupola?

A modern shell for working with data

Think of Cupola as a data analyst’s command center that opens in any browser. Under the hood it runs Haybarn — Query.Farm’s distribution of DuckDB — compiled to WebAssembly. That means a real, fast analytical database runs inside the tab: your queries don’t wait on a server, and your data doesn’t have to leave your machine.

It began as a way to test VGI in the browser, and grew into the thing people actually work in — a tabbed SQL editor, a terminal, pivot tables, charts and maps, a self-documenting catalog browser, and a built-in AI analyst.

New to VGI? You don’t need to be.

VGI is Query.Farm’s way of turning APIs, services, and databases into live SQL tables. Cupola speaks it natively, so a single URL connects you to a ready-to-query source — but you don’t have to learn VGI to start. Open a source, and it’s just tables and SQL.

Cupola’s catalog browser showing the “recent” earthquake table: thirty columns listed with their SQL types, not-null flags, and a written description of each one.
The catalog browser. Every column arrives with its type and a written description, so you learn the data while you read it.
What you can do

Everything an analyst needs, in one tab

A real database, in your browser

Cupola runs Haybarn — Query.Farm’s build of DuckDB — compiled to WebAssembly. Genuine analytical SQL runs locally in the tab, with no install and nothing to provision.

An editor built for real work

Tabbed queries with highlighting and completion, one-key formatting, export to CSV or Excel, a downloadable .sql file, and a Share button that puts the whole query in the URL.

A catalog that documents itself

A searchable tree of schemas, tables, views, functions and macros — with per-column types and descriptions, argument docs, example queries, and on-demand column profiling.

Pivot, chart, and map

Send any result to a Perspective pivot — group, split, aggregate, then switch to bars, lines, treemaps or heatmaps. Geometry columns draw as maps instead of hex strings.

An AI analyst on tap

A built-in assistant that writes and runs SQL, inspects your schema, charts what it finds, and explains it in plain language. Bring your own Anthropic API key.

A terminal when you want one

A full DuckDB shell with tab completion, history, dot commands, and a session that survives a reload — for when you would rather type than click.

Connects to anything that speaks VGI

Point it at a URL and it attaches. OAuth and PKCE are there for sources that need identity, per catalog — and your sign-in survives the redirect back to the query you were writing.

Yours to brand and to host

Load a colour theme from a URL or build one in the theme editor. Use the hosted build, deploy it to your own Cloudflare account, or run the Docker image behind your gateway.

Cupola’s pivot view: 10,912 live earthquakes plotted on a world map, each point sized and coloured by magnitude so the plate boundaries show as bands of dots, with the Group By, Longitude, Latitude, Colour and Size controls open on the right.
Pivot and chart

Drag a result into a shape you can read

Any result — a query you wrote, or a whole table — can be sent straight to a Perspective pivot. Group, filter and aggregate by dragging columns, then switch between a data grid, bars, lines, treemaps and heatmaps — or, when the rows carry coordinates, drop them onto a map — without going back to SQL.

It is backed by the same in-browser engine, so it plots the real rows rather than a sample. Every earthquake on Earth in the last 30 days is on the map above — 10,912 of them, drawn in the tab, with the Ring of Fire falling out of the data on its own.

AI data analyst

Ask in plain English. Get answers in SQL.

Cupola’s built-in analyst is more than autocomplete. It reads your catalog, writes and runs real SQL against the in-browser engine, charts the result, checks its own work, and explains what it found — so you can go from a vague question to a defensible answer without writing the first query yourself.

  • Reads your schemas, tables, and column types
  • Writes, runs, and refines SQL against the live data
  • Charts what it finds, and explains the result
  • Bring your own Anthropic API key — your data stays in your browser
Where were the strongest quakes this month?

Analyst

Querying main.recent

SELECT place, round(mag, 1) AS mag
FROM main.recent
WHERE mag >= 6.5
ORDER BY mag DESC LIMIT 3;

Three events above M6.5 — near Ende and Pematangsiantar in Indonesia, and San José del Palmar in Colombia. Want that as a map?

Illustration — the analyst runs on your own Anthropic API key, so there is no shared demo to photograph.

Try it now

Open real data in about ten seconds

These are the same live sources the VGI tour runs against — all public, and not one of them asks you to sign in. Pick one and it opens straight into the catalog.

1

Open an example

Pick one of the live sources below. One link does it — no download, no account, nothing to configure.

2

It attaches itself

Cupola boots DuckDB in the tab, attaches the source, and reads its catalog. You are looking at real tables within seconds.

3

Query, pivot, or ask

Browse the schema, run SQL in the editor or the shell, build a pivot, or hand the question to the AI analyst.

The whole launch URL — that is the entire setup

https://cupola.query-farm.services/?service=https://vgi-earthquakes.rusty-bb6.workers.dev

No account, and nothing to install. Your queries and your data stay in the browser — Cupola only fetches what the source hands back.

Open source

Free, and yours to run

Cupola is Apache 2.0 licensed. Use the hosted version, deploy it to your own Cloudflare account, or run the Docker image behind your own gateway — it is a static site backed by DuckDB-WASM, with nothing to license and no database to operate.

For enterprise

Make it your team’s workbench

Cupola supports OAuth / PKCE sign-in with per-source identity, loadable colour themes, and full white-labelling. We help teams self-host it, brand it, and wire it to their own internal data sources.

See your data in a new light

Cupola is free, open source, and ready now. Open a live example, or point it at your own source.