My Final Project
One of the biggest problems I've found with the current COVID news coverage is the overload of information. If you check in with global news, like BBC, national news, like CNN, and local news stations, to get COVID news updates, you get a ridiculous amount of repetitive stories that can increase anxiety.
I've found that by carefully curating my news sources and stories, I can keep my mind grounded and be in a better mental state. I created Covid Digest to help others do the same.
This open source project uses React, Firebase Auth, Firestore, and Functions, and Twilio to scrape the internet for news stories, use a text summarizer to summarize the articles, then the Twilio API to send out condensed news updates and Coronavirus statistics to your SMS messages.
Demo Link
Link to Code
caelinsutch / covid-digest
Short COVID updates delivered three times a week via SMS. Summarized articles, statistics, and more
Covid Digest
Summarized News stories and COVID facts delivered by text weekly. Made with ReactJS, Firebase Functions, and Twilio SMS
How Summarizing Works
First, we comb the BBC COVID stories webpage for articles, take the title of each link and article, then comb each individual article to get the article words Each article is passed through a Frequency based summarization algorithm from node-summarizer, described as
This type of summary works best for text that is not too complicated.Split the given text into sentences Preprocess the sentences by removing all punctuation and making all letters lowercase Make a list of all the words that occur in the text and find the frequency of the words. Take the calculated frequencies of the words and calculate the total weight of the original sentences.
and then stored in a database. Every day, we sent out a summarized article using the Twilioβ¦
The Tech
I fully designed this project in Figma, and built the frontend and backend with the assistance of Alden Parker. I've used this project to solidify my understanding of React w/ Typescript. I come from an Angular background, so I'm happy I've been able to use TS all over this project :)
Firebase was used due to development time. Yes, I could make my own REST, gRPC, or GraphQL API on my own, but that would add a few weeks to development, and I'm juggling quite a few other projects (Go check out Comet Code ) that I spend most of my time on. This project was built after my workday at Bytes Robotics, so about 3-4 hours a day, and on Sundays. The only thing I'm really missing is a testing framework.
All in all, I'm pretty happy with how this project turned out, and the number of people that use it and are satisfied with the product I made.
How Summarizing Works
First, we comb the BBC COVID stories webpage for articles, take the title of each link and article, then comb each individual article to get the article words. Each article is passed through a Frequency based summarization algorithm from node-summarizer, described as
This type of summary works best for text that is not too complicated.Split the given text into sentences. Preprocess the sentences by removing all punctuation and making all letters lowercase. Make a list of all the words that occur in the text and find the frequency of the words. Take the calculated frequencies of the words and calculate the total weight of the original sentences.
and then stored in a database. Every day, we sent out a summarized article using the Twilio API to all the users who have signed up.
Technologies:
Frontend
React site using AntDesign and React Bootstrap
Backend
Firebase Cloud functions hooked up to Cloud Firestore and FireAuth for phoen authentication. Twilio is used for SMS delivery. Web Scrapping is used to comb the BBC Coronavirius coverage and pull the stories into a database, where they're sent out to users.
This whole project is open sources, and PR's are welcomed :)
Top comments (0)