Skip to content

Repository files navigation

AnyDash

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.

Stack

  • 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)

Architecture

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.

Development

# 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      # Everything

Project Structure

src-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)

Key Design Decisions

  • 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

Documentation

  • IMPLEMENTATION_PLAN.md — Phase-by-phase roadmap with regression tests
  • docs/plugin-authoring.md — Living UI plugin authoring contract and built-in conventions
  • AGENT.md — Development workflow and engineering standards
  • CLAUDE.md — Quick reference for AI assistants
  • tasks/ — Workflow tracking and operating principles

License

MIT

About

AI-powered dashboard builder — describe what you want to visualize in plain language and the app selects the data source, picks the chart type, and renders it. React 19 + FastAPI + Tauri (Rust) cross-platform desktop app.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages