Inspiration
What would make budgeting feel less like homework—and more like something you actually want to come back to?
That’s the idea behind Truffle. I wanted to build something for people who want to get better with money but find budgeting overwhelming, time-consuming, or simply hard to stick with.
ASIC Moneysmart’s 2026 research found that 81% of Gen Z Australians aged 18–28 see barriers to becoming more confident managing their finances, including feeling overwhelmed and not knowing where to start.
I wanted to help break down some of those barriers in two ways: reduce the effort of recording everyday spending, and make progress feel rewarding.
That became Truffle: a budgeting app with AI capture to handle the tedious part, and Bubbles—a little piggy companion—to bring some personality and encouragement along the way.
What it does
Truffle makes budgeting easy and fun by connecting everyday transactions to goals, achievements, and an interactive mascot Bubbles.
Record spending without all the typing. Hold the voice button and say, “Coffee five dollars this morning,” or take a photo of a receipt. AI prepares the transaction details, including the amount and suggested category, for you to review and save. Processing happens in the background, and a OneSignal notification lets you know when the results are ready.
See where your money is going. Category budgets and spending insights help you keep track of your spending. Savings jars give that progress a purpose: allocate savings towards a goal and watch it grow.
Give yourself something to celebrate. Recording transactions and reaching budgeting and savings milestones earn gold coins and unlock achievements. Spend those coins on dressing up Bubbles and make her the coolest piggy in town.
How we built it
I built Truffle in Flutter and Dart, with a shared codebase for iOS and Android. The core ledger is offline-first, using Drift and an encrypted SQLite database for local transaction and budget storage. Supabase provides authentication and Edge Functions for online AI capture processing, which uses OpenRouter under the hood.
The capture experience connects camera or microphone input to a reviewable transaction. Rather than making users wait on a loading screen, background processing and OneSignal notifications let them leave and return when their capture is ready. RevenueCat manages the subscription integration for Truffle Plus, which includes higher allowances for smart captures each month.
For Bubbles, I used Rive and a shared character renderer so that equipped accessories appear consistently across the app.
The aim was to connect these pieces into one experience: capture a purchase, understand your spending, make progress, and enjoy a small reward.
Challenges we ran into
One challenge was making AI capture feel simple without taking control away from the user. Preparing transaction details is only part of the experience; users also need to understand when processing is happening, know when the result is ready, and have a clear opportunity to review it before saving. If they prefer doing things manually, the app works fully offline and AI buttons can be hidden in the settings.
Another was making the rewards system consistent underneath its playful appearance. A failed transaction should not earn coins, retrying an action should not duplicate a reward, and lowering a savings target should not count as having saved more money. Financial updates and their reward events are recorded together, with milestone rules tied to actual progress.
Across all of this, the design challenge was balance: adding personality and playfulness without making the everyday budgeting tasks harder or more confusing to use.
Accomplishments that we're proud of
I’m most proud of how the practical and playful parts of Truffle work together.
AI capture isn’t just a standalone demonstration, and Bubbles isn’t just a mascot on the welcome screen. Recording a transaction contributes to progress; progress earns rewards; rewards let users personalise a companion they see throughout the app.
The costume interaction is a particular highlight for me. Seeing an accessory move from something you’re trying on to something Bubbles wears elsewhere makes a small achievement feel tangible.
I’m also proud of bringing together the budgeting tools, AI workflow, subscriptions, notifications, and reward system into an app that is now launching. There aren’t user-impact results to celebrate yet, but there is a product ready for people to try—and a clear idea of what I want it to help them do.
What we learned
Making something easy to start and making it worth returning to are two different design problems. Truffle needs to address both.
AI capture tackles the effort of entering information. Achievements and Bubbles give that effort a little recognition. Neither should get in the way of the main goal: helping someone understand and manage their money.
What's next for Truffle
Truffle is only just launching, so the next priority is learning from real use rather than assuming the design has already achieved its intended impact.
I want to understand where people hesitate, whether AI capture helps them finish recording transactions, and whether achievements give them a meaningful reason to return. That feedback will guide improvements to onboarding, capture, and the everyday budgeting experience.
I’d also like to expand Bubbles’ wardrobe and achievements, giving users more ways to personalise their companion and recognise progress. Longer-term, I plan to explore optional cross-device synchronisation while preserving the app’s local-first foundation.
The goal stays the same: budgeting that’s easier to start and more fun to stick with.
Built With
- flutter
- openrouter
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.