Veto
Veto is an AI-powered personal budgeting app with integrated AI agents. Users log in with a username, track income and expenses, view spending summaries, and chat with an AI assistant that has access to their budget data, Capital One (via the Nessie API), and Visa APIs through MCP (Model Context Protocol).
What it does
- Transactions — create, list (filter by category, type, and date range), and delete income/expense entries, all scoped per user.
- Budget rules & compliance — define spending rules and check spending against them.
- AI assistant — a chat agent (Dedalus Labs integration) that reasons over your budget and connected financial APIs via an external VetoMCP server.
- Agent guard rails — spending limits, authorization, and audit logging keep the agents constrained.
Architecture
- Frontend — Next.js (TypeScript) at
localhost:3000. Dashboard, budget, and cards pages;AppLayout/Header/Sidebar/ChatPanelshell; username-based auth stored inlocalStorageand attached as anX-User-Usernameheader on every request. - Backend — FastAPI (Python) at
localhost:8000, backed by Supabase. Routes for transactions, budget rules/compliance, and the AI chat endpoint, with services for the agent, transactions, budget rules, and agent guards. - MCP server — a separate VetoMCP repo exposing budget tools to the AI agents.
Tech Stack
Next.js 16 · React 19 · TypeScript · TailwindCSS · FastAPI · Python · Supabase · Dedalus Labs · MCP · Nessie (Capital One) & Visa APIs
