Kill the Dashboard - BI Platform
Project Description
Kill the Dashboard is an AI agent that replaces static, pre-built analytics dashboards with on-demand, runtime-generated interfaces. Users ask natural-language questions like “Why did revenue drop last week?” and the agent writes SQL queries against a live database, correlates findings with real-world events via Tavily search, and assembles a multi-widget dashboard — all in one conversation turn.
Interactive, runtime interfaces beyond text: The agent generates coordinated KPI cards, interactive Recharts visualizations (line, bar, area, pie — user-switchable per chart), a WebGL globe (cobe) for geographic data with ranked city legends, and newspaper-style world events cards. Every element is clickable — clicking a chart element or a “drill deeper” chip sends a follow-up question to the agent, which generates an entirely new dashboard. There are zero pre-built views.
Innovation and theme alignment: Traditional dashboards are static answers to yesterday’s questions. Kill the Dashboard inverts this: the interface is a question, not a grid of charts. The agent decides how many KPIs, which chart types, whether to include a globe or world events — adapting the layout to the data, not the other way around. This is what “Kill the Dashboard” means: the best dashboard is the one that doesn’t exist until you need it.
User experience: Users steer the agent through natural language, suggested question chips, and direct chart interaction (click any bar/slice to drill down). A collapsible sidebar keeps the conversation accessible without crowding the canvas. The setup flow uses a first-launch modal for API keys — no .env editing required.
Technical execution: Built with the Vercel AI SDK v4 (streamText, useChat, maxSteps: 10) using a multi-step tool-calling loop. The agent has three tools: executeSql (SELECT-only, guarded, 500-row cap), searchWorldEvents (Tavily API), and renderDashboard (Zod-validated JSON layout spec). The agent calls executeSql 3-5 times per question, optionally searches world events, then emits a single renderDashboard call. The frontend extracts the layout spec from the chat message stream and renders it with React 18, Recharts 2, and cobe. Database is better-sqlite3 with 10,000+ orders across 20 global cities. Switchable between Anthropic and OpenAI providers. Next.js 14 App Router. Protocol: A2UI — the agent autonomously decides the interface layout via structured tool output.