Back to Work

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.

Fisor — Track Spending, Stay In Control
RoleSolo — Design, Research & Development
CompanyPersonal Project
Timeline2 Months, concept to Play Store launch
TeamSolo
Tool StackFigma, Jetpack Compose, Room DB, SQLCipher
AndroidFinanceUPIPrivacySolo ProjectFigmaJetpack ComposeRoom DBSQLCipher
01

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 errorit'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 firstchecking 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 moneythey 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.

02

Building It: Manual Entry First

The first version of Fisor relied on manual expense entrythe 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 automaticallySMS 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

Fisor Add Transaction screen with category dropdown
03

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 onesthe exact transactions I most needed to catch. App notifications had the same gap.

Brainstorming diagram — evaluating transaction entry approaches: notification parsing, manual entry, SMS detection, and payment integration
Evaluating transaction entry approaches — manual entry emerged as the base, with SMS and notifications as support
04

Privacy by Design

This meant automated tracking could never be a complete replacement for manual entryonly 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 issuethe 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 timeif 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 buildit 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

Fisor onboarding screen — 100% offline, 100% private
05

The Final Product

Fisor ships with four core surfacesa 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.

Fisor dashboard — balance, weekly chart, category spending
Fisor transactions list
Fisor categories with spending breakdown
Fisor settings screen

Swipe or use arrows to browse

06

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 tobut 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 openmoving Fisor from "logs what it can detect" to "logs what actually happened," automatically.