Inspiration
We were inspired by Capital One’s presentation during the opening ceremony of VT Hacks 14. As Virginia Tech students currently taking a financial literacy course, we saw an opportunity to apply what we’ve learned to a real-world challenge: helping people make better financial decisions during both stable and difficult financial times. That inspired us to build an AI-powered financial wellness advisor that provides personalized, practical guidance based on a user’s financial situation. We also wanted the experience to go beyond general financial advice by integrating Capital One-specific banking information, allowing users to learn about relevant Capital One products and services when they ask about them.
What it does
Our project is an AI-powered financial wellness advisor designed to help users better understand their finances and make more informed financial decisions. Users can ask questions about budgeting, saving, debt, emergency funds, credit, investing, and other financial goals and receive clear, actionable guidance. The advisor can use financial information such as income, expenses, savings, debt, and credit utilization to provide personalized recommendations. Instead of giving everyone the same advice, it adapts to the user's financial situation and prioritizes what matters most—whether that's improving cash flow, building an emergency fund, paying down debt, or preparing to invest. The assistant is also specialized for ICICI Bank. Through a curated ICICI Bank knowledge base, it can answer questions about ICICI banking products, services, and policies while reducing the risk of providing unsupported banking information. Built-in guardrails keep the assistant focused on financial wellness and ICICI Bank, creating a simple conversational experience that turns financial information into practical next steps.
How we built it
We focused on building and customizing the Dify AI agent that powers our Financial Wellness Advisor. The agent was given a customized system prompt and guardrails to keep its responses focused on financial wellness, general financial education, and ICICI Bank. We integrated two main knowledge bases: an ICICI Bank Knowledge Base containing banking information and a Financial Wellness Knowledge Base containing scenarios derived from our financial dataset. Together, these allow the agent to provide personalized guidance based on factors such as income, expenses, debt, emergency savings, and credit utilization, while also answering ICICI-specific questions using reliable information. The agent was tested across different financial situations and out-of-scope questions to improve its accuracy, personalization, and consistency. Finally, we connected the Dify agent to an OpenAI model and exposed it through an API so it could communicate with our Streamlit frontend. We used a Kaggle financial wellness dataset to provide customer data for our financial-planning chatbot. We cleaned and prepared the data in Python using Pandas and JupyterLab by checking for duplicates and missing values, validating customer IDs, renaming and removing columns, and creating new financial measures such as monthly surplus, surplus rate, and customer groups based on income, debt, age, and emergency savings. We also built Python functions to summarize the dataset, retrieve customer profiles, compare customer segments, and identify financial risk factors. In addition, we tested edge cases and prepared the cleaned CSV and Python tools for integration into the Dify chatbot and Streamlit application. We built the front end using Python and Streamlit to provide a clean and easy-to-use chat interface for our financial advisor. The application supports multiple conversations, keeps track of each chat separately, and limits each conversation to 15 questions. We connected the interface to our Dify AI agent through an API, allowing users to receive responses while maintaining conversation context. We also customized the interface with CSS, securely managed the API key using Streamlit Secrets, and deployed the application using GitHub and Streamlit Community Cloud.
Challenges we ran into
One issue was that we could not use Capital One as our primary banking service because the dataset we found had the currency in INR (Indian Rupees), and when converting it into USD, the cost of living and monthly salary with respect to USD were not preserved. Therefore, we chose to change our service to an Indian bank ICICI in order for it to be compatible with the dataset. Another issue was that, from repeated testing, we ran out of credits in the gpt-5.6-luna, so to keep testing, we had to purchase an API key from OpenAI and incorporate that into Dify AI.
Accomplishments that we're proud of
This is our first hackathon and our first attempt at creating a chatbot at this scale as a team. We are proud of ourselves for even trying to attempt and finish this project with successful results. We are also aspiring data scientists, front-end/full stack developers, and AI/ML engineers, so we are very excited at the fact that we were able to take on roles that we are passionate about.
What we learned
We learned the basics of data science, AI prompting/tinkering, and front-end development. Since we were all beginners, we also learned how to leverage AI to deliver results that aligned with our scope. Additionally, this was our first time working together as a team, so we learned how to integrate seemingly different components together to work seamlessly as one.
What's next for ICICI Banking Financial Advisor
Currently, the interface that the chatbot is on only supports displaying the text/info on light mode, so we would like to make it accessible for auto-system mode as well. Additionally, we would like to collaborate with ICICI bank and obtain a dataset specialized ICICI bank customers to implement for our model rather than a general Kaggle dataset.
Log in or sign up for Devpost to join the conversation.