Inspiration
As STEM students who are interested in investing, we recognized that there was a lack of investment advice offered by the automatic investment services on common investment platforms. They make the investments, but offer little explanation as to why they did so. We believed that an AI tool that could both inform and teach individuals about investing would be extremely beneficial, as it would improve the financial literacy of its users. That led us to create GrowFolio, and investment tool that offers insightful explanations and advice for investing. For individuals with little to moderate financial literacy, this tool is perfect to grow both their financial knowledge, and their portfolios.
What it does
GrowFolio serves as an investing tool that both teaches and offers advice for individuals interested in investing. Our program is a Google Chrome Web Extension, which utilizes Google Gemini 2.5, alongside our own custom ML model (covering 24 stock companies) to analyze an individual's financial information, offering thoughtful insights and tips into which areas that user should invest. If users want short-term investing, we'll display stocks they can invest in - their current price, the price they should buy in at, and the price they should sell at. If users want long-term investing (to retirement), we'll display the best investment opportunities for them, alongside how their investment money should be allocated.
How we built it
GrowFolio was built using:
- JavaScript, HTML5, CSS3 for the front end
- Python on the back end, using FastAPI to connect our Chrome Web extension to Google Gemini 2.5
- Google Gemini 2.5 Flash for user query analysis
- Created a custom ML model with Pytorch, using 24 companies with 48 trained models (5 min and 15 min)
- Railway to host our FastAPI web server
- Hugging Face to hose the ML models
- Finnhub API for current market data
Challenges we ran into
- ML model had too much data, resulting in extended training times -> needed to reduce dataset
- Handling sensitive information from users -> use Chrome local storage
- Gemini 2.5 output was over-detailed -> needed to refine output
- Our FastAPI web server couldn't call Gemini AI -> needed to change the model in our backend
- Needed to host our web server externally, rather than locally
- Our logo on our front end displayed extremely small -> needed to resize and reformat our images
- Waiting for the back end to be completed so it could be integrated with the frontend
Accomplishments that we're proud of
- Successfully created an ML model with 24 companies and 48 models (5 min and 15 minute intervals) with 60-70% accuracy
- Able to process 16 queries from the user, running it through Gemini 2.5 Flash to offer thoughtful insights and tips
- Created a modern and fluid chrome web extension
- User insights vary depending on whether a user wants long-term or short-term investments
- Provide users with current stock prices, and offer prices to buy and sell at
- Status saves once the extension is closed - user can re-open GrowFolio and view their insights
- FastAPI web server is hosted externally - users only need to configure the front end extension
What we learned
- How to create a Chrome Web Extension from scratch
- Using Pytorch, Pandas, etc to create a custom ML model, and the extensive time it takes to train your own model
- How FastAPI can be used to create a web server which can call an AI API for queries
- Working in a team, dividing up work and roles/responsibilities to complete a project in a limited time frame
- The importance of having the back end completed early/before the front end
- How to host a web server externally (using Railway)
What's next for GrowFolio
To expand GrowFolio, we would implement live updates, letting users know when they should purchase or sell stocks.
- SMS messages sent to users, letting them know when they should sell or purchase a stock
- Connecting our extension to common investment platforms ex: Wealthsimple
- Expanding our ML model to include more companies
- Multi-browser support
- Mobile app for on-the-go insights and support
- Community driven investment insight
Built With
- chrome-devtools
- chrome-extension-api
- chrome-local-storage
- client-side-storage
- css3
- data
- docker
- fastapi
- finnhub-api
- git
- github
- google-gemini-ai
- html5
- hugging-face
- javascript-(vanilla)
- microservices-architecture
- numpy
- pandas
- postman
- pydantic
- python-3.9+
- pytorch
- railway
- real-time
- restful-api-design
- scikit-learn
- uvicorn
- vs-code
- yahoo-finance

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