Features
What Tally does.
Nine surfaces, one calm aesthetic. Built for Australian households who want real visibility into their money — not another dashboard that screams.
Dashboard
The first thing you see. This month or last month at a glance — what you've spent, what you owe, what's discretionary. Plus the open items from your register (comments, budget meeting notes, action items).
- This / Last month toggle across every relevant card
- Discretionary composition — pie chart of just the spend that responds to choices, ignoring the fixed costs that don't move
- Net worth trend with 90-day spark
- Cash flow — in vs out, net for the period
- Register summary — open work across Comments / Budget / Actions, three rows
- Recent activity + Upcoming bills
- Two layouts: Cockpit (default) and Stream (single-column)
Budget
Seven sub-pages, grouped into three purposes:
Budget (operational)
- Monthly — budget vs actual, this period
- Subscriptions — recurring charges audit, annual run-rate
- Annual expenses — year-ahead view of quarterly + annual bills
Forecasting
- Forecast — Moorr baseline vs actual cash position
- Loans — calculator + what-if scenarios
Reporting
- Trends — month-over-month spend
- Insights — composition pies + by-kind pies + operational stress flags
Loans + scenarios
Every Australian mortgage feature in one place. Tally's loan engine is what lifts it above generic budget apps.
- Full Australian repayment shapes — Principal & Interest or Interest Only with transition, weekly / fortnightly / monthly, true-fortnightly vs half-monthly modes
- Lump-sum payments — model one-off extra repayments at specific dates (tax refunds, bonuses)
- Offset modelling — reduce interest accrual against an offset balance; daily cron snapshots from your linked savings account
- Named scenarios — "Rate +0.25%", "Extra $200/fortnight", "No offset", "Half offset". Stack as many as you want.
- Comparison table — base vs every scenario, side-by-side. Repayment, total interest, payoff date, periods.
- Three chart modes — balance over time, interest vs principal per period, cumulative interest. Horizon zoom: 1y / 5y / 10y / All.
- Drift signal — link a loan to its bank account; Tally surfaces "you're $1,200 ahead" or "$3,400 behind" the scheduled paydown
- Pre-seed from your bank — Tally creates seed loans (Clifton Hill PPOR, Yarraville IP, etc.) from your linked liability accounts on first visit. Edit the rate and term to match reality.
Property dimension
Tag transactions, bills and loans to a specific property (PPOR / Investment / Other). Drives FY-end reporting that normal budget apps can't do without manual spreadsheet work.
- Per-property income + expense breakdown
- System-flagged Investment Property categories (Agent & management, Council rates, Loan interest, Maintenance, Property insurance) that mirror Housing for separate ATO reporting
- Property → recurring transaction inheritance: tag the recurring bill once, future occurrences pick up the property
Moorr alignment
Tally is built to complement Moorr — Stuart Wemyss's household-finance methodology. The plan lives in Moorr; the proof lives in Tally.
- Every leaf category maps to a Moorr funding bucket: Primary Direct, Provision, Living & Lifestyle, Credit Card, Loans Jar
- "Group by Moorr" toggle on Budget Monthly — same numbers, advisor view
- Forecast tab overlays your Moorr cashflow projection against actual cash position
- Insights breaks spending into Fixed / Variable / Discretionary — the kind that determines how Moorr's buckets should be sized
Categories + AI
85+ pre-seeded categories tuned for Australian households. Four axes per leaf: parent (Food, Housing…), funding source (which Moorr bucket pays for it), kind (Fixed / Variable / Discretionary), essential (must-pay even in a bad month).
- Claude Haiku categorisation inline at bank ingest — every new transaction gets categorised within seconds
- Rules engine with priority + hit-count tracking for explicit overrides
- Confidence threshold — anything < 0.7 goes to the Review queue, never silently mis-tagged
- Tree-nested category management — root groups with leaves indented, with a built-in mental-model card explaining each axis
Sharing
Built for couples. Three access levels via the admin's Settings → Users:
None
Their own empty data silo. Default for new users.
Full
See your data and edit it — transactions, categories, loans, register, everything. For partners.
View only
See your data, but the worker blocks every non-GET request. Useful when you're doing focused work.
- Each user signs in with their own Google account (audit log shows who)
- One-click Sign out ends their session within seconds (without waiting for JWT expiry)
- Per-user activity log — every login attempt recorded with IP, device, outcome
Security & privacy
- No passwords on Tally. Sign-in delegated to Google OIDC — whatever 2-step verification Google asks for is what protects your account
- 1-hour session JWT. Even a stolen device's cookie self-destructs within the hour
- Allowlist-only — no self-signup; the admin invites users explicitly
- HttpOnly + Secure + SameSite=Lax cookies; CSRF protection on every mutation
- Full per-user audit log — see every sign-in attempt (success + denied), filter by device + IP
- Force sign-out any other user from one click
- Worker secrets (Anthropic key, Google OAuth, JWT secret, bank webhook secret) never reach the browser
Under the hood
Built on Cloudflare's edge stack so it's fast everywhere and stays affordable to run.
- Cloudflare Workers (Hono framework) — sub-100ms API responses, globally distributed
- D1 — SQLite at the edge, ACID transactions, ~13 tables
- R2 — webhook archive (raw payloads kept 90 days for forensics) + receipt attachments
- KV — aggregate cache + JWKS cache
- Anthropic Claude — Haiku for categorisation, Sonnet for insights
- React 18 + Vite + Tailwind + Radix on the frontend
- Drizzle ORM — typed queries, portable if we ever outgrow D1
Be there at launch
We're building Tally in public with a small Australian beta. If any of the above resonates, get on the list.
Join the waitlist →