Evidence is an open-source, code-based business intelligence platform that lets developers and data teams create interactive reports and dashboards using SQL and markdown. Unlike traditional drag-and-drop BI tools, Evidence treats data visualizations as code—enabling version control, collaboration, and automation. It’s designed for teams that want full control over their data products without sacrificing speed or flexibility. By combining SQL queries with markdown formatting, users can generate dynamic web-based reports that update automatically when data changes. This approach is ideal for data engineers, analysts, and developers who prefer writing code over clicking through UIs to build analytics applications.
What You Get
- SQL-powered visualizations - Embed SQL queries directly in markdown files to pull data from connected databases and render charts, tables, and metrics dynamically
- Templated page generation - Use variables and loops in markdown to auto-generate multiple reports from a single template, ideal for multi-tenant dashboards or product analytics
- Conditional rendering - Use if/else logic in markdown to show or hide content based on query results, enabling personalized or context-aware reports
- Self-hosted deployment - Deploy generated static sites to Netlify, Vercel, or any static hosting platform without vendor lock-in
- VSCode extension integration - Create and preview Evidence projects directly in VS Code with live reloading and syntax highlighting
- AI-enhanced authoring - Use Evidence Studio (beta) to generate and refine reports with AI assistance, accelerating report creation from SQL and natural language
Common Use Cases
- Building a multi-tenant SaaS dashboard - Generate individual customer reports using templated markdown files with SQL queries that filter data by tenant ID
- Creating automated operational reports - Automate daily sales or support metrics dashboards by scheduling SQL queries that update static HTML files on deployment
- Problem: Slow BI tool iterations → Solution: Code-based reports - Replace slow, GUI-driven Power BI or Tableau workflows with version-controlled markdown files that can be reviewed in PRs and tested like code
- Team: Data engineers building internal analytics tools - Enable non-technical teams to request reports via markdown templates while maintaining data governance through centralized SQL logic and DBT models
Under The Hood
Evidence is a Svelte-based platform designed to enable developers to build interactive dashboards, reports, and documentation with minimal configuration. It integrates SQL data sources directly into Markdown pages, offering a unique documentation-as-code approach that blends querying, visualization, and storytelling.
Architecture
The system follows a modular monorepo architecture with well-defined domains and extensibility points.
- The plugin-based design allows for flexible integration of UI components, data sources, and telemetry systems without tight coupling
- Module organization is structured around distinct functional areas such as UI, data sources, and schema providers, each with dedicated packages
- Service classes and error handling patterns like EvidenceError are consistently applied across the codebase to ensure reliability
- Component interactions are managed through Svelte-based UI elements and backend API routes with clear data flow from sources to visualizations
Tech Stack
The project leverages a modern JavaScript ecosystem with strong TypeScript and Svelte integration.
- Built primarily with JavaScript and TypeScript, using Svelte as the core UI framework alongside custom components and plugins
- Relies heavily on @evidence-dev packages, database connectors, and Svelte-specific tooling for UI and data handling
- Employs Vite for development, Playwright for end-to-end testing, and pnpm for monorepo dependency management
- Integrates Playwright and Vitest to support comprehensive testing across UI behaviors and API interactions
Code Quality
The codebase emphasizes testing and consistent patterns, though some structural complexity exists.
- Extensive end-to-end test suites cover various deployment scenarios and UI behaviors with broad coverage
- Try/catch blocks are widely used for error handling, especially in configuration and utility modules
- Code follows reasonable consistency in naming and structure, although some technical debt is present in monorepo organization
- The multi-layered testing framework and configuration requirements contribute to a moderate learning curve
What Makes It Unique
Evidence stands out through its innovative integration of SQL querying and Markdown-based documentation.
- The modular monorepo design enables seamless extension of UI components, data sources, and functionality without tight coupling
- Native support for SQL-based data sources with DuckDB and SQLite allows real-time query execution directly within documentation pages
- A standardized plugin interface supports custom Svelte components and themeable UI elements for extensibility
- Built-in developer tooling including HMR and E2E testing frameworks streamlines the development lifecycle for documentation-driven applications