I built a little streaming news web app that shows the relative bias of each news organization directly next to the headline. The idea is that it might help you make a little more sense of the actual headlines you see on a daily basis. You can filter the stream for more left or more right-leaning sources.
It works nicely on desktop as well as mobile. The app is a little side-project as I wanted to experiment with using serverless functions. There was no intent to make it public but since I'm now using it as my primary source of news consumption, I figured I might as well share it.
The purpose of the frontend is to be as minimal as possible. The frontend is built with React. All it does it is grab and display the latest 50 news articles from the backend. If you click any news article you will be redirected to the original news article.
The backend is Node Express REST API that delivers data from a database. The database is populated by an aggregator every 30-ish minutes. The aggregator is built on Node and is able to parse a large amount of data sources in order to grab headlines, and runs on AWS Lambda as a scheduled serverless function.
There is currently no intelligent logic in sorting the articles. Every 30 minutes, all sources are parsed and the latest 50 headlines are shown. So, if news org #1 uploads 50 news articles while 40 other news orgs all upload 1 article a minute before News Org #1 uploads their articles, you will only see News Org #1 headlines. So, you will sometimes see more articles from the blue side than the red side and vice versa depending on when you look. Some of the news orgs tend to make a lot more posts than other news orgs which is why some seem to dominate the feed. So, know that there are an even number of blue and red sources and what you see in the top 50 is not curated in any way. ...I have no political affiliation or preference here, I just like building apps and am making it public in its current state.
The original idea was to use WebSockets to make it truly real-time. However, to achieve that I will need to pay a lot of money for IP rotation services each month, and it would make more sense to implement it as a subscription service imo (which defeated the purpose of a simple 'side project' to play with serverless)... So, I KISS and just refresh every 30-ish minutes.
Take a look, maybe you will enjoy!
Hi Lucas, I like it very much.
How do you know the bias? What do you use to detect left/right bias ?
Thanks q!
There is no active detection for bias. That would be amazing to do though, something like ML to gauge the bias.
Right now, I have a tag for each source and each headline just grabs the tag from there. So, if a source with a left-leaning tag would publish an actual right-leaning article, it would still be tagged as left-leaning. It's definitely not perfect and rather simplistic but seems to be serving its purpose.