We were inspired by the daily e-mail service, Morning Brew and wanted to create a way to automatically send users news stories and information about companies that they were interested in. This way, they could be on top of the stock market and current events at the same time!
What it does
- Chooses a company
- Retrieves Wikipedia article about selected company
- Transforms WikiText into plain text using lxml
- Uses Google Cloud Natural Language Processing to find most important keywords
- Sends keywords to Event Registry API
- Retrieves most relevant articles using keywords
- Uses Alpha Vantage API to retrieve realtime equity data
- Texts articles and stock prices to user using Twilio SMS API
How we built it
We built Glance using Python and various REST APIs to manipulate JSON data. Our code structure was modular, with each component of the project represented as a file that contained specific functions to be used by our main file. To collaborate effectively and maintain our code, we used Git version control.
Challenges we ran into
Because we were using many different APIs, it took awhile to learn the ins and outs of each. Connecting these different sources of information was also challenging, as we had to know how to manipulate specific parts of the retrieved data. Also, we had some difficulty trying to convert the retrieved WikiText to plain text for keyword parsing.
Accomplishments that we're proud of
In the end, we are proud of Glance as a tangible, working prototype that we can continue to build into a useful product. This was a result of applying our coding skills, learning more about these different services, and seeing how we could take advantage of each in order to provide the end user with data that they would want.
What we learned
The idea stage is very important! By spending more time on fleshing out the idea and how all of the project components would work together, we were able to code Glance at a much faster pace.
What's next for glance
Improve keyword search, look at 10-K reports for keywords, allow users to specify what information they want to receive, connect to other sources for more detailed financial information/analysis, identify different correlations between stock prices and news articles