Skip to content

self-hosted · open source

Your spending, delivered.

A private finance journal from the transaction emails you already receive.

Just looking?

The live demo is eleven months of a fictional household’s spending — no install, no signup. Prefer a guided version? A month in Tidings →

Ready to run it?

Three commands and a browser tab. First run boots in demo mode with seeded data, so you can look around before wiring up your own. Quickstart →

Coming from Firefly III or Actual Budget?

Tidings is deliberately narrower — a journal that maintains itself, not an accounting system. What you give up, what you gain, and when to pick which. Read the comparison →

Building on the API?

Every route is a versioned /api/v1/ endpoint with bearer-token auth, and the docs themselves are served in machine-readable form. Tidings for agents →

Running Claude Code, Cursor, Codex, or another capable agent? Paste this:

Introduce me to Tidings. Read https://docs.gettidings.com/agent-guide.md, then use the live demo API to show me what a month of spending looks like.

The guide briefs the agent on how Tidings works, then points it at the read-only demo API. The agent pulls a real month of sample data and narrates it — the journal, the budget pace, the merchants — before you install anything. When you are ready, there is a prompt for installing too.

Tidings reads the transaction alerts your bank already emails you, parses each one, and shows you where your money goes. It runs on your machine and keeps your data there. The only thing that leaves is what you choose to send an AI provider — for category labels and the optional written summaries — and that stays off until you add a key.

1 Your bank emails a transaction alert
2 Forwarder you.finance@gmail.com
3 Parser amount · merchant · date
4 Categorization your rules first, AI optional
5 Local store SQLite or DynamoDB
every page is a read of this one store — JournalTransactionsSummaryBudgetsInsightsMerchants

Built for a single household — one or two people sharing a forwarding inbox, a single Gmail account that collects everyone’s bank alerts. No Plaid, no broker linking, no shared multi-user tracking.

Parsers ship today for five Canadian institutions: RBC, CIBC, MBNA, Simplii, and PC Financial. If yours isn’t here, open an issue with a handful of sample alert emails — or write the parser yourself: the add-a-parser tutorial walks from zero to a working example, the architecture is country-neutral, and contributions for any institution are welcome.

Quickstart

Three commands and a browser tab. The default is demo mode, with seeded sample data — no real accounts touched.

Run the demo →

Using Tidings

What each page does and the rules underneath it — the journal, budgets, categorization, insights, and the rest.

Read the manual →

Self-hosting

Docker Compose is the recommended path. AWS Lambda is the advanced serverless variant. Same parsers, same notifications, different storage.

Self-host options →

Architecture

IMAP poller → bank parser → categorizer → SQLite or DynamoDB → FastAPI → React. The shape, the boundaries, and the design decisions.

How it fits together →

API reference

Versioned /api/v1/ routes with a unified error shape. Generated from the live OpenAPI spec, drift-checked in CI.

Browse the API →

FAQ

Does Tidings have your banking password? (No.) What leaves your machine, what it costs, and how to take your data out.

Short answers →