← /work/affora
# 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.

role
solo · product + full-stack
stack
flutter · nestjs · postgres
timeline
2026 · in development
status
android · closed testing
9:41●●●
Can I buy this?
What happens if I spend this.
amount
₹4,500
wireless headphones
safe-to-spend
₹812₹655
Emergency Funddelayed ~5 days
✓ Safe purchase
Reality Score 78 · within today's budget
can i buy this?
9:41●●●
Good morning, Hakeem
thu · 18th · 13 days left
₹398
safe to spend today
₹11,958
reality
13
days left
₹2,140
spent
● turning point74 days
SBI EMI ends Aug 2026
+₹7,938 / mo freed
home · safe-to-spend
9:41●●●
Upcoming Freedom
When does this end?
● soonest payoff
SBI EMI
ends in 74 days · Aug 2026
+₹7,938
freed per month
safe-to-spend uplift
₹398
₹663
per day, once the EMI clears
turning points
affora · v1.0 · android
placeholder ui · real screenshots soon
#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
read the full privacy policy →
// 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
32
shipped features
14
local sqlite tables
0
READ_SMS permissions
100%
offline-capable