Inspiration
It's so hard to keep track of where our money goes, especially when it comes to small day to day expenses. We wanted to solve that! So meet Wisely.
What it does
Wisely allows users to set goals and track progress. Goals can be created, edited, and deleted. In order for Wisely to track goal progress, we ask users to connect their bank through plaid (currently sandbox). The transactions are then avaliable to users to view under the transactions tab and with Plaids provided categories, goals are updated accordingly.
How we built it
Frontend: React
Backend: Node.js & Express
Database: SQLite with Prisma ORM
APIs and LLM: Plaid, Ollama
APIs & Integrations: Plaid for bank data, Ollama for local LLM insights
Our architecture ensures secure data handling while enabling real-time goal tracking and AI-driven analysis.
Challenges we ran into
- plaid Integration: Getting the Link component to work smoothly and handle token exchanges correctly was a major challenge.
- real-time sync: Making sure transaction updates from Plaid reflected instantly in goal progress required careful backend event handling and schema tuning.
- AI Insights: Prompt design and optimization for meaningful financial summaries took multiple iterations.
Accomplishments that we're proud of
- successfully connected Plaid’s sandbox accounts and fetched live test transactions
- built a full CRUD goal tracking system tied to user transaction data
- integrated a local AI assistant that interprets spending patterns and provides recommendations
- created a clean and functional dashboard that visualizes user goals and progress dynamically
What we learned
- how to integrate third-party APIs (Plaid) securely with webhooks
- how to use Prisma ORM effectively with complex relational data models-
- prompt engineering basics to make LLMs context-aware and domain-specific
- the importance of data privacy and UX simplicity in fintech design
What's next for Wisely
- go from plaid sandbox to development/production for real bank accounts/users
- responsive smart goals
- change db from sqlite to postgresql for user scalability
- categorizing transactions more accurately
Built With
- express.js
- node.js
- ollama
- plaid
- prisma
- react
- sqlite

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