Inspiration
Most people are not bad with money because they are careless. They are bad with money because nobody ever showed them how.
Think about how many people invest in the stock market without really understanding what they are buying. They pick a name they recognize. They panic when the number drops. They have no plan, just instinct and hope. And that is not just an investing problem. That is a financial literacy problem that shows up everywhere: rent, credit cards, savings, debt.
3.5 billion people globally have no access to a financial advisor. The apps built to help them only show what already happened. They hand you a report of last month and call it guidance. Nobody tells you what to do next.
That gap is what inspired FinPilot AI. One question started it all during our brainstorming session:
What if an AI could look at your finances and tell you exactly what to do next month? Not a generic tip. Not a calculator. A real, plain-English plan built just for you.
We could not let that question go. So we built the answer.
What it does
FinPilot AI is a personal financial advisor that anyone can use, on their phone, for free, without a degree in finance or a meeting with a banker.
You upload your bank statement or transaction CSV. FinPilot reads it, understands it, and gives you back a real financial plan in plain English. Specific. Personalized. Actionable.
The core loop works in five steps:
- Upload a transaction CSV or bank statement
- FinPilot automatically categorizes every transaction into one of 8 spending categories using a Naive Bayes model trained on real transaction data
- The app calculates 4 financial health metrics and scores each one GREEN, YELLOW or RED against benchmarks from 32,424 real users across 5 global regions
$$\text{Savings Rate} = \frac{\text{Monthly Savings}} {\text{Monthly Income}} \times 100$$
$$\text{Emergency Fund Target} = \text{Monthly Expenses} \times 3$$
- Claude AI reads those metrics and writes a 5 part plain-English financial plan personalized to your situation and your goals
- You see your spending breakdown, goal timeline, and plan in one dashboard
The What If feature is where it gets interesting. You type: What if I cut my dining budget by $150 next month? FinPilot recalculates your entire plan and shows exactly how many months sooner you reach your goal.
How we built it
We came into this hackathon from different backgrounds. One of us had spent years in AML compliance and healthcare analytics, working with financial data at scale. The other brought technical implementation skills. We brainstormed a lot of ideas before landing on personal finance because the problem felt the most universal. Everyone has a budget. Almost nobody has a plan.
The data strategy came first. We pulled the Kaggle Personal Finance ML Dataset with 32,424 users across Africa, Asia, Europe, North America and Other. Running the numbers on this dataset shaped every decision we made afterward:
| Finding | Impact on FinPilot |
|---|---|
| Median savings rate: 5.0% | Set GREEN threshold at 7.5% |
| 40.1% of users carry loans | Built debt payoff planning |
| 50.7% have poor credit below 580 | Defined who we are building for |
| Average monthly surplus: $1,608 | Set surplus benchmark |
The tech stack was chosen for speed and credibility:
- Naive Bayes (scikit-learn) for transaction categorization
- pandas and numpy for financial metrics calculation
- Claude API for plain-English plan generation
- FastAPI for the backend pipeline
- Streamlit and Plotly for the dashboard
- SQLite for monthly snapshot logging
Challenges we ran into
This is where the real story lives.
Early in the build, one of us wrote a Python script from scratch to generate synthetic transaction data. It worked. 500 rows of realistic bank transactions with merchant names, variable amounts, and real date patterns. We were proud of it. We understood every single line.
Including this one, which took twenty minutes to understand:
np.random.seed(42)
Why fix a random seed? So results are reproducible. So the demo gives the same output every time. So the experiment can be repeated. Once that clicked, everything else started to make sense.
Then our teammate found a Kaggle dataset that already had transaction level detail. Real merchant names. Real spending categories. Real row by row data built from actual behavior.
Everything our synthesized script had generated, but more diverse, more realistic, and more credible for training the model.
He was right. It was better.
We had spent days building something we were proud of and the right call was to set it aside. We kept the script in our GitHub repository because the learning was real even when the output became unnecessary. But for the model and the demo we used the real data.
Building something and letting it go when something better exists is not failure. It is good engineering.
That pivot made the project stronger. It also cost us time we did not have. Rebuilding the pipeline around two Kaggle datasets instead of one took longer than expected and pushed the dashboard polish into the final hours of the hackathon.
Accomplishments that we're proud of
The pipeline works end to end. Upload a CSV, get a real personalized financial plan powered by Claude AI. That loop is clean and it works every time.
The benchmarks are data driven. Every GREEN, YELLOW and RED threshold in FinPilot comes from analyzing 32,424 real users, not from guessing what a healthy savings rate should be. That credibility matters.
The What If engine. Watching someone type a scenario and seeing their goal timeline update in real time is the moment the product feels real. We are proud of that feature.
The learning. One member of our team wrote their first Python script during this hackathon. Not a tutorial script. A real one that generates data, handles loops, uses libraries, and produces output that powers an actual ML pipeline. That is not a small thing.
The pivot. We built something, realized there was something better, and made the harder choice. That decision made FinPilot stronger and it is the accomplishment we are most honest about.
What we learned
We learned that the data always has something to say if you actually look at it.
Before we ran the numbers on the Kaggle dataset the problem felt abstract. People struggle with money. After the analysis it became specific. Half the dataset has poor credit. The median person saves 5% of their income. The average surplus is $1,608, which sounds fine until one medical bill wipes it out completely.
$$P(\text{financial crisis}) \propto \frac{1} {\text{Emergency Fund Months}}$$
The data did not just inform the benchmarks. It changed how we thought about who we were building for.
We also learned that disagreement inside a team is not always a problem. Sometimes your teammate is right and the right move is to agree, rebuild, and ship something better.
And we learned that understanding one line of code fully is worth more than copying ten lines you do not understand.
What's next for FinPilot AI
This hackathon is Step 1. The MVP proves the loop works. What comes next is more interesting.
Immediately after the hackathon: Connect to live bank data via Plaid or open banking APIs so users do not need to export a CSV manually.
Short term: Expand the categorization model with more diverse merchant data from global transaction sets, particularly for non-Western spending patterns where merchant names look very different from US formats.
Medium term: Build a mobile first interface. Financial planning happens on phones, not laptops.
Longer term: Introduce investment readiness as a fifth metric. Once a user's budget is stable and their emergency fund is funded, FinPilot tells them when they are ready to start investing and how much to start with. That is the bridge from budgeting to wealth building that most people never get to cross.
The budget is where financial health starts. Not the stock market, not the investment portfolio. The budget. Get that right first and everything else gets easier.
"We built this in a hackathon. But the problem it solves is not a hackathon sized problem. It is a 3.5 billion person problem. And this is where we start."
Log in or sign up for Devpost to join the conversation.