01
All projects
2025Open SourceAI Agent
// project.tata

Tata

Creator · Open Source (MIT)

A personal financial advisor that lives in your phone — for anyone who never learned finance, and never wanted to. Free, open, and entirely your own.

View on GitHub
🐾Tataonline · bot
How much did I spend on groceries last month?💰 4 280 kr on groceries in May — 12% below April. 📊 Want the weekly breakdown?how's my AAPL position doing?📈 +1 940 kr unrealized, up 14.2%. Reading it through your Boglehead lens: stay the course. 🐾
Message Tata…
// agent loop · one Claude turn
memory view /memories → profile, stance, goals
load_skill sql-schema
run_sql SELECT SUM(amount)… → 4 280
↳ reply drafted · headline first
// next user turn
load_skill market-data
run_sql SELECT * FROM Asset… → AAPL
market_data quote AAPL → SEK
memory str_replace notes/aapl.md
✓ answered · 0 bytes left the device
tools: run_sql · market_data · apply_changes · memory · load_skill

fig. 01 — left: what the user sees in Telegram. right: the agent's tool trace for the same turns. UI recreated; figures illustrative.

02

The Problem

Good financial advice is gated behind two things most people don't have: money and literacy. If you can afford an advisor, you get one. If you grew up fluent in budgets, index funds and savings rates, you can do it yourself. Everyone else is left with spreadsheets they never open and apps full of charts that ask to be loved. The people who would benefit most from advice are exactly the people least served by it.

The Solution

Tata is a personal financial advisor that lives in a chat you already have open. There's no dashboard, no forms, no jargon — you talk to her in plain words and she answers in plain words. You forward a bank statement, she reads it and sorts every line into its category. You tell her you want to retire by the sea, she remembers and bends her advice toward it. She runs entirely on your own machine, and she's free and open source — the whole point is that anyone, regardless of income or financial literacy, can have an advisor in their pocket.

One Agent Loop

Under the warmth is a deliberately small architecture: one Telegram bot, one Claude loop. The system prompt stays lean — persona, reply style, and an index of what she can learn — and everything else is pulled in on demand. Each turn, the agent first checks its memory, loads the one skill the task needs, calls a tool or two, and replies. No giant prompt, no sprawl.

[01]
Message in
plain text or a PDF
[02]
Bootstrap memory
view /memories first
[03]
Load a skill
just-in-time know-how
[04]
Call tools
sql · market · memory
[05]
Reply
headline number first
fig. 02 — a single conversational turn, start to finish

Skills, Loaded on Demand

Instead of one bloated prompt that tries to know everything, Tata keeps her expertise in a library of small markdown skills — one per task. The schema for writing SQL, the recipe for parsing a bank PDF, the conventions for market lookups, the rules for editing memory: each is its own brief. The agent reads the user's intent, calls load_skill for the one it needs, and that know-how stays in context only for the turn that uses it.

skill library · loaded one at a time
sql-schemaingest-statementsmarket-datamemory-usageonboardingcards-and-categoriesskip-ruleswrite-changes+ 6 stances
fig. 03 — skills are pulled in only for the task at hand, keeping the always-on prompt tiny

Memory, in Two Stages

For an advisor, remembering is everything — and Tata remembers in two distinct layers, both per-user and both local. The first is the transcript: the last twenty turns of the live chat, kept in SQLite so the conversation feels continuous. The second is long-term memory: a small virtual filesystem under /memories that the agent reads and writes itself — your profile, goals, accounts, preferences and active worldview. The bridge between them is time: after six idle hours, Tata summarises the session into a single rolling note and starts the transcript fresh, so nothing important is lost and nothing stale piles up.

Stage 1 · Transcript
The last 20 turns of live chat, persisted in SQLite. Short, fast, always current.
conversation · SQLite
after 6h idle:
summarise & roll over →
Stage 2 · Long-term
A durable /memories filesystem the agent curates itself.
profile.mdgoals.mdaccounts.mdstance.md
fig. 04 — short-term recall rolls into durable memory; both stay on the user's machine

Tools & Database Access

Every number Tata quotes comes from a single SQLite file on your machine — every transaction, asset, loan and subscription in one place. The agent reaches it through a deliberately narrow set of tools, and the split between reading and writing is enforced, not just trusted. Questions go through run_sql on a connection opened query_only — it physically cannot mutate. Anything that changes your data flows through one path, apply_changes, which always shows you a preview and waits for a ✅ before a single row is touched.

Read path · always open
run_sqlread-only SELECT
market_datalive prices & FX
memoryread /memories
Write path · gated
apply_changesthe only writer
Telegram preview → [ ✅ confirm ]
⛁ local SQLite · dev.dbTransaction · Category · Card · Asset · Loan · Commitment
fig. 05 — reads are unguarded and safe; every write is funnelled through one confirmable path

Reading Your Statements

Getting data in is just as gentle. You export a PDF from your bank or card and send it as an attachment; a second ingest loop reads every line, sorts each transaction into the right category, and shows you a preview before anything is saved. If it keeps filing your favourite bakery under “restaurants,” you correct it once and a skip-rule remembers. Idempotent import hashing means re-sending the same statement never double-counts.

Why It's Open

Tata is MIT-licensed and runs on your own machine because financial advice shouldn't require trusting a company with your most private data — or paying for the privilege. The goal is simple and a little stubborn: a competent, patient financial advisor that anyone can install for free, no matter how little they earn or how little they care about money. You end up on top of your finances; nothing about them ever leaves the room.

// reach.out

Working on something similar?

Tell me where the time goes in your process, and I'll tell you what an agent could take off your plate.

Let's talk
[MODE: READING ]// project.tata
agents: online0 %--:--