Skip to content

mattf96s/QuackDB

Folders and files

NameName
Last commit message
Last commit date
May 27, 2024
May 30, 2024
Mar 7, 2024
May 13, 2024
May 13, 2024
May 15, 2024
May 27, 2024
Feb 24, 2024
May 14, 2024
Feb 21, 2024
May 13, 2024
May 30, 2024
Mar 28, 2025
May 13, 2024
May 27, 2024

Repository files navigation

QuackDB - Online DuckDB SQL Playground

Release License

QuackDB is a privacy-preserving in-browser DuckDB SQL playground and editor.

Demo available at quackdb.com.

  • In-Browser: The DuckDB Wasm library is used to run SQL queries in the browser.
  • File Types: Supports .csv, .json, .parquet, .sqlite, .duckdb and .arrow files.
  • Privacy: no screen recordings or client-side error monitoring (only Vercel Analytics).
  • Filesystem Access: OPFS is used to store files in the browser's filesystem for persistence.

QuackDB Screenshot

Motivation

I wanted a quick and simple tool for iterating on DuckDB queries and visualizing the results. I also wanted to experiment with the new Filesystem Access API (OPFS) and explore the capabilities of DuckDB in the browser.

Tech Stack

Category Tool
Database DuckDB Wasm
Frontend Remix · Tailwind CSS, shadcn/ui
Backend Vercel
Visualization Observable Plot, Tanstack Table
Web APIs Comlink, OPFS

An earlier version of this project used SST for the backend infrastructure, but I switched to Vercel for simplicity.

TODO

  • Safari support 😁
  • Improved UI / charts / tables / etc.
  • Data import/export
  • Responsive design improvements
  • Performance improvements with Arrow
  • Snippets / examples

Maybe

  • NSQL integration for natural language queries.
  • Co-pilot (or similar) integration for code suggestions.

Inspiration

License

MIT

Disclaimer

This project is not in any way affiliated with DuckDB or any of the other projects mentioned above.

Tips

  • Built in chrome OPFS viewer can be accessed from https://www.quackdb.com/temporary. To navigate, manually change the URL to the desired path as Chrome does not allow navigation by clicking on the links.

Known Issues

  • Safari will not be fully supported until this bug is fixed (serializing file handles is not supported in Safari).