Skip to main content
← All Projects // DATA ANALYTICS

Evidence.dev

Analytics as Code

Self-hosted business intelligence where every dashboard is a SQL file in a Git repo — versioned, reviewed, deployed like software. No more BI tool licensing fees or untracked dashboard sprawl.

Evidence.dev Analytics SQL Git Data Visualization Self-Hosted BI
// PIPELINE

The Analytics Pipeline

Every dashboard is a file. Every change is a commit. Deploy analytics the same way you deploy code.

Write SQL
queries/metrics.sql
git commit
Full audit trail
Evidence Build
npm run build
Live Dashboard
Static · Fast · SSO-protected
git log --oneline · pages/kpis.md
a3f91bc feat: add weekly active users chart to KPI dashboard
77de021 fix: correct date filter on revenue query
4cb8e40 chore: rename metric from 'total_orders' to 'completed_orders'
full history going back to day one
// IMPACT

Why It Matters

100% CHANGE HISTORY Every dashboard edit is a git commit
$0 LICENSING FEES vs $10–$40/user/month for Power BI
<1s PAGE LOAD TIME Static site — no server-side rendering
0 VENDOR LOCK-IN Open source, self-hosted, portable SQL
// COMPARISON

Evidence vs Traditional BI

Feature Evidence.dev Power BI / Qlik
Version control Full git history Shallow or none
Code review flow Pull requests Not applicable
Local dev preview npm run dev Edit in prod only
Query language Standard SQL ~ DAX / proprietary
Self-hostable Yes, fully Cloud dependency
Per-seat cost $0 (open source) $10–$40/user/mo
Drag-and-drop UI ~ Markdown + SQL Yes, rich GUI

The Problem with Traditional BI

Power BI and Qlik solve a real problem: they let non-engineers build dashboards. But they introduce a different problem — your analytics live inside the tool, not in your codebase. You can't git diff a Power BI dashboard. You can't open a pull request to add a new metric.

When someone changes a report, there's no audit trail. Just a different number on screen. That matters when you're making decisions based on those numbers.

What I Learned

Treating dashboards like code doesn't make them harder to build. It makes them harder to break.

The biggest shift is cultural, not technical. When analytics live in a Git repo, they become part of the engineering workflow — reviewed, tested, versioned.

Evidence's Markdown-based approach also makes it natural to embed context alongside charts. A dashboard isn't just a number — it's a number with a story. Evidence makes that story easy to write and easy to diff.

// STACK

Tech Stack

Evidence.dev BI Framework
self-hosted
PostgreSQL / DuckDB Query Backends
self-hosted
Git + GitHub Version Control
remote
Docker Compose Container Runtime
Lenovo Flex 4
Traefik + Authelia Reverse Proxy + SSO
self-hosted
Node.js Build Evidence Build Pipeline
self-hosted