Live Demo · Docs · Quick Start
CausalFlow is an open-source visual workbench for Bayesian Networks. Drop a CSV or define nodes from scratch, draw causal relationships, and run exact inference — all through a drag-and-drop interface. No code, no installs, no MATLAB license.
- 🖱️ Visual DAG Editor — Drag-and-drop nodes & edges on an infinite canvas (React Flow)
- 📊 Three Workflows — Data-driven (CSV → structure learning → MLE), expert knowledge (manual priors), or hybrid
- ⚡ Real-Time Inference — Click to set evidence, watch posteriors update instantly via Variable Elimination
- 🔀 Auto Layout — Dagre-powered hierarchical layout, one click to organize
- 🧠 Smart Ingestion — Drop a CSV, auto-detect discrete variables and state spaces
- 🎯 Prior Probability Editor — Define CPTs by hand when you have domain expertise but no data
- 🏗️ Structure Learning — Hill-Climbing algorithm discovers causal structure from data
- 🌐 Zero Install — Runs entirely in the browser + lightweight API backend
![]() Canvas |
![]() DAG Construction |
![]() Inference |
![]() Evidence Propagation |
Frontend Backend
React 19 · React Flow · Zustand FastAPI · pgmpy · NetworkX
Tailwind CSS · Dagre · Recharts Variable Elimination · Hill-Climbing
↕ REST API ↕
git clone https://github.com/shuqiwhat/causal-flow.git && cd causal-flowBackend:
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload # → http://localhost:8000Frontend:
cd frontend
npm install && npm run dev # → http://localhost:5173That's it. Open http://localhost:5173.
One-click Docker:
docker compose up -d --buildVercel + Render (free tier):
| Component | Platform | Root Dir | Config |
|---|---|---|---|
| Frontend | Vercel | frontend |
Set VITE_API_URL env var |
| Backend | Render | backend |
Auto-detected as Python |
PRs are welcome. See CONTRIBUTING.md.
- Fork → Branch → Commit → PR
MIT — see LICENSE.
Built by @shuqiwhat


