๐ก Inspiration
As young adults entering university, many of us realized how little we actually knew about managing our personal finances. Navigating expenses like rent, food, and social activities without a clear picture of where our money was going often led to overspending or overthinking every purchase. We wanted a simple way to visualize our spending habits, understand where we could cut back, and see how our choices today could affect our finances in the future. Thatโs why we created SmartSpend, to help students take control of their finances with clarity, confidence, and smarter spending decisions.
๐ง What it does
SmartSpend helps students make sense of their finances in a simple, secure way. Users can create an account and upload bank statements that contain no sensitive information. Our system parses the data to generate a clear summary of monthly spending and provides projections of future expenses, helping users understand their financial habits and plan ahead with confidence.
๐ ๏ธ How We Built It
- Built a full-stack financial insights app called SmartSpend that helps users visualize and forecast their spending.
- Developed the frontend in Flutter, delivering a cross-platform experience for Android and iOS.
- Used Python (Flask) for the backend, handling data cleaning, analysis, and API integration.
- Used Pandas for preprocessing and Meta Prophet for generating one-year spending forecasts.
- Exported all processed data as JSON for real-time integration with the Flutter dashboard.
- Designed a clean, interactive dashboard for users to explore their spending summaries and trends.
๐ง Challenges We Ran Into
- Parsing and cleaning inconsistent bank statement data (especially PDFs)
- Many statements lacked clear line boundaries, making table detection and extraction difficult.
- We experimented with custom table detection and regex-based parsing, but found inconsistent results
- Due to time constraints, we pivoted from PDF parsing to CSV uploads, which allowed faster and more reliable data processing.
- Generating accurate forecasts with limited transaction history
- Most banks only allow users to download about one month of data per CSV file, which wasnโt enough for the Meta Prophet ml model to produce accurate forecasts.
- To overcome this, we required users to upload at least three months of statements and automated the merging of multiple CSV files into a single dataset for Prophet.
- Maintaining smooth communication between the Python backend and Flutter frontend
- Ensuring secure file uploads and reliable database storage
๐ Accomplishments Weโre Proud Of
- Successfully implemented automated one-year spending forecasts using Meta Prophet.
- Created scripts that merge multiple CSV files into one dataset for more accurate model predictions.
- Built our initial design in Figma to visualize the layout and components needed for the Flutter app.
- There was no direct translation from design to code, which required extensive testing and adjustments to achieve the desired interface.
- Developed a Flutter dashboard that updates dynamically with clean, intuitive data visualizations.
- We learned the importance of balancing automation and control in project design, by choosing not to use OpenAI API.
- We relied entirely on manual data processing scripts, which slowed initial progress but gave us a deeper understanding of how to build our own data pipelines and forecasting tools.
- Collaborated effectively as a team under time pressure, turning complex financial data into something user-friendly
๐ What We Learned
- How to integrate a Flutter frontend with a Python backend using REST APIs.
- Parsing financial data taught us that real-world datasets are often messy and inconsistent.
- We learned to adapt by switching from PDF extraction to CSV-based pipelines for better results.
- The importance of data quality for reliable machine learning predictions.
- Best practices for secure file handling and managing financial data.
- How to communicate clearly and coordinate across design, backend, and data science in a hackathon setting.
๐ Whatโs Next for SmartSpend?
- Expanding the forecasting model to deliver personalized financial advice based on spending and saving patterns.
- Improving data refresh rates for faster, real-time dashboard updates.
- Introducing goal-based analytics and overspending alerts for actionable insights.
- Enhancing data security and scalability to handle more users and diverse data sources.


Log in or sign up for Devpost to join the conversation.