Overview
Evidence is an open-source, code-based alternative to drag-and-drop business intelligence tools. You write Markdown files that contain SQL queries, and Evidence runs those queries against your data sources and renders the results as charts and components. The output is a website, so a report is just a set of files you can version-control and review like any other code.
It is aimed at analysts and data engineers who would rather work in SQL, Markdown, and git than click through a GUI dashboard builder. Because pages are templated, a single Markdown file can generate many pages, and loops plus if/else logic let you control what each reader sees.
As a data-app builder, Evidence sits between a query engine and a published site: you keep your transformation logic in SQL, your layout in Markdown, and ship the result as a static site that can be hosted anywhere.
What it does
- SQL statements written inside Markdown files run queries against your connected data sources
- Charts and UI components render automatically from query results
- Templated pages generate many pages from a single Markdown template
- Loops and if/else statements control what content is displayed to readers
- Outputs a static website you can self-host on Netlify, Vercel, or your own infrastructure
- VSCode extension scaffolds and runs projects directly from the editor
Getting started
The quickest start is the Evidence VSCode extension, which scaffolds and runs a project for you; you can also scaffold a project from the command line.
Install the VSCode extension
Install the Evidence VSCode extension, then open the Command Palette (F1) and run "Evidence: New Evidence Project" to scaffold a project.
Or scaffold from the command line
Use degit to copy the official Evidence template into a new folder, then install dependencies.
npx degit evidence-dev/template my-evidence-project
cd my-evidence-project
npm installStart the dev server
Run the dev script to build the site locally and preview it in your browser. Add a page by creating a Markdown file with a SQL query block.
npm run devBuild for publishing
Generate the static site, then deploy the output to Netlify, Vercel, your own infrastructure, or any static host.
npm run buildCommands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Publish version-controlled analytics reports where the logic lives in SQL and Markdown rather than a GUI
- Generate many similar pages (per customer, region, or product) from one templated Markdown file
- Replace a drag-and-drop BI dashboard with a code-reviewed, git-tracked workflow
- Ship a self-hosted static data site to Netlify, Vercel, or your own infrastructure
How Evidence compares
Evidence alongside other open-source data app builders tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| Streamlit | ★ 45k | A Python framework that turns scripts into interactive data and ML web apps with simple widget calls and no frontend code. |
| Gradio | ★ 43k | A Python library for quickly building shareable web demos and UIs for machine learning models, APIs, and arbitrary functions. |
| Reflex | ★ 28.6k | A framework for building full-stack web apps entirely in Python, compiling component code to a React frontend and Python backend. |
| Dash | ★ 24.3k | A Python framework from Plotly for building analytical web dashboards and data apps with interactive charts and no JavaScript required. |
| marimo | ★ 21.5k | A reactive Python notebook stored as plain Python that can be run as a script or deployed as an interactive data app. |
| NiceGUI | ★ 15.9k | A backend-first Python UI framework built on FastAPI and Vue for creating web interfaces, dashboards, and internal tools. |
| Data Formulator | ★ 15.8k | A Microsoft Research tool that combines a UI with AI to help users create rich data visualizations through natural language and direct manipulation. |
| Evidence | ★ 6.5k | Business intelligence as code — build data reports with SQL and Markdown |