Finora โ a personal finance app built for how money is actually used
Multi-account, multi-currency personal finance app with a self-hosted AI advisor, built to answer real questions about managing your own money.
- React
- TypeScript
- Vite
- Capacitor
- Node.js
- Express
- PostgreSQL
- Ollama

The problem
The personal finance apps I'd tried made me choose between two extremes: infinitely flexible spreadsheets I never actually kept up to date, or closed apps that aggregate bank accounts but treat every entry as an isolated number โ no context about projects, goals, people to split an expense with, or how today's expense ripples into the coming months.
I started building Finora for personal use, with one precise constraint: every feature had to answer a concrete question I'd asked myself while managing my own accounts ("how much can I still spend this month?", "am I still using this subscription?", "who still owes me money for Saturday's dinner?"), not some abstract idea of "what a budgeting app does".
What it does
Accounts and transactions
- Multiple accounts (bank, cash, cards, savings) with customizable types, two-level categories, daily and weekly sub-totals.
- Multi-currency: 23 currencies with historical ECB rates, original amount always kept alongside the converted one.
- Receipt attachments with automatic resizing and full-screen viewer, expense geolocation with a transaction map.
Projects, budgets and recurrences
- Aggregators/Projects that group expenses across categories (e.g. a trip), with a dedicated budget and overspend warning.
- A real scheduler-based recurrence engine, per-category budgets and a global monthly budget.
- Subscriptions with monthlyized cost calculation and days to next renewal, a cashflow calendar projecting balance day by day.
Investments and goals
- Investment portfolio (ETFs, stocks, crypto, bonds, funds, pension) with auto-updating prices and recurring investment plans.
- Savings goals with a live sustainability preview.
- Compound interest, leasing, and mortgage-vs-rent simulators; loans and mortgages with an amortization schedule and automatic debit from the linked account.
Automation and intelligence
- An AI financial advisor that only answers based on the user's real data โ never an invented number.
- Auto-categorization rules (conditions โ actions with priority) plus a suggestion based on personal history.
- Automatic bank statement import with deduplication and balance reconciliation.
- An in-app guide (35+ searchable sections, 4 languages) plus an AI assistant that can propose and โ only after explicit confirmation โ execute an action on the user's real data, with a dedicated popup for any missing details instead of guessing them.
Reports and analysis
- Category trends with drill-down, predictive budget forecast on how much is still safe to spend.
- "Can I afford it?" with a green/yellow/red verdict, year-over-year and month-over-month comparison.
- Net worth over time, savings rate, deductible expenses, a financial health score (0-100).
Collaboration
- Shared Spaces for family or couples, with owner/editor/viewer roles and invite-by-code.
- Splitting expenses with people outside the app, tracking what's settled and what's still owed.
Organization
- Free-form tags across transactions, global search with click-to-detail.
- A wishlist that can link to goals and budgets.
For developers
- A public REST API, the exact same one the app itself uses, authenticated with a personal token generated from Settings instead of logging in.
Security and account
- Two-token JWT (15-minute access + 30-day refresh) with rotation, optional 2FA via TOTP or email code.
- Account deletion with a grace period and full data export in JSON.
Platform
- Installable PWA and native Android app via Capacitor from the same frontend codebase.
- 4 supported languages (it/en/fr/de), push notifications, a standalone widget for the phone's home screen.
Architecture, tech stack and the real engineering problems solved along the way.