AI-powered modular dashboard app. Describe what you want to see in natural language and AnyDash builds it — selecting the right data sources, choosing the right visualizations, and transforming raw API data into validated widget payloads. No code required.
- App Shell: Tauri (Rust) — cross-platform desktop (Windows, macOS, Linux)
- Frontend: React 19 + TypeScript (strict)
- Backend: Python + FastAPI (AI engine, data plugins)
- AI: User-provided API keys (OpenAI, Anthropic, etc.)
- Validation: Zod (frontend) + Pydantic (backend)
User request → AI selects data plugin + UI plugin
→ Backend fetches raw data
→ AI transforms data into widget JSON contract
→ Frontend validates payload against Zod schema
→ UI plugin renders the widget in dashboard grid
The widget JSON contract is the core system boundary. Every UI plugin declares its input schema. The AI must produce data that conforms to it. The runtime rejects anything that doesn't match.
# Full app (Tauri + React + FastAPI)
cargo tauri dev
# Frontend only
npm run dev
# Backend only
cd backend && uvicorn main:app --reload
# Quality gates
npm run verify # lint + typecheck + test (frontend)
cd backend && pytest # Python tests
cargo clippy && cargo test # Rust
npm run verify:all # Everythingsrc-tauri/ # Tauri Rust backend (keychain, filesystem, sandbox)
src/ # React frontend (dashboard, chat, plugins, settings)
contracts/ # Widget JSON contract (Zod schemas)
plugins/ui/ # UI plugins (bar-chart, line-chart, kpi-card, etc.)
plugins/data/ # Data plugin configs (frontend metadata)
dashboard/ # Grid layout, widget container, store
chat/ # AI chat interface
settings/ # API key management, preferences
backend/ # FastAPI Python backend
services/ # AI engine, plugin loader, transformer
plugins/ # Data plugins (GitHub, weather, finance)
security/ # Sandbox, rate limiter, input validation
tasks/ # Workflow tracking (todo, lessons, principles)
- AI maps, never generates — The AI selects plugins and transforms data; it does not generate frontend code at runtime
- Plugin isolation — Data plugins (auth, fetch) are strictly separated from UI plugins (render from contract)
- Security first — API keys in OS keychain, CSP enforced, AI inputs sanitized, plugins sandboxed
- Cross-platform — Tauri ensures Windows, macOS, Linux parity
IMPLEMENTATION_PLAN.md— Phase-by-phase roadmap with regression testsdocs/plugin-authoring.md— Living UI plugin authoring contract and built-in conventionsAGENT.md— Development workflow and engineering standardsCLAUDE.md— Quick reference for AI assistantstasks/— Workflow tracking and operating principles
MIT