## Background

Before we **don't** give you financial advice, let's go through some brief history on the financial advisors and the changes they've seen since their introduction.

Financial advisors have been an essential part of the financial world for decades, offering individuals tailored advice on everything from investments to retirement plans. Traditionally, advisors would assess a client's financial situation and suggest investment strategies or products, charging a fee for their services. In Canada, these fees often range from 1% to 2% of a client's assets under management (AUM) annually. For example, if a client had $500,000 invested, they could be paying $5,000 to $10,000 a year in advisor fees.

However, over the past two decades, consumers have been migrating away from traditional financial advisors toward lower-cost alternatives like Exchange-Traded Funds (ETFs) and robo-advisors. ETFs, which are passively managed and track indexes like the S&P 500, became popular because they offer diversification at a fraction of the cost—typically charging less than 0.5% in fees. This shift is part of a broader trend toward fee transparency, where investors demand to know exactly what they're paying for and opt for lower-cost options when they can.

But while ETFs offer cost savings, they come with their own set of risks. For one, passive investing removes the active decision-making of traditional advisors, which can lead to market-wide issues. In times of high volatility, ETFs can exacerbate market instability because of their algorithmic trading patterns and herd-like behaviours. Furthermore, ETFs don't account for an investor's specific financial goals or risk tolerance, which is where human advisors can still play a critical role.

Understanding this transition helps illustrate why a tool like NFA (Not Financial Advice) can fill the gap—offering insights into personal finances without the high fees or potential drawbacks of fully passive investing or even the requirements to invest! Whether it be an individual who is looking to optimize their existing investments, or one who simply wants to learn about what their options are to begin with, NFA is a platform for all!

## Inspiration

The inspiration for NFA came from recognizing a gap in the market for accessible, personalized financial insights. Traditional financial advice is often expensive and not readily available to everyone. We wanted to create a platform that could analyze a user's financial situation and provide valuable insights without crossing the line into regulated financial advice.

The rise of fintech and the increasing financial literacy needs of younger generations also played a role in inspiring this project. We saw an opportunity to leverage technology to empower individuals to make more informed financial decisions.

## Team Background and Individual Inspiration

Our diverse team brings a unique blend of experiences and motivations to the NFA project:

1. **Cole Dermott**: A 21-year-old fourth-year student at the University of Waterloo (Computer Science) and Wilfrid Laurier University (Business Administration). With experience in various software fields, Cole's business background and frequent interactions with financial news and peer inquiries inspired him to develop a tool that could provide quick financial insights.
2. **Daniel Martinez**: A grade 12 student from Vaughan, Ontario, with experience in fullstack development including mobile, web, and web3. As a young startup founder (GradeAssist), Daniel has faced challenges navigating the financial world. These systemic and information barriers motivated him to join the NFA team and create a solution for others facing similar challenges.
3. **Musa Aqeel**: A second-year university student working full-time as a fullstack developer at Dayforce. Musa's personal goal of setting himself up for an early retirement drove him to develop a tool that would help him truly understand his finances in-depth and make informed decisions.
4. **Alex Starosta**: A second-year Software Engineering student at the University of Waterloo. Alex's meticulous approach to personal finance, including constant budgeting and calculations, inspired him to create a financial tool that would provide insights at a glance, eliminating the need for continuous manual checks.

## What it does

NFA is a comprehensive platform that:

1. Collects detailed user financial information, including:

	* Age and location
	* Invested assets and liabilities
	* Credit score
	* Interests and financial goals
	* Cash and salary details
2. Analyzes this data to provide personalized insights.
3. Identifies potential "red flags" in the user's financial situation.
4. Offers notifications and alerts about these potential issues.
5. Provides educational resources tailored to the user's financial situation and goals.

All of this is done without crossing the line into providing direct financial advice, hence the name "Not Financial Advice" - since this is **MOST DEFINITELY NOT FINANCIAL ADVICE!!!!!**

## How we built it

We leveraged a modern tech stack to build NFA, focusing on scalability, performance, and developer experience. Our technology choices include:

1. **Frontend:**

	* Next.js: For server-side rendering and optimized React applications
	* React: As our primary frontend library
	* TypeScript: For type-safe JavaScript development
	* Tailwind CSS: For rapid and responsive UI development
2. **Backend and Database:**

	* Firebase Auth: For secure user authentication
	* Firestore: As our scalable, real-time NoSQL database
3. **API and AI Integration:**

	* Cohere API: For advanced natural language processing, AI-driven insights, and it's web search functionality
4. **Development Tools:**

	* ESLint: For code quality and consistency
	* Vercel: For seamless deployment and hosting

This tech stack allowed us to create a robust, scalable application that can handle complex financial data processing while providing a smooth user experience. The combination of Firebase for backend services and Next.js for the frontend enabled us to rapidly develop and iterate on our platform.

The integration of Cohere API for AI capabilities was crucial in developing our intelligent insights engine, allowing us to analyze user financial data and provide personalized recommendations without crossing into direct financial advice territory.

## Challenges we ran into

Building NFA presented us with a unique set of challenges that pushed our skills and creativity to the limit:

1. **Navigating Regulatory Boundaries:**
One of our biggest challenges was designing a system that provides valuable financial insights without crossing into regulated financial advice territory. We had to carefully craft our algorithms and user interface to ensure we were providing information and analysis without making specific recommendations that could be construed as professional financial advice.
2. **Ensuring Data Privacy and Security:**
Given the sensitive nature of financial data, implementing robust security measures was paramount. We faced challenges in configuring Firebase Auth and Firestore to ensure end-to-end encryption of user data while maintaining high performance. This required a deep dive into Firebase's security rules and careful consideration of data structure to optimize for both security and query efficiency.
3. **Integrating AI Responsibly:**
Incorporating AI through the Cohere API and Groq presented unique challenges. We needed to ensure that the AI-generated insights were accurate, unbiased, and explainable. This involved extensive testing and fine-tuning of our prompts and models to avoid potential biases and ensure the AI's outputs were consistently reliable and understandable to users of varying financial literacy levels.
4. **Optimizing Performance with Complex Data Processing:**
Balancing the need for real-time insights with the computational intensity of processing complex financial data was a significant challenge. We had to optimize our Next.js and React components to handle large datasets efficiently, implementing techniques like virtualization for long lists and strategic data fetching to maintain a smooth user experience even when dealing with extensive financial histories.
5. **Creating an Intuitive User Interface for Complex Financial Data:**
Designing an interface that could present complex financial information in an accessible way to users with varying levels of financial literacy was a major hurdle. We leveraged Tailwind CSS to rapidly prototype and iterate on our UI designs, constantly balancing the need for comprehensive information with clarity and simplicity.
6. **Cross-Browser and Device Compatibility:**
Ensuring consistent functionality and appearance across different browsers and devices proved challenging, especially when dealing with complex visualizations of financial data. We had to implement various polyfills and CSS tweaks to guarantee a uniform experience for all users.
7. **Managing Team Dynamics and Skill Diversity:**
With team members ranging from high school to university students with varying levels of experience, we faced challenges in task allocation and knowledge sharing. We implemented a peer programming system and regular knowledge transfer sessions to leverage our diverse skillsets effectively.
8. **Handling Real-Time Updates and Notifications:**
Implementing a system to provide timely notifications about potential financial "red flags" without overwhelming the user was complex. We had to carefully design our notification system in Firebase to balance immediacy with user experience, ensuring critical alerts were not lost in a sea of notifications.
9. **Scalability Considerations:**
Although we're starting with a prototype, we had to design our database schema and server architecture with future scalability in mind. This meant making tough decisions about data normalization, caching strategies, and potential sharding approaches that would allow NFA to grow without requiring a complete overhaul.
10. **Ethical Considerations in Financial Technology:**
Throughout the development process, we grappled with the ethical implications of providing financial insights, especially to potentially vulnerable users. We had to carefully consider how to present information in a way that empowers users without encouraging risky financial behavior.

These challenges not only tested our technical skills but also pushed us to think critically about the broader implications of financial technology. Overcoming them required creativity, teamwork, and a deep commitment to our goal of empowering users with financial insights.

## Accomplishments that we're proud of

1. **Innovative Financial Insight Engine:**
We successfully developed a sophisticated algorithm that analyzes user financial data and provides valuable insights without crossing into regulated financial advice. This delicate balance showcases our understanding of both technology and financial regulations.
2. **Seamless Integration of AI Technologies:**
We effectively integrated Cohere API and Groq to power our AI-driven insights, creating a system that can understand and analyze complex financial situations. This accomplishment demonstrates our ability to work with cutting-edge AI technologies in a practical application.
3. **Robust and Scalable Architecture:**
Our implementation using Firebase, Firestore, and Next.js resulted in a highly scalable and performant application. We're particularly proud of our data model design, which allows for efficient querying and real-time updates while maintaining data integrity and security.
4. **User-Centric Design:**
We created an intuitive and accessible interface for complex financial data using React and Tailwind CSS. Our design makes financial insights understandable to users with varying levels of financial literacy, a crucial aspect for broadening financial education and accessibility.
5. **Advanced Data Visualization:**
We implemented sophisticated data visualization techniques that transform raw financial data into easily digestible graphs and charts. This feature significantly enhances user understanding of their financial situation at a glance.
6. **Responsive and Cross-Platform Compatibility:**
Our application works seamlessly across various devices and browsers, ensuring a consistent user experience whether accessed from a desktop, tablet, or smartphone.
7. **Real-Time Financial Alerts System:**
We developed a nuanced notification system that alerts users to potential financial issues or opportunities without being overwhelming. This feature demonstrates our attention to user experience and the practical application of our insights.
8. **Comprehensive Security Implementation:**
We implemented robust security measures to protect sensitive financial data, including end-to-end encryption and careful access control. This accomplishment showcases our commitment to user privacy and data protection.
9. **Efficient Team Collaboration:**
Despite our diverse backgrounds and experience levels, we established an effective collaboration system that leveraged each team member's strengths. This resulted in rapid development and a well-rounded final product.
10. **Ethical AI Implementation:**
We developed guidelines and implemented checks to ensure our AI-driven insights are unbiased and ethically sound. This proactive approach to ethical AI use in fintech sets our project apart and demonstrates our awareness of broader implications in the field.
11. **Rapid Prototyping and Iteration:**
Using our tech stack, particularly Next.js and Tailwind CSS, we were able to rapidly prototype and iterate on our designs. This allowed us to refine our product continuously based on feedback and testing throughout the hackathon.
12. **Innovative Use of TypeScript:**
We leveraged TypeScript to create a strongly-typed codebase, significantly reducing runtime errors and improving overall code quality. This showcases our commitment to writing maintainable, scalable code.
13. **Successful Integration of Multiple APIs:**
We seamlessly integrated various APIs and services (Firebase, Cohere, Groq) into a cohesive platform. This accomplishment highlights our ability to work with diverse technologies and create a unified, powerful solution.
14. **Creation of Educational Resources:**
Alongside the main application, we developed educational resources that help users understand their financial situations better. This additional feature demonstrates our holistic approach to financial empowerment.
15. **Performance Optimization:**
We implemented advanced performance optimization techniques, resulting in fast load times and smooth interactions even when dealing with large datasets. This showcases our technical proficiency and attention to user experience.

These accomplishments reflect not only our technical skills but also our ability to innovate in the fintech space, our commitment to user empowerment, and our forward-thinking approach to financial technology.

## What we learned

1. **Navigating Financial Regulations:**
We gained a deep understanding of the fine line between providing financial insights and giving regulated financial advice. This knowledge is crucial for anyone looking to innovate in the fintech space.
2. **The Power of AI in Finance:**
Through our work with Cohere API and Groq, we learned how AI can be leveraged to analyze complex financial data and provide valuable insights. We also understood the importance of responsible AI use in financial applications.
3. **Importance of Data Privacy and Security:**
Working with sensitive financial data reinforced the critical nature of robust security measures. We learned advanced techniques in data encryption and secure database management using Firebase and Firestore.
4. **User-Centric Design in Fintech:**
We discovered the challenges and importance of presenting complex financial information in an accessible manner. This taught us valuable lessons in UX/UI design for fintech applications.
5. **Full-Stack Development with Modern Technologies:**
Our team enhanced their skills in full-stack development, gaining hands-on experience with Next.js, React, TypeScript, and Tailwind CSS. We learned how these technologies can be integrated to create a seamless, efficient application.
6. **Real-Time Data Handling:**
We learned techniques for efficiently managing and updating real-time financial data, balancing the need for immediacy with performance considerations.
7. **Cross-Platform Development Challenges:**
Ensuring our application worked consistently across different devices and browsers taught us valuable lessons in responsive design and cross-platform compatibility.
8. **The Value of Rapid Prototyping:**
We learned how to quickly iterate on ideas and designs, allowing us to refine our product continuously throughout the hackathon.
9. **Effective Team Collaboration:**
Working in a diverse team with varying levels of experience taught us the importance of clear communication, task delegation, and knowledge sharing.
10. **Balancing Features and MVP:**
We learned to prioritize features effectively, focusing on creating a viable product within the hackathon's time constraints while planning for future enhancements.
11. **The Intersection of Finance and Technology:**
This project deepened our understanding of how technology can be used to democratize financial insights and empower individuals in their financial decision-making.
12. **Ethical Considerations in AI and Finance:**
We gained insights into the ethical implications of using AI in financial applications, learning to consider potential biases and the broader impact of our technology.
13. **Performance Optimization Techniques:**
We learned advanced techniques for optimizing application performance, especially when dealing with large datasets and complex calculations.
14. **The Importance of Financial Literacy:**
Through creating educational resources, we deepened our own understanding of financial concepts and the importance of financial education.
15. **API Integration and Management:**
We enhanced our skills in working with multiple APIs, learning how to integrate and manage various services within a single application.
16. **Scalability Considerations:**
We learned to think beyond the immediate project, considering how our application architecture could scale to accommodate future growth and features.
17. **The Power of Typed Programming:**
Using TypeScript taught us the benefits of strongly-typed languages in creating more robust, maintainable code, especially in complex applications.
18. **Data Visualization Techniques:**
We gained skills in transforming raw financial data into meaningful visual representations, learning about effective data visualization techniques.
19. **Agile Development in a Hackathon Setting:**
We applied agile methodologies in a compressed timeframe, learning how to adapt these principles to the fast-paced environment of a hackathon.
20. **The Potential of Open Banking:**
Although not directly implemented, our project made us aware of the possibilities and challenges in the emerging field of open banking and its potential impact on personal finance management.

These learnings not only enhanced our technical skills but also broadened our understanding of the fintech landscape, ethical technology use, and the importance of financial empowerment. The experience has equipped us with valuable insights that will inform our future projects and career paths in technology and finance.

## What's next for NFA (Not Financial Advice)

1. **Enhanced AI Capabilities:**

	* Implement more advanced machine learning models to provide even more accurate and personalized financial insights.
	* Develop predictive analytics to forecast potential financial outcomes based on user behavior and market trends.
2. **Open Banking Integration:**

	* Partner with banks and financial institutions to integrate open banking APIs, allowing for real-time, comprehensive financial data analysis.
	* Implement secure data sharing protocols to ensure user privacy while leveraging the power of open banking.
3. **Expanded Financial Education Platform:**

	* Develop a comprehensive, interactive financial education module within the app.
	* Create personalized learning paths based on user's financial knowledge and goals.
4. **Community Features:**

	* Implement an anonymized peer comparison feature, allowing users to benchmark their financial health against similar demographics.
	* Create a forum for users to share financial tips and experiences, moderated by AI to ensure quality and prevent misinformation.
5. **Gamification of Financial Goals:**

	* Introduce gamification elements to encourage positive financial behaviors and goal achievement.
	* Develop a reward system for reaching financial milestones, potentially partnering with financial institutions for tangible benefits.
6. **Advanced Data Visualization:**

	* Implement more sophisticated data visualization techniques, including interactive charts and 3D visualizations of complex financial data.
	* Develop AR/VR interfaces for immersive financial data exploration.
7. **Personalized Financial Product Recommendations:**

	* Develop an AI-driven system to suggest financial products (savings accounts, investment options, etc.) based on user profiles and goals, while maintaining our commitment to not providing direct financial advice.
8. **Multi-Language Support:**

	* Expand the platform to support multiple languages, making financial insights accessible to a global audience.
9. **Blockchain Integration:**

	* Explore the integration of blockchain technology for enhanced security and transparency in financial tracking.
	* Develop features to analyze and provide insights on cryptocurrency investments alongside traditional financial assets.
10. **Mobile App Development:**

	* Create native mobile applications for iOS and Android to provide a seamless mobile experience and leverage device-specific features.
11. **API for Developers:**

	* Develop and release an API that allows third-party developers to build applications on top of NFA's insights engine, fostering an ecosystem of financial tools.
12. **Sustainability Focus:**

	* Implement features to help users understand the environmental impact of their financial decisions.
	* Provide insights and recommendations for sustainable investing options.
13. **Customizable Dashboard:**

	* Allow users to create fully customizable dashboards, tailoring the NFA experience to their specific financial interests and goals.
14. **Integration with Financial Advisors:**

	* Develop a feature that allows users to safely share their NFA insights with professional financial advisors, bridging the gap between AI-driven insights and professional advice.
15. **Expanded AI Ethics Board:**

	* Establish an AI ethics board comprising experts in finance, technology, and ethics to ensure ongoing responsible development and use of AI in our platform.
16. **Research Partnerships:**

	* Collaborate with universities and financial institutions to conduct research on personal finance trends and the impact of AI-driven financial insights.
17. **Accessibility Enhancements:**

	* Implement advanced accessibility features to make NFA usable for individuals with various disabilities, ensuring financial insights are available to everyone.
18. **Predictive Life Event Planning:**

	* Develop features that help users plan for major life events (buying a home, having children, retirement) by predicting financial needs and suggesting preparation strategies.
19. **Voice Interface:**

	* Implement a voice-activated interface for hands-free interaction with NFA, making financial insights even more accessible in users' daily lives.
20. **Continuous Learning AI:**

	* Develop a system where the AI continuously learns and improves from anonymized user data and feedback, ensuring that insights become increasingly accurate and valuable over time.

By implementing these features, NFA aims to become a comprehensive, intelligent, and indispensable tool for personal financial management. Our goal is to democratize access to high-quality financial insights, empower individuals to make informed financial decisions, and ultimately contribute to improved financial well-being on a global scale.
## Inspiration

Our project was inspired by the movie recommendation system algorithms used by companies like Netflix to recommend content to their users. Following along on this, our project uses a similar algorithm to recommend investment options to individuals based on their profiles.

## What Finvest Advisor does

This app suggests investment options for users based on the information they have provided about their own unique profiles. Using machine learning algorithms, we harness the data of previous customers to make the best recommendations that we can.

## How it works

We built our web app to work together with a machine-learning model that we designed. Using the cosine similarity algorithm, we compare how similar the user's profile is compared to other individuals already in our database. Then, based on this, our model is able to recommend investments that would be ideal for the user, given the parameters they have entered

## Our biggest challenge

Acquiring the data to get this project functional was nearly impossible, given that individuals' financial information is very well protected and banks would (for obvious reasons) not allow us to work with any real data that they would have had. Constructing our database was challenging, but we overcame it by constructing our own data that was modelled to be similar to real-world statistics.

## Going forward...

We hope to further improve the accuracy of our model by testing different kinds of algorithms with different kinds of data. Not to mention, we would also look forward to possibly pitching our project to larger financial firms, such as local banks, and getting their help to improve upon our model even more. With access to real-world data, we could make our model even more accurate, and give more specific recommendations.
## Inspiration

My father put me in charge of his finances and in contact with his advisor, a young, enterprising financial consultant eager to make large returns. That might sound pretty good, but to someone financially conservative like my father doesn't really want that kind of risk in this stage of his life. The opposite happened to my brother, who has time to spare and money to lose, but had a conservative advisor that didn't have the same fire. Both stopped their advisory services, but that came with its own problems. The issue is that most advisors have a preferred field but knowledge of everything, which makes the unknowing client susceptible to settling with someone who doesn't share their goals.

## What it does

Resonance analyses personal and investment traits to make the best matches between an individual and an advisor. We use basic information any financial institution has about their clients and financial assets as well as past interactions to create a deep and objective measure of interaction quality and maximize it through optimal matches.

## How we built it

The whole program is built in python using several libraries for gathering financial data, processing and building scalable models using aws. The main differential of our model is its full utilization of past data during training to make analyses more wholistic and accurate. Instead of going with a classification solution or neural network, we combine several models to analyze specific user features and classify broad features before the main model, where we build a regression model for each category.

## Challenges we ran into

Our group member crucial to building a front-end could not make it, so our designs are not fully interactive. We also had much to code but not enough time to debug, which makes the software unable to fully work. We spent a significant amount of time to figure out a logical way to measure the quality of interaction between clients and financial consultants. We came up with our own algorithm to quantify non-numerical data, as well as rating clients' investment habits on a numerical scale. We assigned a numerical bonus to clients who consistently invest at a certain rate. The Mathematics behind Resonance was one of the biggest challenges we encountered, but it ended up being the foundation of the whole idea.

## Accomplishments that we're proud of

Learning a whole new machine learning framework using SageMaker and crafting custom, objective algorithms for measuring interaction quality and fully utilizing past interaction data during training by using an innovative approach to categorical model building.

## What we learned

Coding might not take that long, but making it fully work takes just as much time.

## What's next for Resonance

Finish building the model and possibly trying to incubate it.