# case · 01 / 08 · 2026
● beta · closed testingmobilefintechoffline-first
Affora — a money app that shows what's actually yours to spend today.
Most finance apps show your account balance. Affora shows your Reality Balance— income minus every committed obligation — then divides what's left by the days remaining to give you one honest number: Safe-to-Spend Today.
#01 · the problem
// the insight
People don't overspend because they don't know. They don't feel the consequence until it's too late.
The goal is to move the user from salary → spend → regret to salary → allocate → track → save → grow.
One honest number, refreshed daily — not a monthly report that arrives after the damage is done.
// constraints
- offline-firstfull functionality with no internet
- no READ_SMSnotification listener, parsed on-device
- privacy-firstdata lives on the device by default
- android-firstindia's UPI-heavy market
- additive pronothing free ever becomes paid
#02 · the core loop
Three questions. Answered before you spend.
01
“what can I spend today?”
Safe-to-Spend
Free money remaining ÷ days left in the month, shrinking ₹1-for-₹1 as you spend. A daily anchor instead of monthly regret.
02
“what happens if I spend this?”
Purchase Consequences
Leads with the consequence: Safe-to-Spend before → after, the goal it delays, debt impact, and a plain verdict — backed by a Reality Score.
03
“when does this end?”
Turning Points
Surfaces the soonest debt payoff, the monthly money it frees, and your projected Safe-to-Spend uplift. The emotional hook of the app.
#03 · system design
Offline-first. The device is the source of truth.
flutter client
· go_router · riverpod
· drift / sqlite (truth)
· material-3 theme
on-device
capture
· notification listener
· message parser
· merchant normalizer
logic
· reality balance
· safe-to-spend
· reality score
https · jwt
nestjs api
· auth · sync
· household / couples
· render-hosted
postgres
· prisma · cloud mirror
· uid-based upsert
· restore on reinstall
on-device parsing
Bank & UPI notifications are read on-device and parsed locally — amount, merchant, date, bank. No READ_SMS, no message contents leave the phone.
local-first sync
SQLite is the source of truth; the UI never blocks on network. A debounced SyncService mirrors to Postgres for durability and cross-device restore.
multi-user where it counts
Couples mode is the one genuinely multi-user feature — households, shared goals and a joint dashboard reconcile by uid so edits survive a reinstall.
#04 · privacy & monetization
// privacy-first by design
Your money data lives on your device.
- ✓No READ_SMS permission, ever
- ✓Notifications parsed locally — contents never leave the phone
- ✓Cloud sync is opt-in, tied to your own Google login
- ✓No ads, no data selling, no third-party trackers
// additive, never extractive
Affora Pro · ₹99/mo
The free app is fully usable, forever. Pro only adds new capability — it never locks away the core.
free forever
· reality balance
· safe-to-spend
· auto-capture
· smart coach
pro adds
· couples mode
· cashflow forecast
· net-worth tracker
· ai coach · soon
#05 · by the numbers