Own your code

This dashboard was ejected — and it runs in your browser

A real Vibedasher dashboard, pulled out through the MCP as plain React and mounted directly on this page. No iframe. And every row you see was computed by DuckDB-WASM on your own machine — we ran no query for you.

44

React files, ejected verbatim and unmodified

23.7 KB

of Parquet, downloaded once to your browser

0

queries run on our servers to render this

How this page was built

Three steps, no bespoke glue. An AI agent with access to the Vibedasher MCP did all of it — the same way yours would.

# 1. point your AI at the Vibedasher MCP
{ "mcpServers": { "vibedasher": { "command": "vibedasher-mcp",
    "env": { "VIBEDASHER_API_KEY": "…", "VIBEDASHER_REGION": "eu-central-1" } } } }

# 2. ask it to eject the dashboard
eject_viz(viz_id=1275)
  -> 44 files: App.tsx, pages/, charts/, components/, stores/,
     tailwind.config.js, styles/dashboard.css, package.json, main.tsx

# 3. mount it in your app and hand it a query function
<App viz={viz} useSQL={useSQL} />

The ejected tree on this page is byte-identical to the MCP's output. The only file we wrote is the ~40-line component that mounts it and hands it a query function.

The ejected dashboard, live

rendering natively on this page — not in an iframe

The query function we inject is backed by DuckDB-WASM reading a Parquet extract of the dataset. Swap it for the Vibedasher SDK client and the exact same components run against the hosted engine instead — that is the only thing that changes.