gitmyhub

open_data_apps

TypeScript ★ 15 updated 1mo ago

Build interactive data dashboards by describing what you want in plain language, the AI writes a Marimo notebook against your Snowflake, BigQuery, Postgres, or CSV data and shows you a clean finished app.

TypeScriptPythonMarimoDuckDBDockerPostgreSQLsetup: hardcomplexity 4/5

Tracecast is an open-source tool that lets you build interactive data dashboards by chatting with an AI, similar to how coding assistants like Cursor work. You connect it to your data sources, describe what you want to see in plain language, and the AI writes a data visualization notebook for you, then shows you the finished result without ever exposing the underlying code or editing interface.

The AI can connect to several types of data sources: Snowflake, BigQuery, Postgres, Metabase, and CSV files. When you upload a CSV, the tool can query it using a technology called DuckDB, which means you can even join multiple CSV files together using standard SQL-style queries. Under the hood, the AI writes Marimo notebooks, which are Python-based notebooks that can be deployed as standalone apps. The tool deliberately hides the notebook editing interface from end users, so you always see a clean, finished dashboard rather than raw code.

Running it requires Docker. After cloning the repository and setting up a few environment variables, including an encryption key for storing database credentials securely, you start several local services: a Postgres database, the Marimo notebook runtime, an AI agent server, and a web app. You then go to the settings page in the browser to add your preferred AI model and API key.

The README is careful about security. Because the AI writes SQL queries against your database, it recommends always connecting with a read-only database user. This prevents a situation where a malicious instruction embedded in your data could convince the AI to delete or modify records. Credentials for all connected data sources are stored in an encrypted form and are never sent directly to the AI model.

This is a local-first tool intended for a single user on a personal machine. It is not designed or hardened for shared or public-facing deployments.

Where it fits