DEV Community

Cover image for FinPal - I Built a Finance App You Can Actually Ask Questions To
Tejas Patil
Tejas Patil

Posted on

FinPal - I Built a Finance App You Can Actually Ask Questions To

DEV Weekend Challenge: Passion Edition Submission

This is a submission for Weekend Challenge: Passion Edition

What I Built

India runs on UPI now - small, constant, invisible payments for chai, autos, groceries, rent splits, all day, every day. What nobody's built is a way to actually ask your money anything. Not another dashboard you have to squint at - an app you can talk to. FinPal reads your real UPI and bank transaction history (GPay, PhonePe, CSV, PDF exports), auto-categorizes it with a hybrid rules-plus-Gemini engine, and now lets you ask it questions in plain English and get a real answer, grounded in your actual spending.

Why This

I use UPI dozens of times a day, and so does basically everyone I know - that's not an exaggeration in India anymore, it's just how money moves now. NPCI's own numbers make the scale hard to overstate: UPI processed 23.2 billion transactions worth ₹29.9 lakh crore in a single month (May 2026) - an average of 737.79 million transactions every day - and over 500 million people now use it regularly, most of it in small, routine purchases averaging around ₹1,300 a transaction. That's the part that gets lost: when your financial life is made of hundreds of tiny, scattered UPI pings instead of a handful of big bank entries, "where did my money go" stops being a simple question. None of the apps handling those payments were built to answer it - they show you a list, not an explanation. I built FinPal because I wanted the app itself to be able to tell me, the way a person would if you just asked them.

The Product

FinPal treats AI as infrastructure, not decoration. The hybrid categorization engine keeps things fast and cheap for the transactions it already recognizes, and only calls on Gemini for the genuinely ambiguous ones - the cryptic UPI merchant strings every Indian user has seen and ignored. On top of that foundation, I added Ask FinPal: a natural-language chat layer that answers real questions against your real transaction data, not canned responses.


Demo

Instead of scrolling a transaction list trying to piece it together yourself, you just ask. Type something like "How much did I spend on food delivery last month, and is that more than usual?" or "Can I afford a ₹15,000 trip next month if I keep spending like this?" - Ask FinPal answers directly, reasoning over your actual categorized transaction history instead of giving generic financial-tips-style advice.

Live

Try it: https://finpal.tejasfolio.in/

In under a minute:

  1. Open the dashboard and load a sample statement (or your own CSV/PDF export).
  2. Watch transactions auto-categorize - rule engine first, Gemini fallback for anything ambiguous.
  3. Check the income/expense breakdown and SIP/FD simulator update live.
  4. Open Ask FinPal and type a real question about the data you just loaded - no canned demo script, it reasons over what's actually there.

Code

Repo: https://github.com/Tejas164321/FinPal


How I Built It

Frontend: React 18 + TypeScript on Vite, TailwindCSS 3 with a custom purple-gradient/glassmorphism theme, Radix UI primitives wrapped by shadcn/ui for accessible components, Framer Motion for transitions, Recharts for the dashboard visualizations, React Query for data/caching, React Hook Form + Zod for validated inputs, react-dropzone for uploads, date-fns, sonner for toasts.

Backend: Node.js + Express 4.18. Multer handles multipart uploads; csv-parser, pdf-parse, and xlsx normalize wildly inconsistent Indian bank/UPI export formats into one internal schema.

AI layer: Categorization is rule-based first - heuristics tuned on real UPI merchant-string patterns - escalating to Google Gemini only for what the rules can't confidently place. Ask FinPal builds a compact structured summary of the user's categorized transaction data (not raw dumps - token budget matters) and passes it to Gemini alongside the question, so answers are grounded in the person's actual numbers instead of generic financial advice.

Why the hybrid approach matters: most AI finance tools go all-in on the LLM for everything, which is slow, costs more than it needs to, and occasionally gets confidently wrong about things a simple lookup would nail. Splitting the load means the fast path stays fast, and Gemini only gets pulled in where it actually adds value - ambiguous categorization, and now open-ended natural-language questions that no rule engine could ever anticipate.


Prize Category: Best Use of Google AI

Gemini isn't bolted on as a chatbot widget - it's doing two distinct jobs in FinPal. First, as a categorization fallback, it only fires for transactions the rule engine can't confidently place, so it's doing targeted, cost-aware work rather than processing every row. Second, in Ask FinPal, it's given a compact, structured summary of the user's own categorized spending - not a raw transaction dump - and asked to reason over it directly, so answers like "is that more than usual?" are grounded in real computed averages rather than generic advice. That combination - cheap-and-fast where possible, Gemini only where genuinely needed - is the core design decision behind the whole app.


Closing

I built FinPal because the money moving through my life - and everyone else's around me - got faster and more constant than any of the apps meant to explain it. Hundreds of millions of us are running our financial lives through a payment rail that was built for speed, not clarity. FinPal is my attempt to close that gap: not another list of transactions, but an app you can actually ask.


Sources

Top comments (2)

Collapse
 
tejas164321 profile image
Tejas Patil

Thanks for checking out FinPal!

I'd love to hear your suggestions or ideas for improving the app. Every bit of feedback helps!

Collapse
 
sopanxp_a46f3e8b0842bf468 profile image
Sopanxp

It's a usefull app for the finance and it's a. Best use of ai in finance