
Abbo
Mobile app · Released Dec 2025
A privacy-focused mobile app to track subscriptions, with expense dashboards, custom renewal alerts and offline storage that keeps financial data on the device.
01 — Gallery
The app, screen by screen
A look at the main screens of the app.

02 — Architecture
How it's built
The app, layer by layer. Each badge links to the decision that shaped that layer.
ON THE DEVICE
Interface
React Native, Expo Router, 5 languages
App state
React Context
Local storage
AsyncStorage
Renewal alerts
Expo Notifications, scheduled locally
Backend
No server, no account
03 — Decisions
Decision log
Context, choice and the price paid for each one.
Keep all data on the device
Context
Subscriptions and spending are sensitive financial data, and the app doesn't need to share them with anyone.
Decision
Store everything locally with AsyncStorage. No accounts, no server, no cloud sync.
Tradeoff
No sync between devices, and data is lost if the app is uninstalled.
Alternatives
Firebase, Supabase, A custom backend
Local scheduled notifications
Context
Users need a reminder before a subscription renews, so they have time to cancel it.
Decision
Schedule renewal alerts on the device with Expo Notifications, based on each subscription's date and the user's chosen advance notice.
Tradeoff
Alerts must be rescheduled whenever a subscription changes, and they depend on the OS keeping scheduled notifications alive.
Alternatives
Server-sent push notifications (FCM), Calendar events
Distribute the APK through GitHub Releases
Context
Publishing on Google Play requires a Google Play Developer account, which I don't have, but the app still needed a simple way to reach Android users.
Decision
Publish a signed APK on GitHub Releases, linked from the README and the site.
Tradeoff
Users must allow installs from unknown sources, and there are no store updates or reviews.
Alternatives
Google Play
