Finance App
Fisor — Track Spending, Stay In Control
A personal finance app I designed and built solo for India's UPI generation — because the moment cash disappeared, so did people's sense of what they were spending.

The Problem
Every month, millions of Indians open their banking app expecting one balance and find another. The gap between what they thought they spent and what they actually spent isn't a math error — it's a perception one.
India's rapid shift to UPI and net banking has been one of the most aggressive digital payment transitions in the world. It's made payments instant, borderless, and frictionless. But frictionless cuts both ways: when money moves without a physical object changing hands, it stops registering the way cash does.
I noticed this in my own life first — checking my balance and consistently finding it lower than I expected. Informal conversations with friends, relatives, and coworkers confirmed it wasn't just me. What confirmed the theory, though, was the exception: people who still paid mostly in cash didn't have this problem. Counting out physical notes forces a moment of awareness that a UPI tap never asks for.
The people struggling weren't bad with money — they were missing the friction that used to make spending felt. That became the problem I decided to solve: not budgeting, not saving tips — accountability. Helping people feel their digital spending the way they used to feel cash.
Building It: Manual Entry First
The first version of Fisor relied on manual expense entry — the simplest possible starting point. Testing it immediately surfaced a problem: the balance shown in Fisor didn't match the user's actual bank balance. People forgot to log transactions. The tool meant to increase awareness was itself easy to neglect.
Decision: rather than blame the user for not logging, I looked for a way to close the gap automatically — SMS and notification parsing that could detect a transaction and add an entry without the user lifting a finger.
Manual entry — amount, category, merchant, and transaction type

The Problem Behind the Problem
Once I started building the parsing system, a new constraint showed up: RBI-mandated transaction SMS in India are inconsistent by design. Most banks send an SMS reliably for credited amounts, but not consistently for debited ones — the exact transactions I most needed to catch. App notifications had the same gap.

Privacy by Design
This meant automated tracking could never be a complete replacement for manual entry — only a support system for it. That's a real constraint, not a solved problem, and it shaped how I framed the feature to users: automation reduces the burden, it doesn't remove it.
Parsing both SMS and notifications for the same transaction created a second issue — the same expense could get logged twice, once from each source. I solved this by matching on transaction ID, so if a transaction had already been recorded from one source, the second was silently discarded.
Reading a user's SMS inbox is a serious ask, and I didn't want to treat it casually. Fisor's parser checks each message against a transaction-format pattern in real time — if it doesn't match, it's discarded immediately and nothing is stored. No message content is retained, scanned in bulk, or kept around "just in case." The system was designed to touch as little as possible while still doing its job.
This wasn't a feature I was asked to build — it was a tradeoff I made deliberately, because I was asking users to trust me with something sensitive, and I wanted the design to earn that rather than assume it.
Privacy-first onboarding — no cloud, no accounts, no data sharing

The Final Product
Fisor ships with four core surfaces — a dashboard that shows your real balance and weekly spending pattern, a transaction list with full history, category-level spending breakdowns, and a settings screen for privacy controls and SMS parsing preferences.
Swipe or use arrows to browse
What's Live Today & What's Next
Fisor is live on the Google Play Store. It hasn't been promoted yet, so there's no growth data to point to — but I've had a group of internal and external testers using it daily. The early pattern was consistent: people struggled with manual entry in the first few days, then it became routine. What testers report now is that they're getting an accurate, specific picture of their spending for the first time — and using it to adjust upcoming decisions, not just review past ones.
The current version leans on manual entry, supported by SMS/notification parsing where the banking system allows it. The next step is deeper integration with payment platforms like Google Pay and PhonePe directly, to close the gap RBI's SMS limitations leave open — moving Fisor from "logs what it can detect" to "logs what actually happened," automatically.



