BudgetBuddy: Empowering Low-Income Families with Smart Budgeting Inspiration Low-income families often face financial stress due to irregular incomes and unexpected expenses, which can lead to debt and anxiety. We were inspired to create BudgetBuddy after learning about the challenges faced by families in our community who lack accessible tools to manage their finances. The HackSphere hackathon’s focus on community-driven fintech solutions motivated us to build an app that promotes financial inclusion and empowers users with limited financial literacy. We also wanted to incorporate AI and risk management to make budgeting smarter and more proactive, aligning with the hackathon’s emphasis on innovative financial tools. What it does BudgetBuddy is a Python-based web app that helps low-income families create personalized budgets and manage expenses. The Smart Budget Planner uses a linear regression model (scikit-learn) to suggest weekly budgets based on user inputs like income (e.g., daily wages) and expenses (e.g., rent, food), prioritizing essentials. The Expense Tracker lets users log daily spending via a form, displaying trends in a Matplotlib chart. The Community Resources feature provides links to local aid programs (e.g., food banks) based on a location dropdown. The Expense Risk Forecaster, a key risk management feature, predicts budget overruns using AI and suggests cost-saving tips (e.g., “Cook at home to save $5”). The app is mobile-responsive and uses simple language for accessibility. How we built it We built BudgetBuddy using Flask for the web framework, SQLite for data storage, scikit-learn for AI, and Matplotlib for visualizations. The frontend uses Jinja2 templates with Bootstrap for a clean, accessible UI. We created routes in app.py for the homepage, budget planner, expense tracker, and resources. The AI model in model.py trains a linear regression model on a hardcoded dataset of sample income/expense data to generate budgets and predict risks. SQLite stores user inputs (budgets, expenses) in a data.db file. Matplotlib generates spending charts saved as PNGs in the static/ folder. We developed and tested the app on REPL.it, ensuring it runs smoothly for the hackathon demo. The codebase includes error handling for form validation and database queries. Challenges we ran into One challenge was designing an AI model simple enough for a high school hackathon yet effective for budgeting. We initially struggled with scikit-learn’s linear regression but simplified the dataset to 50 rows of sample data, which worked well. Another challenge was ensuring accessibility for users with low tech skills; we iterated on the UI to use large text, high-contrast colors, and plain language. Integrating Matplotlib charts into Flask was tricky, but we resolved it by saving charts as PNGs and serving them statically. Time constraints pushed us to prioritize the MVP, but we managed to include the risk forecaster by pair-programming late nights. Accomplishments that we're proud of We’re proud of building a fully functional app that addresses a real-world problem for low-income families. Implementing the Expense Risk Forecaster with AI was a major achievement, as it adds a proactive layer to budgeting and aligns with the hackathon’s risk management focus. Our accessible UI, with simple forms and clear visuals, makes BudgetBuddy usable for diverse users. We’re also proud of our teamwork—dividing tasks (e.g., frontend, AI, database) helped us meet the deadline. Finally, creating a demo-ready app on REPL.it that runs smoothly for our video submission feels like a big win! What we learned We learned how to use Flask and SQLite to build a web app from scratch, including form handling and database queries. Training a linear regression model with scikit-learn taught us the basics of machine learning and the importance of clean data. We gained skills in UI design, using Bootstrap to make the app mobile-responsive and accessible. Debugging Matplotlib integration improved our problem-solving abilities. Most importantly, we learned about the financial challenges low-income families face, which deepened our commitment to fintech for social good. What’s next for BudgetBuddy Next, we plan to enhance BudgetBuddy with more features, like multi-month budgeting and support for multiple languages to reach diverse communities. We want to improve the AI model by incorporating real-world datasets (if permitted) for better predictions. Adding offline functionality could help users with limited internet access. We also aim to partner with local nonprofits to expand the Community Resources database. Long-term, we hope to deploy BudgetBuddy as a free tool for community centers, empowering more families to achieve financial stability and reduce debt.
Built With
- bootstrap
- flask
- matlpotlib
- python
- scikit-learn
- sqlite
Log in or sign up for Devpost to join the conversation.