💡 Inspiration: The "College House" Dilemma
The idea for Expenso was born out of pure, unfiltered necessity—and a little bit of laziness. My friends and I are moving into a house right beside our college. Suddenly, we are staring down a chaotic web of shared expenses: rent, groceries, electricity, late-night food runs, and petrol.
I tried downloading traditional personal finance trackers to keep us organized. The problem? Friction. After a long day of classes and coding, nobody wants to open an app, navigate through five drop-down menus, select a category, and manually log a ₹200 expense. It felt like doing accounting homework. We realized that personal finance apps fail not because the analytics are bad, but because the data-entry is exhausting. We needed maximum financial intelligence with absolute zero effort. We needed an app built for people who are too "lazy" to track their money, but smart enough to know they have to.
🚀 What it does
Expenso is an autonomous, voice-native financial ecosystem. While it features a beautiful, fully functional visual dashboard for those who want to see their charts, its true superpower is Niva AI—our agentic financial proxy.
For the inherently lazy (like us), you never actually have to touch the UI. You simply tap one button and speak naturally: "I just spent ₹800 on pizza and split it with Saurav." Niva AI doesn't just transcribe this. It acts as an autonomous agent to log the ₹400 expense under the 'Food' category, automatically calculate the split, add a ₹400 debt entry tagged to your contact "Saurav", and instantly update your predictive Financial Health Score (0–100) on the dashboard. It also supports multi-currency conversions on the fly, local RAG-style queries such as "Am I spending more on petrol this month than last month?", and gamification features like daily streaks and "spending demon" boss battles to actually make saving money fun.
⚙️ How we built it
We built Expenso to be a production-ready, offline-first mobile application. The frontend uses Flutter (Dart) to deliver a fluid, 120hz cross-platform UI. The backend and state management rely on Supabase PostgreSQL for cloud synchronization, paired with Hive/SQLite to support an offline-first architecture.
For the voice experience, we used VAPI and Daily WebRTC to enable sub-500ms bidirectional audio streaming. The AI brain runs on Groq's ASIC platform using Llama-3 70B, supported by a custom ToolExecutor that maps natural language intents into strict JSON tool calls. When Niva speaks, she is not just responding conversationally—she is executing complex Dart CRUD operations such as convertAndAddExpense or addDebt directly on the local database in real time.
🚧 Challenges we ran into
One of the biggest challenges was agentic hallucination. Getting an LLM to accurately trigger database functions instead of generating conversational text required heavy prompt engineering and strict schema enforcement to ensure accuracy in expense logging and debt assignment.
Another challenge was state synchronization. Ensuring that the Flutter dashboard updated instantly when the voice agent executed background database commands required complex Provider-based state management.
Latency was also critical. Voice assistants feel ineffective if they take too long to respond. By leveraging Groq for fast inference and WebRTC for streaming, we were able to reduce response times to near real-time conversational levels.
🏆 Accomplishments that we're proud of
We successfully built a true "Zero-UI" experience, where the entire application can be used without interacting with the visual interface. Achieving multi-step intent execution—such as splitting a bill and logging an expense from a single voice command—feels seamless and intuitive.
We also developed a Financial Health Score engine that goes beyond static analytics by calculating a real-time score (0–100) based on spending consistency, budget adherence, and anomaly detection.
Additionally, we implemented zero-cost multi-currency support using the Frankfurter API, allowing real-time exchange rate conversions without relying on expensive paid services.
🧠 What we learned
We learned that UI itself can be friction, and that the best interface is often no interface at all. Voice interaction, when combined with agentic function-calling, fundamentally changes how users engage with software.
We also realized that LLMs are far more powerful as reasoning engines than simple chatbots. Treating Llama 3 as a logic router enabled us to unlock its full potential.
Most importantly, building a solution for a real problem we personally faced helped us make clearer architectural decisions and stay focused throughout development.
🔮 What's next for Expenso
Currently, Niva reacts to user input, but the next step is to make her proactive. If the system detects that a user is overspending in categories like groceries, Niva will send timely alerts before the situation worsens.
We also plan to expand into receipt intelligence, enabling users to scan receipts and have Niva automatically itemize, categorize, and split expenses among housemates.
Finally, we are exploring decentralized identity by minting the Financial Health Score onto lightweight blockchains like Base or Polygon, allowing users to own a verifiable and portable behavioral credit profile independent of traditional financial systems.
Built With
- flutter
- hive
- postgresql
- supabase
- vapi

Log in or sign up for Devpost to join the conversation.