Inspiration
Investing has become more accessible than ever. The internet has provided the public with hundreds of thousands of videos and media on learning the market. Investors now have access to endless charts, news articles, financial metrics, opinions, and ideas. All this information can become a little too overwhelming, a little too quick.
Our team was inspired by the struggles it takes to learn something this difficult when you don't know where to start or how to understand.
We decided to create a stock research website designed to bring together ideas of a traditional stock website, but rather than simply displaying information, we would use AI to act as a guide through the highs and lows of the market. We wanted to make specialized tools that we ourselves would have loved to have during our trading journey.
What it does
Our AI-powered website will naturally guide the user through the noise and toward the most essential information they need. It turns complex information into a smaller, more understandable form. Users can search for companies and have access to price info, market data, and specific research tools. These tools are made to provide the user with specialized assets that will help them understand the market better. Tools such as "Daily Insight" that gives the user an idea of why the stock moved in that certain direction, allow the user to learn more about what is driving the current stock and what could move similar stocks in the future. Other tools like the "Headlines" tool that allows the user to see what are the most important events currently happening that might be affecting that company. Our tools not only help the user make the most informed investing decision, but also help them learn more about how the stock market works and why it moves, when it does.
How we built it
We created our website primarily in Python using Flask as the framework. We used http methods to connect our research tools to the front end for the website, which we coded using the React framework with TypeScript and Tailwind CSS. We used yfinance to scrape live and historical stock data such as historical prices, trading volume, valuation metrics, market cap, etc. for use in displaying and in feeding data to our Gemini API. We then coded specific scripts to feed Gemini along with our yfinance stock data, which would allow Gemini to search the internet and use our data to output a tailored response to the user.
Challenges we ran into
-Our first challenge was learning how to use Github together. Running into challenges with miscommunication and merge errors made us increasingly stressed, but through the length of the project, we learned how to be more efficient in helping each other work as a team and structure the project with all team members in mind. -Another challenge was coming up with good tools that we would have appreciated having in our trading journey. We spent a good amount of time just thinking of ideas for these tools. -We also spent a lot of time considering the design for the app as we wanted to give the minimalist feel that a traditional stock website has. -Implementing the AI was also quite the challenge while we figured out what types of prompts we needed to give the LLM in order to get a response that we found adequate. -Our biggest issue was just being able to get all the parts (front-end, back-end, server, API, yfinance, working all together without issue. It took us an incredibly long time on each tool working out the small issues that would arise.
Accomplishments that we're proud of
-We are extremely proud that we even finished. As first time coders, we believed that we wouldn't even be able to finish the project on time. We gave it everything, and just being able to finish is our biggest accomplishment yet. -We are also extremely proud to be able to have a fully running website that not only displays something, but researches and provides true, important data for people to use. -We love the fact that we were able to get past little issues that we didn't think we would be able to solve, like fixing bugs that we did not understand at first. -We are also more than happy with the way the website looks in general. It is aesthetically pleasing and relatively simple, just as we planned it.
What we learned
We learned a lot more than we ever thought we could have on this project. -We learned how to work with AI API's, connecting them to your program and getting a information from them. -We learned how to work with financial data and display it in a way that makes it easy to understand -We learned how to work with LLM integration, giving them information, prompting them correctly, and implementing their output. -We learned how to not only build the website but deploy it, changing it from locally to production, and changing its domain name. -We learned how to work with frontend and backend communication. -We learned how to change the scope of the project and adapt to certain constraints like our time limit. Being able to work around time, even when its not on your side, and adapting to still create something that we are proud of.
What's next for Threadstone
Threadstone has an incredible amount of room to expand. Future versions can come with deeper analysis, valuation skills, quicker loading times, and more tools such as risk radar or thesis creator. We would love to have better live tracking for charts and a better charting system. We want to create more questions for the users to access along with more features that would help them analyze the market. Ultimately, our vision is for Threadstone to easily understand why things our moving the way they are without wondering why or where to start.
Built With
- flask
- gemini
- python
- railway
- react
- typescript
- yfinance
Log in or sign up for Devpost to join the conversation.