Inspiration
We realized that most financial apps are good with numbers but terrible with people. They tell you what you spent, but have no clue who you are. Our inspiration was simple: What if your bank app actually understood your lifestyle? We wanted to build a financial assistant that gives advice that fits your personality, not just your budget.
What it does
Our project, built on our existing Savvy platform, introduces the "Persona" feature. It securely analyzes your spending habits to discover your unique lifestyle profile—are you a "Mindful Creative," an "Urban Explorer," or something else?
Once your Persona is created, it makes our AI chatbot incredibly smart. Instead of generic advice, the chatbot uses your Persona to give you financial tips and suggestions that are actually relevant to your life and interests. You can even toggle this feature on or off in the chat for full control.
How we built it
We started with our existing AI financial platform, which already aggregates a user's complete financial picture—transactions, assets, net worth, and more.
Using this rich financial data, we first generate a foundational Persona profile, extracting key entities like brands, restaurants, and spending categories.
To add cultural depth, we send these entities to the Qloo API. This enriches the Persona by mapping the user's spending to a wider world of correlated interests in music, film, and fashion.
This enriched Persona is then fed to our LLM-powered chatbot, allowing it to provide deeply personalized, context-aware advice that feels like it's coming from a personal advisor who truly knows you.
Crucially, the user is in full control and can enable or disable the Persona-aware feature within the chat at any time.
Challenges we ran into
Our biggest hurdle was prompt engineering. Getting our LLM model to consistently return a clean, structured JSON object for the Persona without any extra chatter took a lot of tweaking.
Another challenge was getting the most out of the Qloo API; we had to learn how to move beyond simple queries to use their insights endpoint effectively, which required chaining a search call with an insights call to get the richest data.
We also had to refactor significant parts of our backend to be asynchronous to handle the multiple API calls without blocking the server.
Accomplishments that we're proud of
That first moment when we saw a dry list of bank transactions transform into a scarily accurate and insightful "Persona" profile was a huge "wow" moment for us. It felt like we had unlocked a new level of understanding.
We're also really proud of how seamlessly the Persona context enhances the chatbot. It went from a simple Q&A bot to an advisor that feels genuinely empathetic and aware.
What we learned
The biggest lesson was the power of combining structured data with creative AI. The Qloo API provided the "what" (the cultural connections), but the Gemini LLM provided the "so what?" (the narrative that makes the data meaningful).
We learned that the magic happens when you use an LLM not just to answer questions, but to synthesize and create.
On a technical level, this project was a deep dive into asynchronous programming and the art of crafting effective, multi-step API orchestrations.
What's next for Savvy's "Persona" feature
This is just the beginning. The next logical step is to build "Lifestyle Sidegrades"—proactive recommendations for more affordable alternatives that still perfectly match your Persona's taste profile.
We also plan to allow users to set financial goals based on their aspirational personas (e.g., "Help me build the habits of a 'Global Nomad'").
The ultimate vision is to create a financial platform that helps you not only manage your money but also live your desired life more intentionally.
Built With
- alembic
- docker
- fastapi
- fi
- google-gemini-api
- heroku
- langchain
- mcp
- nextjs
- node.js
- postgresql
- pydantic
- python
- qloo-api
- sqlalchemy
Log in or sign up for Devpost to join the conversation.