Skip to content

self-hosted · open source

Your spending, delivered.

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

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.

This site is the manual for running Tidings yourself: start with Quickstart for a one-minute demo, follow Self-hosting for real data, and add Notifications when you want to be alerted.

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

Quickstart

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

Run the demo →

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 →