Inspiration

What really sparked the idea for Lifeonloan was seeing so many of my peers in college constantly stressed about money. It felt like financial insecurity cast a shadow over their entire experience, limiting their ability to fully enjoy their time and focus on their studies. I believed that if students could gain a better understanding and control over their finances, they could live more freely and with less worry. This desire to empower my fellow college students to achieve financial well-being was the core inspiration behind Lifeonloan.

What Lifeonloan Does (Our Vision)

Our goal with Lifeonloan is to create a comprehensive budgeting tool specifically designed for college students. We envision a platform where students can easily input their financial information – everything from tuition and housing costs to their spending on coffee and entertainment. The system would then analyze this data, leveraging the power of AI, to generate personalized monthly budgeting plans. This includes a detailed breakdown of spending categories, actionable suggestions for adjustments, and tailored financial advice. Ultimately, we want to help students track their spending, set meaningful financial goals, and access educational resources to build a strong foundation for their financial future. We even planned for the generation of a detailed budget in an Excel format for offline use.

How We Built It (The Initial Steps)

For our initial development phase, we opted for a web-based approach to make it easily accessible. On the front-end, we utilized standard web technologies: HTML for structuring the content, CSS for styling, and JavaScript for adding interactivity. Some of us on the team preferred using VSCode as our Integrated Development Environment.

On the back-end, we chose Python with the Flask framework to handle the web server and application logic. A crucial aspect of our project was integrating artificial intelligence to provide insightful budgeting advice. For this, we leveraged the Google Gemini API, utilizing the google-generativeai library. We also explored other Python libraries like flask_session for managing user sessions, json for data handling, datetime for date-related operations, and even started building out utility modules (utils/budget_generator.py and utils/visualizer.py) and considering database interactions (database.py and models/user.py). We also looked into libraries for potentially generating and sending files (send_file).

A key element of our build process was the careful crafting of prompts for the Gemini API. We dedicated time to understanding how to best articulate the user's financial situation and our desired output (detailed budget, advice, application of the 50/30/20 rule) to get the most helpful and relevant responses. This involved experimentation and refining our prompt engineering techniques.

Challenges We Ran Into

We encountered several significant challenges during the development process. One of the major roadblocks was the integration of MongoDB as our database. We struggled to establish a stable connection between our application and the MongoDB server, leading to persistent errors.

Another significant hurdle was our attempt to implement user authentication using Auth0. We faced considerable difficulties in understanding and implementing the Auth0 authentication flow within our Flask application. We found ourselves spending a significant amount of time navigating the Auth0 documentation without making substantial progress in getting users authenticated.

Due to these integration issues with MongoDB and Auth0, we made the tough decision to scope down our initial release. We realized that trying to force these complex integrations would delay our progress on the core budgeting functionality. Therefore, we decided to postpone the full database integration and user authentication to our version 2.0 release.

Accomplishments That We're Proud Of

Despite the challenges, we achieved some significant milestones that we're really proud of. Foremost among these was our successful integration with the Google Gemini API. We were particularly pleased with how we managed to leverage Gemini's capabilities to analyze financial data and generate meaningful and personalized budgeting advice for college students. We put a lot of effort into crafting effective prompts that could elicit detailed breakdowns, adjustment suggestions, and even incorporate the 50/30/20 budgeting rule into the recommendations. This creative use of the Gemini API and our ability to get it to provide relevant and helpful insights was a major accomplishment.

What We Learned

This development experience taught us several valuable lessons. We learned the importance of starting with a focused scope and prioritizing core functionality, especially when facing integration challenges. We also gained a deeper appreciation for the complexities involved in database management and user authentication. The struggles with Auth0 highlighted the need for thorough understanding and careful implementation of third-party services. However, our success with the Gemini API underscored the potential of AI to provide valuable assistance in personal finance and the importance of effective prompt engineering.

What's Next for Lifeonloan

Moving forward, our immediate next step for Lifeonloan is to refine the core Gemini integration and the user experience of the initial website. We want to ensure that the input process is intuitive and that the budgeting advice generated by Gemini is clear, actionable, and genuinely helpful for college students. We plan to gather feedback on this initial version to identify areas for improvement.

Following this, we need to revisit the challenges we faced with authentication and database integration. We will dedicate time to thoroughly understand the Auth0 documentation and explore simpler integration strategies. Similarly, we will re-examine our MongoDB setup and potentially start with a more basic data model to ensure stable connectivity.

Once these foundational elements are in place, we will focus on building out the other planned features, such as the spending tracker, goal-setting functionality, and the integration of educational resources. Finally, we aim to implement the automatic generation of detailed budget reports in an Excel format, providing users with a tangible output of their personalized financial plan. Our ultimate goal is to create a robust and user-friendly platform that truly empowers college students to take control of their finances and live with greater financial confidence.

Share this project:

Updates