QuackDB

screenshot of QuackDB
remix
shadcn-ui

Open-source in-browser DuckDB SQL editor

Overview

QuackDB is an online DuckDB SQL playground and editor that focuses on privacy preservation and in-browser functionality. It supports various file types for data import, uses OPFS for file storage in the browser's filesystem, and incorporates basic page view tracking through Fathom Analytics.

Features

  • In-Browser: Utilizes DuckDB Wasm library for running SQL queries directly in the browser.
  • File Types: Supports various file types including .csv, .json, .parquet, .sqlite, .duckdb, and .arrow for data manipulation.
  • Privacy: Ensures privacy with no screen recordings or client-side error monitoring, using Fathom Analytics for page view tracking.
  • Filesystem Access: Utilizes OPFS for storing files in the browser's filesystem for persistence.

Summary

QuackDB is a promising tool for SQL enthusiasts and data analysts looking to run DuckDB queries directly in their browsers. By prioritizing privacy, supporting multiple file types for data input, and leveraging the OPFS for file storage, it offers a convenient and secure environment for working with SQL queries. Although still a work in progress, the project shows potential for further development and integration of additional features like data import/export, improved UI/UX, and enhanced performance with Arrow.

remix
Remix

Remix is a modern JavaScript framework that focuses on building fast and performant web applications. It emphasizes a combination of server-rendered content and client-side interactivity, offering a robust architecture for creating scalable and maintainable projects.

shadcn-ui
Shadcn UI

Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.