Blog

Notes from building a privacy-first data platform.

Origin stories, technical deep-dives, and the small decisions that shape DuckViz.

Featured
9 min read

Embedding DuckViz when you already have APIs — Explorer to Deck in one flow

If your product already has APIs returning rows, you don't need an upload flow or a viz layer. Pass your data to DuckViz as datasets, proxy the AI endpoints through your backend, and ship a full analytics experience — Explorer, Dashboard, Report, Deck — in a few dozen lines.

embeddingreactdatasetssdkdashboard
Read post
5 min read

Scaffolding a DuckViz app — from `npx` to a working dashboard in 60 seconds

`npx duckviz create-app my-app` drops you into a Next.js starter with Explorer, Dashboard, Report, and Deck wired to a demo dataset and the SDK proxy. Here's why we built it, what it deliberately does not do, and the bug week that made it actually work.

cliscaffoldnextjs
4 min read

The duckviz CLI — from your terminal into the browser

`npx duckviz ./access.log` opens the app with your file already loaded — no upload to a server, no copy-paste. Here's what the CLI is for, what it does under the hood, and why the small loopback bridge underneath ended up being the most interesting part.

clilocalhostbridge
6 min read

Querying logs in the browser — Rust, WASM, and DuckDB

DuckViz parses and queries log files entirely in the browser — no backend, no upload. Here's the stack that makes it work, the SQL it lets you write, and the non-obvious bits that took the longest to get right.

duckdb-wasmwasmlogs
7 min read

Why the LLM never sees your row values

DuckViz uses AI to generate dashboards, reports, and decks — but the AI never touches your customers' data. Here's exactly what gets sent to OpenAI on every call, what doesn't, and why we drew the line where we did.

privacyaillm
6 min read

How DuckViz started — debugging logs without the infra

From a single-file log parser to a privacy-first AI data platform. The story of how DuckViz came together, one constraint at a time.

originduckdb-wasmlog-analysis