Un libro de cuentas — over WhatsApp
“Cuentas claras, amistades largas.”
Clear accounts, long friendships. A proportional expense ledger, run entirely by texting a phone number — no app to install, no forms to fill in. Income doesn't have to split 50/50: the ledger divides costs however you configure it, and adjusts automatically when the numbers change.
No categories to select, no amount fields to tap through. A message in plain Spanish or English is enough — the split, the split rule, and the confirmation come back the same way.
Spanish and English, understood by Claude and mapped to a structured record — the model never sees or touches a balance, it only extracts.
List several expenses in one message — a whole receipt, a backlog from your own notes — and get the parsed list echoed back first. Nothing is written until you reply sí; one ambiguous item holds the whole batch rather than guessing at it.
Shared costs divide by income ratio, not evenly — recalculated automatically as a raise takes effect from the next cycle, never rewriting the past.
Cap discretionary spending in a bucket you describe in plain language — "outings: restaurants, bars, movies." Every entry is classified against that description fresh, every time, so editing it reclassifies your whole history on the next read. Some goals reset each period; others bank unused cap forward for a bigger purchase later.
Each partner gets a same-day summary of what the other logged — visibility without a notification for every single purchase.
A once-a-week, goal-focused message — congratulating a comfortable week, or naming a real pattern when a goal's at or over cap, referencing an actual streak ("3 weeks running under budget"). Never an invented one: commentary is grounded only in that week's real entries.
An xlsx and a PDF, generated and delivered as a WhatsApp document, every month, automatically.
Rent, a car payment — adjust the amount by chat, get reminded on a day and hour you set, with the split computed fresh each time.
Ask "cómo voy" any time and get today's activity, total, and balance back instantly — answered entirely from the ledger itself, so it keeps working even if the model or its rate limit is unavailable.
Every correction is a new row that voids the old one. Nothing is ever edited or removed — the history stays complete and auditable.
A browser-side panel for income history, assets, spending goals, and the full ledger — for the occasional, sit-down administrative moment chat isn't built for.
This is household income data, reachable from the open internet. It's treated that way.
A password alone isn't enough — a one-time code goes to the phone of whoever is signing in, and only that phone.
Password checks run in fixed time, hash-to-hash, closed against timing attacks.
Five login attempts, fifteen minutes, partitioned per client — one person's mistakes can't lock the other out.
Every inbound message is HMAC-SHA256 verified against the raw body before anything else runs.
Two allowlisted phone numbers. Anyone else's message is logged and dropped — it never reaches the model.
An uncovered date, an orphaned reversal, a missing income period — all fail loudly instead of assuming.
This isn't a prototype sitting in a repo — it's running right now (the status line at the top of this page is checking live, this instant), handling real household income for real people, every day. Built, deployed, and operated end to end by one engineer. I take on a small number of builds like this one for other households — if that's you, this is what you'd get.
Proportional, equal, personal, or one-sided splits, chosen per expense. Income ratios update from a form, take effect on the next cycle, and never rewrite the past.
Deployment, monitoring, security hardening, and every future feature are mine to own. You get a phone number to text and a dashboard to check, nothing to maintain.