Inspiration

Our project was inspired primarily by our group's passion for finance and investment alongside computer science. We wanted to focus on how our technical skills could effectively impact your average investor. Observing our own experiences investing and those around us, we came to the conclusion that the average investor does not have the time or knowledge to perform a robust analysis of a company's finances in order to make well-informed investments. In response to the time-consuming effort, StockBot was born. A web application that performs a company's financial analysis and provides a comprehensive report straight to the user in a digestible format.

What it does

Our project primarily serves to provide a user with a comprehensive report on a (publically traded) company's finances. It functions as a financial advisor tool that provides users with digestible information regarding a company they are interested in trading. Based on the data provided, users are able to make well-informed decisions regarding investing in said company. Notably, our product offers the unique attribution of associating a StockBot score with each ticker, which analyzes company data from the company's income, to market cap, to margins, and more; this score identifies the viability of investing in the company.

How we built it

We employed a variety of tools to develop our end-to-end full-stack project. The back end was fully written in the Java programming language. The front end was done using HTML, CSS, and JavaScript. We utilized Spring Boot, an open-source Java web framework offered by Spring, in order to link our back end with the front end and create the web application. Our spring boot was initialized as a Maven project allowing us to download the proper dependencies for our web application. We chiefly utilized the Thymeleaf dependency (a modern server-side Java template engine for both web and static environments) inside the spring initializer to allow for the HTML to be correctly displayed in browsers and as a static prototype. We worked with the Financial Modeling Prep API in order to scrape all our necessary data for each ticker the user inputs. Our project harnessed the power of REST APIs to enable seamless data exchange and interaction with external systems. By adhering to RESTful principles, we facilitated the integration of our application with third-party services, allowing for efficient retrieval and manipulation of data, and enhancing the overall user experience. Our development process commenced with a thorough analysis of user requirements and project objectives. We adopted a development approach that fostered continuous collaboration and adaptation throughout the project's lifecycle. Regular code reviews, iterative testing, and team brainstorming meetings were integral to maintaining project quality. We ensured a reliable end product that can bring a robust service to our users.

Challenges we ran into

We encountered a plethora of challenges throughout development starting from the beginning when we had to find the proper API for our needs; Financial Modeling Prep proved to be the perfect API for the data we needed for our analysis. Next, we encountered the design challenge. How can we take a huge amount of data, condense it only into what the user needs, portray it effectively in order to allow for well-informed decisions, and make this all accessible? This turned into a research and design project where we iterated over design choices and landed on utilizing something similar to a chatbot. This allows for an easy user experience; the user enters the stock ticker for the company they wish to analyze into the chatbot and the information is spitted out. This feels almost as if the user is communicating with a real financial advisor. Further, we researched the important data points that investors need and filtered and communicated only those to the user (this also helped us use only necessary information to calculate our StockBot score): current Stock Price, Market Cap, EPS, P/E Ratio, Profit Margin, Net Income Most Recent FY, Net Income 1 FY ago, Net Income 2 FY ago, Net Income 3 FY ago, Net Income 4 FY ago. The biggest challenge we ran into was the linking of the front end to the back end. As emerging programmers, we had zero knowledge of how to link a Java backend with an HTML front end to create a web app. We had to learn about the spring framework and effectively use it to display our HTML properly (and have access to all our back end data). Addressing these challenges required unwavering perseverance and adaptability. We approached each challenge as an opportunity for growth, continuously iterating and refining our solutions. With a collective spirit of determination, we overcame hurdles and ultimately achieved our project goals.

Accomplishments that we're proud of

Our project's most significant accomplishment is developing an end-to-end full-stack web application as a group of emerging programmers with little to no webdev experience. This project was done in an extreme time crunch and required huge amounts of passion and curiosity to make happen. Creating a front end and back end that work together in 24 hours and producing an effective product that can really help users (especially in such a common practice as investing) is no small feat. The project excels in creating an easy user experience with high rewards. Through this project, we've developed a host of team skills including effective collaboration, problem-solving, and communication. We honed our technical abilities, deepening our expertise in areas like web development, data analysis, financial analysis, and project management. These newfound skills not only contributed to our project's success but also empowered each team member to excel in their individual roles.

What we learned

From a technical standpoint, we acquired a robust skill set, delving into web development, data analysis, financial modeling, and project management. This project served as our initiation into the complex world of full-stack web development, and the challenges we faced fortified our understanding of linking front-end and back-end systems. We mastered the intricacies of REST APIs, data scraping, HTML rendering, and more. Beyond technical skills, we fostered invaluable soft skills, such as effective collaboration, problem-solving, and communication. Our adaptability was tested, and our perseverance led us to overcome every challenge. We also grasped the importance of user-centric design and accessibility, prompting us to refine the user interface for future projects. Looking forward, we are eager to apply these lessons to enhance StockBot's capabilities, introduce sentiment analysis, and provide users with a comprehensive financial analysis tool. Our aspiration is to empower users with the knowledge and resources they need to achieve financial success.

What's next for StockBot

StockBot is nowhere near its full potential as a first-rate financial analysis tool. With an amazing start, StockBot has a bright future of being a go-to tool for robust investment advice. Moving forward we hope to refine the user interface to be more welcoming and professional. Further, we want to add a sentiment analysis component to the app. Utilizing natural language processing we can scrape data from social media sites such as X (formerly Twitter), analyze the data using keywords to identify a positive, neutral, or negative sentiment associated with the data point, and output a digestible metric to the user as to the current sentiment regarding a stock or company of their input. This feature would allow even more robust investment decisions to be made as users can now compare quantitative data (our current project) with qualitative data (our extension). Another big addition we hope to make is the creation of the MockStock portfolio. Another extension to the application, this will allow you to enter a company and based on our quantitative and qualitative data we will map out the potential success of the stock for you– helping users create a mock portfolio and weigh stocks against each other to ensure the most financial success. We also hope to add smaller features such as the ability to create summaries for each company you view. Instead of just the information, users will gain access to a shot blurb that tells them what they need. As we move forward, we aspire to be a one-stop shop for financial analysis and help users attain financial freedom!

Built With

Share this project:

Updates