Statement Analyzer

desktop app for bank statement analysis

Role

Fullstack — app design, statement import and parsing, analytics, React/Electron UI and tests.

Year

2026

Stack

Electron, React 19, TypeScript, Tailwind CSS, Recharts, TanStack Table, Papa Parse, Jest

ElectronReact 19TypeScriptTailwind CSSRechartsTanStack TablePapa ParseJest

Project

A desktop app for macOS, Windows and Linux that turns CSV statements from ČSOB internet banking (or any other CSV) into a clear dashboard of spending and income. All data stays on the local machine — nothing is sent anywhere.

Fullstack — app design, statement import and parsing, analytics, React/Electron UI and tests.

Statement Analyzer — screenshot 1
Statement Analyzer — screenshot 2
Statement Analyzer — screenshot 3
Statement Analyzer — screenshot 4

What I built

CSV import from ČSOB, including adding further statements to the same project; transactions are deduplicated so overlapping periods are not counted twice.

Import of any CSV through column mapping — the app guesses the delimiter and columns, you set the date format, and the mapping is remembered for the same header.

A dashboard with spending by category, a daily overview, balance history, the top 10 expenses and month-to-month comparison; filters by period and account, optionally including transfers between own accounts.

Monthly budgets per category with a usage indicator, and automatic detection of recurring payments with the estimated next charge and yearly cost.

Manual re-categorisation, in bulk too, and a change history that lets you revert any edit.

Projects are saved in the app's data folder, can be exported to JSON and CSV and imported again; light and dark themes and sample demo data are included.

The analytics (recurring-payment detection, month comparison, budgets, filters, CSV parsing) are covered by Jest tests.

Let's talk about your project!