-
-
A GUI that showcases the digital companion.
-
Showcases the goals, emergency fund, the balance and the streak.
-
Showcases the progress to the next goal.
-
Shows the recent transactions as well as the emotional state of the companion.
-
Showcasing the AI chatbot incorporated into the companion.
-
Showcases the plethora of tips that can be used to further learn financial wellbeing.
-
Physical interface for Mochi
🐾 Mochi — Your Financial Wellbeing Companion
What if taking care of your finances felt like taking care of a pet?
Mochi is a physical and digital companion that reacts to your financial decisions. Instead of rewarding you simply for having more money, Mochi encourages healthier financial habits like saving consistently, preparing for unexpected expenses, and working toward goals.
Built at VTHacks 14.
💡 Inspiration
Most financial apps show you charts, balances, and numbers, but knowing your balance doesn't necessarily make managing money feel any easier.
We wanted to experiment with a different idea: making financial wellbeing feel tangible.
Mochi turns financial decisions into something you can see and interact with. Save toward a goal and Mochi becomes happier. Build enough of an emergency buffer to handle an unexpected expense and Mochi stays healthy. Ignore financial responsibilities and Mochi reacts.
The goal isn't to make more money = happier pet. It's to encourage better habits regardless of how much money someone has.
🐱 What Mochi Does
Mochi exists both as an iPhone app and as a physical Raspberry Pi pet.
You can:
- Set and work toward savings goals
- Choose whether to buy something, save the money, or wait
- Handle simulated unexpected expenses
- Track checking and savings balances
- Complete financial to-dos and essentials
- Watch Mochi's mood, needs, energy, and savings score change
- Pick up, move, and interact with the physical Mochi
For example, Mochi might want a $25 pair of headphones.
You can buy them, save the $25 instead, or wait.
Choosing to save transfers the simulated money from Checking to Savings through Capital One's Nessie API, moves you closer to your savings goal, and improves Mochi's state.
Later, an unexpected expense might appear. If you've built enough savings to cover it, Mochi is okay. If you haven't, Mochi's mood and needs take a hit.
🧠 Our Product Philosophy
One of the most important decisions we made was not tying Mochi's happiness directly to wealth.
Someone shouldn't have a happier pet simply because they have a larger bank balance.
Instead, Mochi reacts to behaviors:
Saving consistently → good
Preparing for emergencies → good
Buying something you want → not automatically bad
Taking care of essentials → good
Having less money → not a punishment
We wanted Mochi to encourage financial wellbeing without turning personal finance into a game about becoming richer.
🛠 How We Built It
Mochi has three main pieces:
Capital One Nessie API
↕
FastAPI Backend + SQLite
↕
┌────┴────┐
↓ ↓
iPhone Physical Mochi
SwiftUI Raspberry Pi
The backend acts as the center of the system.
The iPhone app and physical Mochi both communicate with the backend over HTTPS. The backend manages Mochi's state, financial decisions, goals, and simulated banking activity through Capital One's Nessie API.
Tech Stack
Mobile
- Swift
- SwiftUI
Backend
- Python
- FastAPI
- SQLite
Finance
- Capital One Nessie API
Hardware
- Raspberry Pi 4B
- RGB LCD
- Motion sensors
- Touch input
- Buttons
- Buzzer
Infrastructure
- Vultr
- Caddy
- HTTPS
📱 + 🐾 Physical and Digital Mochi
One of our favorite parts of the project was taking Mochi beyond the screen.
The Raspberry Pi version displays the same pet state as the mobile application and can respond to physical interactions such as being picked up, shaken, or moved.
Financial events change Mochi through the backend, while physical interactions let the pet feel more alive without affecting the user's finances.
🚀 Demo Flow
- Open Mochi and see its mood, needs, energy, balances, and current savings goal.
- Mochi asks for something it wants.
- Choose Buy, Save, or Later.
- The decision updates Mochi and, when appropriate, creates simulated banking activity through Nessie.
- An unexpected expense appears.
- Mochi checks whether your savings can absorb it.
- The updated state appears on both the iPhone app and physical Mochi.
💪 Challenges We Ran Into
The biggest challenge was connecting several very different pieces into one working product during a hackathon.
We weren't just building an app. We had to make a SwiftUI frontend, Python backend, simulated banking system, cloud deployment, and physical Raspberry Pi communicate reliably with each other.
Working with Nessie's sandbox also required some creative handling. Because its sandbox doesn't behave exactly like a real banking system, we built our own ledger logic around it to keep balances consistent.
Getting the physical Mochi and mobile experience to reflect the same state added another layer of complexity.
🏆 What We're Proud Of
We're proud that Mochi became more than a UI prototype.
By the end of the hackathon, we had a system where a financial decision on the mobile app could travel through our backend, interact with a simulated bank, change Mochi's state, and be reflected by a physical device.
More importantly, we built the product around an idea we cared about: financial wellbeing shouldn't just be represented by a number in a bank account.
📚 What We Learned
Mochi taught us how quickly a simple product idea can become a systems problem.
We learned a lot about connecting mobile development, APIs, backend state, cloud infrastructure, and hardware under a tight deadline.
It also forced us to think beyond whether something technically worked and ask whether the way we designed the product actually supported the behavior we wanted to encourage.
🔮 What's Next
With more time, we'd like to explore:
- Real financial-data integrations
- Multiple pets and user accounts
- Personalized savings goals
- Smarter financial challenges and recommendations
- More physical interactions with Mochi
- Better long-term progression without turning financial wellbeing into a wealth competition
Our bigger goal is to explore whether financial tools can feel more personal, understandable, and motivating without making money itself the game.
📂 Repository Structure
Healthbuddy/ SwiftUI iPhone application
files/ FastAPI backend, database, rules, and Nessie integration
pi/ Raspberry Pi client and hardware code
deploy/ Vultr deployment and Caddy configuration
⚠️ Hackathon Prototype
Mochi was built as a hackathon prototype using Capital One's simulated Nessie banking environment. No real bank accounts or money are involved.
Log in or sign up for Devpost to join the conversation.