Fisor

Finance App

Fisor

Back to Work

Role

Product Designer & Developer

Company

Personal Project

Timeline

6 Months · 2025–2026

Team

Solo (Design + Development)

AndroidFinancePrivacyJetpack ComposeSolo Project
FigmaJetpack ComposeRoom DBSQLCipherMVVM

Overview

Fisor is a personal finance Android app I designed and built end-to-end — from first wireframe to Play Store release. It helps users track daily expenses, auto-categorize spending, and understand their financial patterns, all without an internet connection or surrendering data to a server.

The goal was to build something that felt calm and trustworthy in a space full of cluttered, ad-heavy, privacy-violating alternatives. A fully documented token-based design system was built alongside — every color, spacing value, and typography style has a semantic name, with no raw hex values anywhere in the codebase.

"I want to see where my money goes — not explain myself to an app that sells my data." — Target user insight

The Challenge

Most expense trackers in India are either too complex, require bank account linking, push notifications constantly, or monetize through ads. Users feel like they're giving up more than they're gaining.

Three specific problems drove the design: Privacy — leading apps require bank login or collect transaction data for third-party analytics, causing users with financial anxiety to avoid them entirely. Friction — logging a transaction should take under 5 seconds, but most apps have 4–6 steps before you can save anything. Clutter — dashboards are packed with charts, predictions, and tips nobody asked for, making it hard to see what actually matters.

Building the app solo also meant navigating hard interaction problems: swipe-to-edit and swipe-to-delete gestures were invisible with no affordance. SwipeToDismissBox was intercepting vertical scroll events, triggering the edit modal when users tried to scroll. And the category detail screen was blinking visibly on every navigation — a broken first impression for a core feature.

The Solution

Every screen was built around a single question: does this help users understand their money faster?

Key features shipped: Quick transaction entry in under 5 seconds (amount, merchant, category → Save). Auto-categorization rules — set "Swiggy → Food" once and every future transaction is sorted automatically. Dashboard with Day / Week / Month / Year segments and period-aware charts. Categories screen with monthly bar chart and transaction drill-down. PIN + Biometric lock with AES-256 encrypted local database (Room + SQLCipher). CSV export — your data, your format, no lock-in.

Design challenges solved: A one-time swipe hint animation on first launch (stored in SharedPreferences, never repeated) made the gesture affordance discoverable without being intrusive. A custom pointer input modifier detecting scroll direction fixed the gesture conflict — vertical movement snaps dismiss state back to Settled without consuming the scroll event. Wrapping the category data Flow in remember(catName) eliminated the recomposition blink entirely.

Tech stack: Jetpack Compose · MVVM + StateFlow · Room + SQLCipher · Vico charts · WorkManager · BiometricPrompt · Compose Navigation.

Outcome

Shipped from concept to Play Store in 6 months — designed, built, and published by one person learning Android development along the way.

100% offline with zero network permission required. Zero third-party SDKs or analytics. v1.0 live on Google Play Store.

Key learnings: Design systems pay for themselves — every UI change after building the token system was a single edit, not a hunt-and-replace across 20 files. Simplicity is harder than complexity — every feature cut was the right call. Building what you design changes how you design — implementing my own designs surfaced gesture conflicts and recomposition bugs invisible in Figma. Privacy is a feature, not a policy — users trust Fisor because it literally cannot collect their data.