DEV Community

caelinsutch
caelinsutch

Posted on

Distributing Ethical COVID News Updates

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

https://covid-digest.com/

Link to Code

GitHub logo caelinsutch / covid-digest

Short COVID updates delivered three times a week via SMS. Summarized articles, statistics, and more

Covid Digest

GitHub contributors PRs Welcome TypeScript Open Source Love React Eslint

forthebadge forthebadge forthebadge

Master: CD

Development: CD

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)