Inspiration We’ve all been there: standing at a checkout counter, promising ourselves we’ll log that expense later, but never actually doing it. Why? Because traditional expense trackers are boring and slow.

We wanted to remove this friction entirely. We asked ourselves: What if your expense tracker was smart enough to know you spent money before you even opened the app? That’s how FinWiz was born. We wanted to build an app where you don't serve the UI; the UI serves you.

What it does FinWiz is a Voice-First & Automated Personal Finance Assistant that simplifies expense tracking in two powerful ways:

🗣️ Voice Command: Users tap the mic and say, "300 for Coffee." The app automatically parses the text to extract the Amount (300), Category (Food/Coffee), and Title.

📩 SMS Auto-Detection: FinWiz reads your transaction SMS messages (e.g., "Rs. 500 debited for UPI..."). It uses Regex to filter out spam, extracts the amount and merchant, and auto-suggests the transaction. No typing required.

📊 Smart Visualization: Instead of boring lists, FinWiz uses floating, interactive 3D-style charts (Heatmaps, Pie Charts, Bar Graphs) that overlay the UI for a futuristic feel.

☁️ Cloud Sync: Powered by Supabase, data syncs in real-time across all devices.

🌗 Adaptive UI: The app features a persistent Dark/Light mode that saves your preference to the cloud.

How we built it We built FinWiz using a modern, scalable tech stack:

Frontend: We used Flutter to create a high-performance, cross-platform mobile experience. The UI relies heavily on Glassmorphism and custom stack animations.

Backend: We utilized Supabase for its robust PostgreSQL database and Authentication. We specifically used Supabase Realtime Streams to listen for database changes instantly.

Automation Logic (SMS & Voice):

Voice: Integrated speech_to_text for audio input.

SMS: We implemented a background service to read incoming SMS.

The Brain: We wrote custom Regex (Regular Expressions) logic in Dart to intelligently parse natural language (e.g., detecting currency symbols, "debited", "spent") to distinguish between real transactions and promotional spam.

State Management: We used Flutter’s StatefulWidget lifecycle methods combined with StreamBuilders to handle asynchronous data flow efficiently.

Challenges we ran into Parsing Unstructured Data: SMS formats vary by bank (HDFC, SBI, ICICI). Writing a universal Regex pattern that catches "Rs. 500 spent" AND "Debited INR 500" without picking up OTPs or spam was a significant algorithmic challenge.

The "Listening" Logic: Implementing the voice feature was tricky. We had to implement a toggle-based logic where the app listens, displays live feedback ("Hearing: ..."), and only processes the command when the user explicitly stops recording.

Floating UI Overflows: Creating the "Floating Charts" that slide in from the screen edges caused several pixel overflow errors. We had to master Stack and Positioned widgets to ensure the app looks perfect on screens of all sizes.

Accomplishments that we're proud of Zero-Input Tracking: We are proud that a user can open FinWiz and find their expenses already waiting for them via the SMS feature.

The "Iron Man" UI: The way the charts float over the interface with a glass-like blur effect makes finance look exciting rather than tedious.

Accuracy of Voice Parsing: Getting the app to correctly understand "1200 for Groceries" vs "Groceries 1200" was a big win.

What we learned Regex is a Superpower: We learned how to use Regular Expressions to turn messy text data (SMS/Voice) into structured financial data.

Supabase is powerful: We learned how to use Row Level Security (RLS) to secure user data and how to leverage Realtime subscriptions.

UX is King: We learned that reducing user clicks (from 5 taps to 0 taps with SMS) significantly improves the likelihood of a user actually using the app.

What's next for FinWiz Budget Alerts: Implementing push notifications to warn users when they exceed 90% of their monthly budget.

Biometric Security: Adding FaceID/Fingerprint lock for an extra layer of privacy.

PDF Export: allowing users to download monthly financial statements.

Built With

Share this project:

Updates