Inspiration

A lot of students have their finances spread across several apps. Their banking app shows transactions, stock app shows investments, and budgeting happens in a spreadsheet or not at all. Most finance tools also expect you to already know what you're looking at. We wanted one place that pulls it all together and lets you ask a question in plain English, even out loud, and get an answer based on your own data.

What it does

Dashboard: net worth, monthly spending, investments and budget status. Each card opens its full page. Spending: a category breakdown, monthly trends, and the transactions behind every category. Budget: set limits per category and drag transactions between categories. A Budget Analysis grades the month A to F, flags unusual charges, and suggests limits that fit your average income, apply suggestions from the assistant to edit your budget. Net Worth and Accounts: assets and debts across all accounts. You can add manual accounts, and lock, hide or set a primary account. Investments: portfolio value priced with live market data. The Stock Check app shows market news ranked by importance, and company search with price history charts pulled live. AI assistant: a chat panel that sits next to every page. It can, answer questions about your data and draw charts in the conversation, take you to any page, propose changes, such as creating a budget, recategorizing a charge, adding a note or updating your profile. It never changes anything without your confirmation. Everything you can do in the app, you can also ask the assistant to do. Voice: talk to the assistant and hear it answer, no need to even type to the assistant Planner: choose a Retirement, Debt Payoff or Investment plan answer questions. Retirement; your current age, the age you want to retire and the monthly income you want then. Debt Payoff; any extra monthly payment and a strategy Investment; your timeline, monthly contribution and risk. Our Ai assistan reads your own spending, debts, savings, investments and net worth to write a personalized plan with alternative scenarios. The plan keeps your actual numbers separate from its assumptions, and it tells you what information is missing instead of guessing.

How we built it

Frontend: React, TypeScript and Vite, with Recharts for charts, smart layout resizing Backend: Python and FastAPI. One finance module loads all data from accounts so agent and methods can access for the budgets and summaries. Auth and user data: Supabase handles email login. Postgres store each user's own budgets, edits, manual accounts and settings. AI: Google Gemini with tool calling. The assistant reads data, generates chart specs and returns "proposals" that the user confirms. Voice: ElevenLabs for both speech-to-text and text-to-speech. Market data: Yahoo Finance through yfinance, cached briefly on the server. Hosting: Godaddy for the domain, Vercel, with the frontend at centsible.lol and the backend at api.centsible.lol.

Challenges we ran into

Safety based on the ai ingesting and dealing with your data, so we decided to split its tools into read tools and propose. The proposal tools only return a request, and the user confirms it in the chat. Voice input across browsers. The browser's built in speech recognition failed with network errors and bugs, we switched to recording audio ourselves and transcribing it on the server with ElevenLabs as the api. Live market data is the only thing we don't control. We made the errors based off of this data be due to the api not the app itself.

Accomplishments that we're proud of

The assistant can do everything the app can do, and nothing happens without the user's confirmation. A full stack app with auth, user data and live stock market prices, deployed to a domain within the hackathon. The budget grading and suggestions are clear, based on your experiences. The numbers you see can be explained and then your budget can be edited as a result

What we learned

How to design tool calling for an LLM so it can be extremely useful in the context of what the app can do Supabase auth, JWT verification, deploying on vercel, hosting a domain React (Css Html Typescript), Python with fast api Team level coordination, planning a system then executing our vision in a short time span

What's next for Centsible

Real bank connections through plaid, right now we are using demo or mock data but a simple replacement for an api could turn this app production ready for users The agent should be able to iterate its knowledge of a user as usage increases, increasing its context and learning more about you as you use chat more and more with the agents

Built With

Share this project:

Updates

Submission history