Overview
FinBal came to us in the state most projects like this do: the team knew something wasn't working, but every function had a different theory about why.
We were brought in not to patch the symptom, but to rebuild the underlying flow: new instrumentation, a redesigned experience, and a technical foundation that could hold up as the product grew.
The Challenge
Personal finance apps built for Western markets do not map well to how money actually works in India. These were the gaps FinBal was built to close:
- Fixed deposits are deceptively complex: principal, tenure, compounding frequency, maturity, TDS, reinvestment options
- Virtual accounts (money mentally earmarked within one bank account) are invisible to most finance apps
- Shared expenses that do not fit a standard split model required custom reconciliation logic
- Apps Script execution time limits required batching API calls and caching frequently accessed ranges
Fixed deposits are the primary savings vehicle for most Indian households, but almost no consumer finance app models them correctly. FinBal tracks principal, compounding frequency, maturity dates, and TDS implications across every FD simultaneously.
Our Approach
The starting point was a list of every financial scenario in my own life that existing tools could not handle. That list became the product.
1. Map every real scenario first
Started by listing every financial situation in my own life that existing apps could not handle. This became the product requirements: not a formal document, but a list of real problems the system had to solve correctly.
2. Sheets as the transparent data layer
Google Sheets was chosen deliberately. It is transparent, auditable, and can be inspected or edited directly when needed. Apps Script sits on top handling business logic: net worth calculations, FD projections, virtual account reconciliation.
3. Dashboard designed for a five-second read
The most important numbers (total net worth, monthly surplus or deficit, outstanding shared balances) are visible without any clicking, in under three seconds on a standard connection.
The best tools often start as personal frustrations. Building FinBal for my own financial life meant every design decision was immediately testable. I was the user, so I knew exactly what was missing.
Results
FinBal now gives complete visibility into every corner of a personal financial life: FDs, virtual accounts, shared expenses, and net worth in one place.
- Complete personal finance visibility across bank accounts, FDs, virtual accounts, and shared expenses
- FD tracker accurately projects maturity values and flags upcoming maturities 30 days in advance
- Virtual account reconciliation eliminates the guesswork of how much can actually be spent
- Shared expense module handles complex multi-party scenarios that standard split apps cannot
- Dashboard loads key metrics in under 3 seconds on a standard connection
Key Takeaways
FinBal changed how I think about the relationship between product and data.
Build for yourself first. Personal stake makes every design decision clearer. I was the user, so I knew exactly what was missing. That removed weeks of research and made every tradeoff obvious.
Transparency is a feature. Choosing Google Sheets as the data layer was a deliberate product decision. The user can always open the sheet, inspect the numbers, and understand exactly where a figure comes from. No black box.
Performance matters even in spreadsheet tools. Apps Script execution limits forced a discipline around batching and caching that most frontend developers never have to think about. It made the dashboard faster and more reliable.
“FinBal taught me that Google Sheets is a vastly underrated application platform when paired with Apps Script. For data-heavy personal tools, it offers flexibility and transparency that purpose-built databases often cannot match.
Neeraj Raisinghani, Builder, FinBal