Inspiration
We've noticed a common problem among other young adults, and adults alike. It is hard to save money. And all the alternatives, like buying stock or investing somewhere, tend to be really complicated. That's why, we want to facilitate and provide means to obtain healthier finances. Therefore, we created this financial advisor.
What it does
This financial advisor takes in real time data from an API to provide the best stocks in the market according to an AI powered analysis that chooses the best companies to invest in. This analysis is based on 3 main factors:
- The volume of the stock which garantees an initial company filter, in order to have stable companies. .
- The feedback from the AI which takes into account things like the company reputation, past returns, day openings and closings, etcetera, to provide the best possible choices.
- The income of the user, in order to display the stocks that could be affordable to them, along with the recommended amount to buy based on his input.
The user is also able to add the stocks to his wishlist. It features a login, and a signup, with end to end data encryption, using jsonwebtoken, to keep the passwords secure, even if the database is breached.
How we built it
We built it using a MERN framework, managing the database with mongoose, and the login logic along with the authentication using jsonwebtoken and express. The backend is the one in charge of managing the api requests to the openai api, we are using gpt-3.5-turbo for the prompts. On the samepage, the backend receives a request from the frontend, which is getting the up-to-date data from the Polygon.io api . We then gather the relevant information and filter it to account for the different specifications that we set for each stock, in order to make the request to the openai api, which we have working on the backend. The AI functions as our "last filter" of information, it has been instructed to make an educated decision on choosing the most profitable stocks according to the information it receives from the stocksapi (polygon), the company's reputation, the user's income, and the huge amount of factors we can't list here, as it would be too long.
TLDR: To account for the lack of real time information on openai api, we feed it a request with the stocks api which contains the information of each stock, along with the user income, and the application's preferences for each stock, in order to prevent the AI from making mistakes. And we then display the result on our friendly UI.
Challenges we ran into
The complicated logic to manage the requests and filter the data. The lack of funds. (openai ate my 10 dollars) It was challenging to integrate the data types from polygon api to our openai api, and manage the user's input at the same time, along with all the filters and research we made. Merging conflicts
Accomplishments that we are proud of
Making it work Design Logic Authentication logic Teamwork Fast Delivery Integration
What we learned
Finances are hard Time management Working together in a framework Version control Code review
What's next for HacksBricsTeam
More hackatons Freelance projects
Built With
- aos
- axios
- bcrypt
- chartjs
- cors
- css3
- dotenv
- express.js
- formik
- javascript
- jsonwebtoken
- mongodb
- mongoose
- node.js
- nodemon
- openai
- polygonapi
- react
- react-router-dom
- validator
Log in or sign up for Devpost to join the conversation.