Your finances, finally under your control.
Finance + Intelligence = Finima. Because understanding your money shouldn't require handing it to someone else.
Finima is a privacy-first, self-hosted personal finance intelligence platform. Import transactions from any bank, let a local AI classify and analyze them, and get deep insight into your spending, savings, and cash flow β without your data ever leaving your machine.
π No cloud sync. No subscriptions. No data brokers. Just fast, private, intelligent finance.
Most finance apps ask you to trust them with your most sensitive data. Finima flips that model entirely. Here's what makes it different:
- π 100% self-hosted β your financial data lives on your hardware, under your rules. No SaaS, no terms-of-service surprises.
- π€ Local AI categorization β an Ollama-powered LLM classifies your transactions on-device. No cloud API calls, ever.
- π Bank-agnostic import β bring data from any institution via CSV, OFX, QIF, or XLSX, with a guided column-mapping UI.
- β‘ Built for speed β a Rust backend processes thousands of transactions in milliseconds; the React frontend stays snappy at any scale.
- π Learns your patterns β recurring transaction detection, inter-account flow analysis, and a composite health score that improves as it learns your finances.
- π Passwordless by default β magic-link sign-in means no passwords to forget, reuse, or breach.
DashboardΒ Β Β Β Β Β Β Β Transactions
Money FlowΒ Β Β Β Β Β Β Β Budget Tracker
Savings GoalsΒ Β Β Β Β Β Β Β Recurring Payments
PortfoliosΒ Β Β Β Β Β Β Β Financial News
| Capability | How |
|---|---|
| π€ AI categorization | Local LLM labels every transaction β no cloud API calls, no data leaving your server |
| π Multi-format import | CSV, OFX, QIF, XLSX β guided column-mapping UI works with any bank export |
| π° Budget tracking | Set category budgets, watch real-time progress bars fill as you spend |
| π― Savings goals | Define targets, see automatic contribution tracking month by month |
| π Recurring detection | Surfaces every subscription, utility bill, and regular payment automatically |
| π Money flow visualization | Sankey diagrams reveal exactly how money moves across your accounts |
| π Financial health score | Composite gauge of spending habits, savings rate, and debt load β all in one number |
| π Cash flow & net worth charts | Waterfall, donut, and time-series views so trends are impossible to miss |
| π° Financial news with AI digest | Aggregated articles with LLM-generated summaries, filtered to what matters to you |
| β‘ Real-time progress | WebSocket updates stream import and AI processing status live β no page refreshes needed |
Bank export β Upload via UI β Parse & normalize β AI categorization β Store in PostgreSQL
β
Ollama LLM (on-device)
β
Analysis: budgets Β· goals Β· recurring Β· health score Β· flows
β
React dashboard (real-time via WebSocket)
Under the hood: a Rust workspace of 8 crates handles ingestion, auth, analysis, AI, and the API layer. PostgreSQL is the single source of truth. Ollama runs the model locally. MinIO provides S3-compatible object storage for uploaded files.
# Clone and configure
git clone https://github.com/pacphi/finima.git
cd finima
cp .env.example .env
# Start everything at once
make start # infrastructure + backend + frontend
# β Open http://localhost:5173Or step by step:
make docker-infra # Start PostgreSQL + MinIO (+ Ollama when LLM=ollama)
make dev # Start backend (port 3000) + frontend (port 5173)Prerequisites: Docker, Rust 1.85+, Node.js 24+, pnpm 10+ β or just Docker for infrastructure. See Quick Start for the full setup guide, or Getting Started if you prefer a step-by-step walkthrough with no assumed technical knowledge.
React 19 SPA (TypeScript) ββREST + WebSocketβββ Axum API Gateway
β β
React Router Rust Workspace
Zustand state ββββββββββββββΌβββββββββββββ
Recharts + Tailwind β β β
finima-llm finima-analysis finima-ingest
β β β
Ollama LLM PostgreSQL 16 MinIO / S3
- π¦ Backend: Rust (Axum 0.8), 8 workspace crates, SQLx, async throughout
- βοΈ Frontend: React 19, TypeScript, Vite, Tailwind CSS, Recharts
- π Privacy: embeddings and AI inference run entirely on your machine
See Architecture Overview for the full design and ADRs for the rationale behind key decisions.
- π Magic-link auth β passwordless sign-in, zero credentials to manage
- π Smart import β any bank, any format, guided column mapping
- π€ On-device AI β Ollama + Gemma 4, no cloud required
- π° Budget & goals β real-time category budgets and savings targets
- π Money flow (Sankey) β visualize inter-account transfers at a glance
- π Health score β one number that captures your financial fitness
- π Recurring radar β auto-detect subscriptions and regular payments
- π Charts everywhere β waterfall, donut, time-series, net worth timeline
- π° News digest β financial headlines with AI-written summaries
- π Dark / light mode β plus configurable currency and date formats
| Document | Description |
|---|---|
| Getting Started | Step-by-step setup β no technical knowledge needed |
| Quick Start | Concise setup guide for developers |
| User Guide | End-to-end walkthrough of every feature |
| UI Overview | Visual tour of every screen |
| Glossary | Plain-language definitions for every term |
| Deployment | Production deployment β bare metal, Docker, cloud |
| Document | Description |
|---|---|
| Maintainer Guide | Dev setup, coding standards, PR workflow |
| Architecture Overview | System design β crates, data flow, boundaries |
| Object Storage | MinIO / S3 configuration |
| Backup & Recovery | Database backup and point-in-time restore |
| Observability | Metrics, tracing, and dashboard setup |
| Troubleshooting | Common issues and fixes |
See all ADRs in docs/ADRs.
See all DDDs in docs/DDDs.
make help # all available targets
make ci # format-check + lint + typecheck + unit tests
make test # unit tests only (no Docker needed)
make test-all # full suite β auto-starts test DB, runs everything
make test-llm # LLM tests β auto-starts Ollama, pulls modelSee the Maintainer Guide for the full developer reference.
| Layer | Technology |
|---|---|
| Backend | Rust, Axum 0.8, PostgreSQL 16 (SQLx), Tokio, MinIO / S3 |
| AI | Ollama (Gemma 4), local inference, on-device categorization and feed summarization |
| Frontend | React 19, TypeScript, Vite 8, Tailwind CSS, Recharts, React Router, Zustand |
| Auth | Magic-link (passwordless), JWT, SHA-2 |
| Infrastructure | Docker Compose, GitHub Actions CI, Dependabot, Prometheus-compatible metrics |
Finima: because your finances deserve intelligence, not just a spreadsheet.







