English · 简体中文
Finvo is an open-source, self-hosted AI expense tracker & personal finance agent.
It leverages conversational LLMs and private speech recognition to effortlessly record expenses, visualize financial analytics, and manage household budgets with 100% data privacy.
Note
The Story Behind Finvo Finvo = Finance + Voice / Voce / Volution Core Mission: Voice & dialogue-driven AI expense tracking and personal finance assistant.
- Effortless Expense Logging: Record expenses as simply as chatting or speaking. Say "Spent $45 on grocery shopping" or "Paid $800 for rent", and the AI agent automatically extracts amount, category, merchant, and timestamp.
- Privacy-First Voice ASR: Integrated with self-hosted asr_server. Speech-to-text processing happens entirely on your local infrastructure with zero audio data sent to commercial APIs.
- Real-Time Dynamic Widgets: Powered by Google A2UI protocol and forui. The AI agent dynamically renders interactive charts, breakdown cards, transaction confirmation dialogs, and edit forms inside the conversation stream.
- Multidimensional Insights: Ask "How much did I spend on dining out this month?" or "Am I over budget compared to last month?" to receive instant visual breakdowns.
- Complete Data Sovereignty: Ledger databases, vector embeddings, and conversation memories remain strictly inside your local network.
- Model Agnostic: Seamlessly connect cloud LLMs (DeepSeek, OpenAI, Qwen) or run 100% offline with local frameworks like Ollama.
- Family & Team Workspaces: Support for shared spaces allowing family members to log transactions jointly, assign budgets, and maintain granular access control.
- Mem0 Context Memory: Retains user habits, frequent merchants, and personal budgeting preferences across sessions.
- Plugin Skill Engine: Modular Python skills following Anthropic-style skill specifications. Easily add custom modules for financial forecasting, exchange rate conversion, fixed bill scheduling, and budget alerts.
flowchart TD
subgraph Client ["Client Layer (Cross-Platform)"]
A[Flutter Mobile App] <-->|Google A2UI Protocol| B[ForUI Dynamic Renderer]
end
subgraph Backend ["Server Layer (Python 3.13 / FastAPI)"]
C[FastAPI Gateway] <--> D[LangGraph Agent Core]
D <--> E[Mem0 Memory Manager]
D <--> F[Skill Engine]
end
subgraph Storage ["Storage & Models"]
D <--> G[(PostgreSQL + pgvector)]
D <--> H[Cloud / Local LLMs\nDeepSeek / OpenAI / Ollama]
A <--> I[Self-Hosted ASR Server]
end
| Component | Technology | Purpose & Advantage |
|---|---|---|
| Backend API | Python 3.13 + FastAPI + uv |
Asynchronous API gateway with lightning-fast dependency management |
| AI Agent Core | LangGraph + Mem0 | Multi-step reasoning, self-correction, and contextual memory management |
| Frontend App | Flutter + ForUI | Cross-platform mobile UI with dynamic A2UI renderer |
| Database | PostgreSQL + pgvector |
Transaction storage and vector embeddings |
| Voice / ASR | asr_server |
Local, self-hosted Speech-to-Text processing |
- Docker & Docker Compose (Recommended)
- AI Model Key (DeepSeek, OpenAI, Qwen) or a local Ollama endpoint
-
Clone Repository:
git clone https://github.com/kylesean/Finvo.git cd Finvo -
Configure Environment:
cp server/.env.example server/.env # Edit server/.env with your LLM provider credentials or Ollama URL -
Launch Docker Services:
make docker-up
Tip
Once started, scan the QR code displayed in the terminal using the Flutter Mobile App to pair immediately.
Finvo/
├── client/ # Flutter mobile application codebase
│ └── assets/images/ # Screenshots and brand assets
├── server/ # FastAPI backend & LangGraph Agent service
│ ├── app/ # Application core, services, and skills
│ └── .env.example # Environment template
├── docker-compose.yml # Multi-container deployment configuration
└── Makefile # Developer shortcuts & lifecycle scripts
This project is open-source under the AGPL-3.0 License.



