Xarji

Self-hosted finance tracking for Georgian banks, built on SMS parsing.

Role
Contributor
Started
January 2026
Language
TypeScript
Platform
macOS
Licence
MIT

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.

  • 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
  • macOS
  • InstantDB
  • TypeScript

← All projects