Xarji
Self-hosted finance tracking for Georgian banks, built on SMS parsing.
Details
- Role
- Contributor
- Started
- January 2026
- Language
- TypeScript
- Platform
- macOS
- Licence
- MIT
Overview
Georgian banks do not publish public APIs for transaction data. There are no exports and no integrations — you see whatever the bank's own app decides to show you. But the banks do send an SMS for every transaction, and that turns out to be enough.
Xarji reads those SMS notifications from the Messages app on macOS, parses the transaction details out of them, and syncs the result into an InstantDB instance on your own account. What comes out is a real-time dashboard with analytics and category breakdowns over data the bank never intended to give you.
The pipeline is deliberately local: Messages.app to the parsing service to your own InstantDB to the dashboard. Nothing passes through a third party. It supports Bank of Georgia/Solo, TBC, Liberty, Credo, Basis and Tera, plus custom sender IDs.
This is Tornike Gomareli's project; I contributed to it rather than authoring it.
Highlights
- Works around the absence of public banking APIs in Georgia by parsing SMS
- Supports Bank of Georgia/Solo, TBC, Liberty, Credo, Basis, Tera and custom senders
- Data flows Messages.app → parser → your own InstantDB → dashboard
- No third-party servers involved at any point
- Real-time analytics and category breakdowns
- Requires macOS, the Bun runtime, and a free InstantDB account
Built with
- macOS
- InstantDB
- TypeScript