Evidence.dev Code-First Reporting: Replacing Drag-and-Drop BI with Markdown + SQL

Evidence.dev defines data reports as Markdown files with embedded SQL queries. Every report change goes through Git version control and Pull Request review, giv

Evidence.dev defines data reports as Markdown files with embedded SQL queries. Every change to a report goes through Git version control and Pull Request review, giving analytics reports the same engineering standards as application code. According to the official Evidence documentation , its static site generator can build a complete 200-page analytics report in under 30 seconds, with deployed page load times below 500 milliseconds. The Fundamental Problem with Drag-and-Drop BI Tools Drag-and-drop BI tools (such as Tableau, Power BI, and Looker Studio) store reports in binary formats or proprietary cloud formats, making effective version control and diff comparison impossible. When the numbers in a critical report look wrong, it is very hard for the team to trace "who changed which filter or calculation logic, and when." The more serious problem is knowledge concentration — the construction logic of a report lives in a few people's muscle memory of mouse clicks, and once the owner leaves the team, maintaining that report becomes a disaster. In the Stack Overflow 2025 Developer Survey , Markdown is the markup language developers are most familiar with, at 72% usage. Evidence's choice of Markdown as the report medium means anyone who can write technical documentation can get started immediately, with no need to learn a proprietary report design tool. Architecture and How It Works The Data Source Connection Layer Evidence supports a wide range of data sources including PostgreSQL, MySQL, BigQuery, Snowflake, DuckDB, SQLite, CSV, and Parquet. Connection settings are defined in YAML files under the sources/ directory, and sensitive credentials are injected through environment variables so they are never committed to the Git repository. A single project can connect to multiple data sources of different types at once and mix them within the same report. The Relationship Between Pages and Queries Every .md file under the pages/ directory is a report page. SQL queries are d

Reviewed and verified by FeiYueh · Last verified 2026-08-19. Independently maintained — not AI-generated boilerplate.

← Back to Blog