Your users keep asking for analytics. You keep saying "next quarter." Drop two components. Ship it this sprint. Their data, their dashboards, zero backend.
Every B2B SaaS reaches the same fork in the road. Customers start asking for analytics. The team scopes a six-month charting project. The product manager adds export to CSV as a placeholder. Nobody wins.
Without DuckViz
With DuckViz SDK
@duckviz/explorer and @duckviz/dashboardThree imports. One provider. Two components. Your users get a full AI-assisted analytics workflow over their own data.
import { DuckvizDBProvider } from "@duckviz/db";
import { Explorer } from "@duckviz/explorer";
import { Dashboard } from "@duckviz/dashboard";
export default function AnalyticsPage() {
return (
<DuckvizDBProvider persistence>
<Explorer
authenticated
onAddWidgetToDashboard={handleAdd}
/>
<Dashboard dashboards={dashboards} />
</DuckvizDBProvider>
);
}@duckviz/sdk) — server-side integration for bearer-auth flows, managed credit routing, and headless report generation.bun add @duckviz/db @duckviz/explorer @duckviz/dashboard. Peer dependencies are React 19+ and a modern bundler.
<DuckvizDBProvider persistence> sets up DuckDB-WASM in a Web Worker and wires IndexedDB persistence. No module-level singletons; props flow config.
<Explorer /> gives users the file tree, query editor, and AI widget flow. <Dashboard /> renders their saved layouts. You control storage, auth, and dashboard lifecycle via props.
Pick one of 10 presets or pass your own theme tokens. Charts and chrome pick up the colors automatically.
No backend. No ETL pipeline. No per-seat licensing. Your users' data never leaves their browser.
Does the data really stay in my user's browser?
Yes. DuckDB-WASM runs inside a Web Worker in the user's tab. Queries never leave that tab. AI features only see column names and types.
What if my users are uploading very large files?
DuckDB-WASM comfortably handles files into the hundreds of megabytes in modern browsers, persisted as Parquet in IndexedDB. For server-side datasets, the Node SDK lets you pre-ingest and hand the browser a ready-to-query table.
How does billing work when I embed this?
Non-AI features (upload, SQL, charts, exports) are free forever. AI features deduct credits from a DuckViz account your app holds on behalf of the user. Credits are one-time packs, never subscriptions.
Can I white-label it?
Yes. Pass your own theme tokens, your own strings, and your own callbacks. Nothing renders a DuckViz logo inside the embedded surface.
Install two packages. Drop them in. Ship analytics this sprint — not next year.