UI / AI Lead 2026–present
UI Team Lead, Manager 2025–2026
Designer, Frontend Engineer 2023–2025
motherduck.com

I run MotherDuck’s AI strategy and manage its UI.

MotherDuck is a cloud-hosted DuckDB company. I joined because I believed almost all of the data stack, including pipelines and BI, should be bundled with the cloud-hosted database, and DuckDB is the first database I’ve used that can actually pull that off. It’s fast and very fun to work with, and as a result, it has a cult-like following uncommon in the world of databases.

Agentic workflows fit perfectly with DuckDB and MotherDuck. Its hypertenancy gives every user, or agent, their own session-lived backend, so they can hammer the warehouse without slowing down other users. Flights lets agents build and run data pipelines; Dives lets them explore and visualize the results. Both are available through the same MCP server.

Highlights

  • Lead MotherDuck’s AI strategy and its AI and frontend teams, about 12 people.
  • Designed and developed the UI after MotherDuck’s 2023 beta release. Migrated our TypeScript/React stack from Webpack, MUI, and CommonJS to ESM, pnpm, TanStack, Radix, and Vanilla Extract. I also made the application surface and design system modular, which enabled us to build multiple apps, including MCP apps that use the same components.
  • Dives, an agentic BI tool. Designed, built, and shipped in three weeks. Dives sits between Jupyter notebooks and full BI tools; it generates its own React and SQL and queries your database directly through Wasm. Customers loved the ergonomics enough to replace Power BI, Omni, and Hex with it.
  • Flights, an agentic data pipeline tool. I was responsible for product direction and designed the UI, while the project lead handled day-to-day execution.
  • Pricing V3. Led the design of MotherDuck’s third-generation pricing model, from packaging and billing through the migration of existing customers. The model tested well with customers and shipped in record time.
  • Instant SQL, a new paradigm for writing SQL queries. Designed, built, and shipped. Applying Bret Victor’s Inventing on Principle: “There can’t be a delay, and there can’t be nothing hidden […] creators need an immediate connection to what they’re creating.”
  • DuckDB UI. Designed and shipped the official DuckDB UI, built into the DuckDB CLI.
  • Column Explorer. Designed, built, and shipped. The Column Explorer surfaces null percentages, unique values, top values, histograms, and time series for every column, so you don’t have to write boilerplate SQL just to get a feel for a dataset.

Instant SQL

Instant SQL applies Bret Victor’s principles of immediate feedback and deep observability to the antiquated world of writing queries. The talk is about SQL, but it’s as much about human attention, flow state, and getting good at something while having fun. It’s about twenty-five minutes and is the best outline of my worldview on design.

Column Explorer

The Column Explorer was MotherDuck’s first data visualization feature. It surfaces null percentages, unique values, top values, histograms, and time series for every column, so you never write boilerplate SQL just to get a feel for a dataset. Read about it here.

The Column Explorer. Originally posted on X, February 2024.

Selected design

I drew many of the meaningful product icons in the MotherDuck UI, fitting each into a 16×16 footprint so they stay legible in information-dense interfaces.

Data type icons. Covers all major DuckDB types, and primarily used in result table headres & the Column Explorer. Shapes optimized for fast scanning.

Database & object icons. Iconography for catalog (database) entries, as well as MotherDuck product icons for Dives, Flights, and Notebooks.

Object governance status. Objects can carry a governance status. I wanted a set that's legible by shape alone, so it holds up at 16×16 and doesn't lean on color, but can still be tinted when the UI calls for it.

Duckling instance sizes. The compute tiers, from serverless Pulse up to the colossal Giga. I was inspired by tech trees from old video games. The Giga size is essentially the biggest hardware DuckDB can run on in AWS, so I wanted to make it feel futuristic and otherworldly, like a Dyson Sphere.

Run state. The cell / query / job run state animation is essentially just three circles that morph into each other. This makes animation much simpler and performant.
Flights loader. The animation plays while Flights content is loading. Rather than use a conventional spinner, we made paper airplanes whirl through a wind tunnel. I got the idea after taking my kid to the Lawrence Hall of Science in Berkeley, where we made and flew our own planes. I built it entirely in SVG with Fable 5. Fable 5 was most useful for working out the geometry and motion, while I tuned the final animation by eye.