Inspiration

We started this project from a moment that felt uncomfortably familiar: we realized we had no real idea where our money was going.

Like most students at UMD, we'd casually swipe our cards at Chipotle, grab coffee at Starbucks, stop by Stamp between classes, and let subscriptions quietly renew in the background. None of it felt significant in the moment. But by the end of the semester, the totals always surprised us. The information was technically there in our bank statements, but it existed as a ocean of transactions, data without clarity.

What we were missing wasn't more numbers. We were missing visibility. That led us to a simple but powerful question: What if spending could be seen instead of just read? What if our financial habits could be mapped onto the places we moved through every day? And beyond that, what if a system could help us understand not just where our money was going, but why we were spending that way, and how to change it?

From that idea, FinTerp emerged. FinTerp is a platform designed to help college students take control of their finances early, before small, unnoticed habits turn into long-term patterns. By transforming transaction data into intuitive visual insights and pairing it with conversational AI guidance, FinTerp turns mindless spending into actionable understanding.

What it does

FinTerp is a web application designed to help UMD students better understand and manage their spending habits. By connecting directly to a user’s bank account, the platform pulls transaction data and transforms it into a more intuitive financial dashboard that highlights where money is being spent, which merchants are visited most often, and how spending changes over time. Rather than leaving students to interpret long lists of transactions, FinTerp makes financial behavior easier to see and understand through clear visualizations and interactive analytics.

A central part of that experience is the heatmap, which gives users a geographic view of their spending patterns. Instead of just showing purchases as isolated points, the heatmap reveals where spending is concentrated, making it easy to spot the areas where a student spends the most money over time. This turns raw transaction data into a visual pattern that is much more intuitive to understand at a glance. In addition to the heatmap, FinTerp uses charts and other dashboard elements to break down spending trends, merchant frequency, and overall habits, helping users see both the geographic and financial side of their behavior in one place.

The project also goes beyond simple tracking by adding more personalized analysis tools. It includes an AI-based financial advisor that gives insights based on each student’s spending patterns and profile, suggests relevant student discounts, and helps create practical savings plans tailored to their habits. Overall, FinTerp combines transaction analysis, heatmap-based geographic spending visualization, and personalized guidance into a student-focused financial wellness platform.

How we built it

We built the app through a fast, iterative process that combined AI-assisted prototyping with modern web development tools. To get started, we used Vercel’s v0 agent to generate the initial boilerplate and explored 4 to 5 different design foundations before choosing the one that gave users the best overall experience. Because v0 generated the project in Next.js, TypeScript, and Tailwind CSS, that became the basis of our frontend. v0 also chose Leaflet for map rendering in the initial implementation, and we stuck with it to render the final heatmap in the completed app. On the backend, we used Supabase for rapid authentication and database development. For bank connectivity, we evaluated both Plaid and Teller, but ultimately chose Teller because it was more accessible and easier to work with during the hackathon. To generate map-based spending insights, we used the open-source Photon API to help infer latitude and longitude from transaction data for our heatmap. We also leaned heavily on AI during development, using agents such as Claude and Codex, coding harnesses like Cursor and Claude Code, and agentic programming techniques such as prompt engineering and context engineering to speed up iteration and improve development efficiency. Once the stack was set, we divided the project into core features, with team members focusing on the AI bot, the map, the simulation feature, and bank data integration in parallel. After building those pieces independently, we brought everything together, refined the user flow, and polished the product into a cohesive end-to-end experience.

Challenges we ran into

The biggest challenge we faced was creating an accurate heat map using only transaction data. One thing we did not realize at first is that banks typically do not store the exact location of a purchase. Instead, we only had access to the merchant description provided with each transaction. In many cases, that description was not detailed enough for the Photon API to reliably determine the correct latitude and longitude. Because of this, we had to go through extensive testing, refine our query construction, improve our database structure, and repeatedly iterate on the geocoding process to get the heat map working well.

This challenge became even more difficult because transaction descriptions vary widely across different banks, meaning there was no single format we could rely on. We had to account for many inconsistencies and edge cases in order to make the system work across multiple sources of bank data. Although the process was tedious and technically challenging, we were ultimately able to build a solution that performed well and generalized effectively across a wide range of transactions.

Accomplishments that we're proud of

One of the accomplishments we are most proud of is building the heat map feature using real-world bank transaction data. Since transaction records do not include precise location information, getting this feature to work accurately required a great deal of problem-solving, iteration, and technical refinement. Successfully creating a system that could infer meaningful locations from inconsistent merchant data and integrate smoothly with multiple banking services was one of the most difficult parts of the project, which makes it especially rewarding.

We are also proud of how well we worked together as a team. Each member brought a different area of expertise, and we were able to combine those strengths to build the strongest product possible. While balancing different ideas and perspectives can be challenging, we worked through those differences and turned them into an advantage, creating a product that feels cohesive, polished, and reflective of everyone’s contributions.

Finally, we are proud that we were able to build all of this in just 36 hours. In that short time, we created a product that is not only functional, but could realistically be used by real students to solve real financial problems in their everyday lives. That makes the project especially meaningful to us, because it goes beyond being just a hackathon prototype and moves toward something with genuine practical impact.

What we learned

We learned that building a real product involves much more than connecting APIs and designing a UI. Real-world bank transaction data is messy, incomplete, and often ambiguous, which taught us that even something as simple as mapping purchases to a location can become a difficult inference problem. We also learned how powerful AI-assisted development can be: using tools like v0, Claude, Codex, Cursor, and Claude Code helped us prototype quickly, explore more ideas, and move faster through prompt engineering and context engineering. At the same time, we saw that strong results still depend on human decision-making, iteration, and debugging. Above all, this project taught us how to collaborate effectively, build different parts of a product in parallel, and combine them into a polished end-to-end experience.

What's next for FinTerp

Although we are proud of everything we accomplished in such a short time, there are still many features we would have loved to add. Right now, FinTerp is limited to traditional bank transaction data. However, a major part of student life on campus involves spending through dining dollars and other university-linked services. Expanding FinTerp to include these sources would make the platform much more useful, allowing it to give recommendations that take advantage of options already available to students, many of which are cheaper or more practical.

Another current limitation is that FinTerp is designed specifically for College Park and the UMD campus. Our long-term vision is to make the platform adaptable to any college campus, so students across the country could connect their school and use FinTerp in their own daily environment. Once the platform is fully refined for UMD, we hope to expand it far beyond College Park and eventually make it accessible to students around the world.

These are only a few of the many ideas we have for the future. FinTerp has a great deal of potential, and we are excited to continue developing it and exploring how far it can go.

Built With

Share this project:

Updates