Giter VIP home page Giter VIP logo

quackdb's Introduction

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).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.