Aurelio is an open-source personal finance app that runs on your own computer and bolts on an AI advisor you can talk to. It tracks net worth, brokerage positions, ETFs, cash and debts in a local database, and the chat part is optional and goes through OpenRouter with your own key. The GitHub project by LosaLosSantos had about 2,100 stars when we checked and is MIT licensed.
It earns attention for two reasons. First, it is a concrete example of a pattern many people want: AI over sensitive personal data without handing the whole dataset to a hosted product. Second, the README publishes measured per-question costs, which almost no AI app does. This post covers what it does, how to try it in about five minutes, what a question costs, and where we would be careful.
TL;DR: what readers ask first
| Question | Answer |
|---|---|
| What is it? | A self-hosted wealth tracker plus an AI chat advisor ("Ask Aurelio"). |
| License? | MIT. |
| Where does data live? | In backend/data.db on your machine; the app copies it before format-changing updates. |
| Do I need an API key? | Only for the AI. You create an OpenRouter account, add credit, and set OPENROUTER_API_KEY in backend/.env. |
| Default model? | Claude Opus 5.5 at $4 per million input tokens and $20 per million output tokens; you can pick another in the chat. |
| Cost per question? | About $0.10 for a first question, $0.013 to $0.034 for a follow-up, $0.33 to $0.51 for a full analysis (README, October 9, 2026). |
| Requirements? | Git, Node.js 22+, and uv. |
| Can I try it safely? | Yes: ./start.sh --demo loads an invented household in its own file. |
| Can the AI change my data? | It proposes changes as cards; you confirm each one. |
What does Aurelio actually do?
The README lists seven areas, the last being the analysis mode covered below. Wealth covers your banks and brokers, their cash, and dated snapshots of what you hold. Portfolio prices every position from the market and shows cost, gain and dividends. Look-through breaks funds down by country, sector, company and currency, which is the feature that tells you a pile of "diversified" ETFs all own the same ten stocks.
Plans, homes and debts track recurring investments, real assets and the loans behind them. Cash flow and goals show income, expenses, savings rate and the return each goal needs. Finally, Ask Aurelio is a chat that answers from your records, can search the web, and proposes every change as a confirm card.
There is also a heavier "analysis" mode. According to the project's design note, How Aurelio reasons, it runs a blind analyst, a confidant, a revision step used only when the challenge is contested, and a synthesis that says what to look at first. The note lists these as steps in the analysis chain.
How do you run it?
You need Git, Node.js 22 or later and uv. Then, per the README:
git clone https://github.com/LosaLosSantos/aurelio-finance.git
cd aurelio-finance
./start.sh --demo # macOS and Linux
On Windows PowerShell use ./start.ps1 -Demo, and if scripts are disabled, powershell -ExecutionPolicy Bypass -File .\start.ps1 -Demo. The first start installs dependencies inside the folder and opens http://localhost:8000 on an invented household stored in a separate file. Start without the flag to use your own data.
For the AI part, create an account at OpenRouter, add credit, create a key at the keys page, copy backend/.env.example to backend/.env and set OPENROUTER_API_KEY. Using OpenRouter means you can switch models freely, a theme we covered when GLM-5.3 FlashX landed on OpenRouter and when Prime Intellect launched its inference service.
What does a question cost?
The README gives a table, measured on a test database with the default model on October 9, 2026:
| Action | Reported cost |
|---|---|
| First question, one round | $0.10 |
| Follow-up, one round | $0.013 to $0.034 |
| First question with two web searches, two rounds | $0.12 |
| Each web search (included above) | $0.0073 to $0.0075 |
| Full analysis | $0.33 to $0.51 |
Those are the author's numbers on a small test database, so a real portfolio with years of history will send more context and cost more. The README does not say why follow-ups are cheaper; a plausible reading is that the first question carries the initial context load, but that is our inference. If cost matters, the cheapest lever is a smaller model in the chat picker. Compare that to the economics we walked through in our decision model rankings.
Why is the design interesting?
Most "AI finance" demos let a model read numbers and improvise. Aurelio's design note describes a set of rules that the code enforces instead. A few that stood out:
- Anchor plus later events. Each institution has dated snapshots. Current wealth is the latest snapshot plus only ledger entries dated strictly after it, which prevents double counting and makes a wrong figure traceable to a snapshot or an event.
- Provenance. Costs, values and currency conversions carry whether they are recorded or estimated, and the date they were confirmed.
- Disappearance is not sale. If a newer snapshot omits a position, the app reports it instead of silently dropping it.
- Tax estimate kept separate. A rate you declare applies only to realized gains and dividends and stays outside net worth, cost basis and position values.
- No cross-currency arithmetic by the model. Everything converts to a base currency before display, and the model layer is designed not to do arithmetic across currencies.
- Proposals expire when data changes. Proposals record their dependencies, and confirmation is refused with an HTTP 409 if the underlying data changed. Live price movement does not expire them.
A green key fitting a narrow opening, representing a user-confirmed boundary on what the AI advisor may change
The confirm-every-write rule is the pattern we recommend for any agent touching sensitive records: the model proposes, a person approves, and the write goes through the normal path. It is the same logic behind the guardrails we discussed in AI agent browser autonomy and guardrails. Stock suggestions must also arrive as cards with required reason, based_on and unknowns fields, capped at three per answer when several are asked for, and they land in a watchlist of ideas that no total counts.
What are the limits and risks?
Be honest about what a brand-new repo is: it is young and the design note itself says the code and its tests are the authoritative status. A few cautions:
- Your data leaves your machine when you chat. "Local" describes storage. Context goes to OpenRouter and then to the model provider you choose. Read their retention terms before you paste real account numbers into a conversation, and consider the demo data until you are comfortable.
- Not financial advice. The design note calls watchlist suggestions "ideas, not holdings" and describes the tax figure as an aid to deciding, not a tax return. We found no investment-advice disclaimer in the README, and the tax estimate covers only realized gains and dividends at a rate you declare.
- Known traps are documented. The note lists easy-to-get-wrong areas such as pence versus pounds, missing price rows, UTC date handling and mixed-cost calculations. That honesty is good, but it means numbers deserve spot checks against your broker.
- Models can be wrong with confidence. A strong model with web search can still misread a fund factsheet. Treat the advisor as a reviewer of your own data, not an oracle.
- Back up
backend/data.db. The app saves a copy before format-changing updates, but a backup you control is better. - API keys are secrets. Keep
backend/.envout of version control and cloud sync folders.
If you ever wire an agent like this to real accounts or let it act on your behalf, an enforcement layer helps; AgentBeam, the agent security platform from the explainx.ai team, is built to stop AI agents before they take dangerous actions. Aurelio's confirm cards already keep it read-and-propose only, which is the safer starting point. For a recent example of why agents with open-ended access need limits, see our report on an Anthropic model that sent a false homicide tip to police.
How does it compare with other approaches?
| Approach | Data location | AI included | Cost model |
|---|---|---|---|
| Aurelio | Local file | Optional, via OpenRouter | Pay per token with your own key |
| Spreadsheet plus a chatbot | Local plus pasted context | Manual | Chat subscription |
| Hosted aggregator apps | Vendor cloud | Often bundled | Subscription |
The trade is control for effort. You run the server, you pay model costs, and you accept an early-stage project. In exchange you can read the code, change the prompts, and choose or swap the model. If you like the local-first idea for other work, see our look at AgentPlane, a local control plane for coding agents.
Who should try it
Try the demo if you already track investments in spreadsheets and want to see what look-through and goal planning can add. Try your own data only after a read of the design note and the privacy trade-off above. Skip it if you need multi-user access, regulated advice, or support; we found none of those advertised.
Details are accurate as of October 10, 2026; the repository changes quickly, so check the README for current setup and costs.
