Skip to content
AziM.

Case study

Actua

A native Android client for Actual Budget, built in the open.

Actua for Android showing the budget, category, transaction and bills screens
Platform
Android 9+
Built with
Kotlin · Jetpack Compose
License
MIT
Latest release
v1.4.1

What it is

Actual Budget is a local-first, self-hostable envelope budgeting app. Actua brings it to Android with a native Material You interface. It connects directly to your own Actual server, keeps a local copy of your budget for offline use, and syncs changes back with Actual's encrypted sync.

What it does

  • Budgeting, category targets, budget automations and moving money between categories
  • Transactions, splits, transfers, reconciliation and scheduled transactions with a bills calendar
  • Accounts, credit cards and payment reminders
  • Actual's dashboard and saved custom reports, with drill-down to transactions
  • Rules and automatic categorisation
  • Imports from CSV, XLSX, PDF, SMS and notifications, plus Tasker intents
  • Password and OpenID Connect login, automatic local backups and a home-screen widget

How it's built

Actua is written in Kotlin with Jetpack Compose. Much of the work is parity: making sure the app reads and writes a budget exactly the way Actual's own clients do, so the two never disagree. Each area (sync, transactions, rules, reports, scheduled transactions) has its own parity document in the repository, alongside performance baselines, recomposition audits and a release smoke test.

Built in the open

Development happens on GitHub: issues, pull requests and a public changelog. The first alpha shipped in early September 2026, and after a long run of beta builds for testers, 1.0.0 was released on 25 September 2026. Releases are available from Google Play, as APKs on GitHub, and through Obtainium. There's a Discord for users and testers.

What I've learned

This section is still being written.

Actua is an independent community project and is not affiliated with or endorsed by Actual Budget.