
Media Analysis Reimagined
In today's rapidly evolving media landscape, understanding how different platforms shape public discourse has become crucial for informed citizenship. Traditional legacy media outlets - newspapers, television networks, and established digital publications - operate under editorial standards developed over decades. Meanwhile, social media platforms like X provide real-time, unfiltered reactions from millions of users, creating a dynamic environment where news spreads instantly but with varying degrees of accuracy and emotional intensity. This AI-powered app monitors top global headlines and finds corresponding X posts, comparing how the same stories are covered, discussed, and received across these fundamentally different media environments. By examining sentiment patterns, emotional responses, and narrative framing, we can discover hidden patterns that influence how society processes information, forms opinions, and makes decisions. This comparative approach doesn't seek to determine which platform is "better," but rather to illuminate how each contributes to the complex tapestry of modern news consumption, helping readers develop media literacy skills essential for navigating our interconnected information age. Specifically, news stories are analyzed for overall sentiment (on a 0-1 scale where 0=very negative, 1=very positive) as well as the dominant emotion expressed, from both legacy sources and X posts. The data is then filtered for news items that are covered substantially differently and conveniently displayed in a table below (see the Latest Data section) for users to peruse, along with a commentary on the differences. The data automatically updates each day at 10pm CST (to capture a full day's worth of news stories), and is automatically posted here as well as on our X account, @h45hb4ng_data. Note that while only stories with a substantial difference in coverage are displayed here (in the latest data section), the full data for each article is in the database in case you'd like to refer to it later. See the source for further details.
Latest Data
Comparison of world news coverage between legacy media outlets and social media discourse on X. Data is automatically updated daily at 10pm to capture evolving narratives based on a full day's worth of news headlines.
| Timestamp | Article Title | Legacy Sentiment | X Sentiment | Legacy Emotion | X Emotion | Analysis |
|---|---|---|---|---|---|---|
| March 16, 2026 @ 11:28AM | Senate prepares to vote on Trump's SAVE Act. And, takeaways from last night's Oscars | 0.5 | 0.45 | Neutral | Anger | The NPR article adopts a neutral tone across its coverage of the Middle East war, Trump's SAVE Act, and the Academy Awards. In contrast, X reactions are highly polarized: strong support and urgency for passing the SAVE Act from pro-Trump users (sentiments ~0.8), opposition viewing it as election interference (~0.2), predominantly negative sentiments toward the US/Israel actions in the Middle East war (~0.3), and mixed neutral-to-critical takes on the Oscars' political moments. This results in an average X sentiment of 0.45, with anger as the most common dominant emotion due to passionate calls to action and criticisms. |
| March 16, 2026 @ 12:00AM | I followed the Chinese playbook for success, then quit Meta for startup life. It feels like being on-call 24/7. | 0.75 | 0.68 | Inspiration | Unknown | The X posts sharing the article largely echo its positive and inspirational tone, focusing on Yuhao Xu's successful transition from a stable Big Tech job to founding an AI startup Kuse, while noting the trade-offs like constant on-call demands. With an average sentiment of 0.68, reactions are slightly less optimistic than the article's 0.75, emphasizing realism over pure inspiration. The dominant emotion matches the article's 'inspiration', as shares portray the story as motivational despite the challenges. |
| March 16, 2026 @ 4:43PM | F-15E Strike Eagles, deployed during Operation Epic Fury, can fly 2.5 times the speed of sound. Take a closer look. | 0.5 | 0.6 | Neutral | Positive | The article adopts a neutral tone (sentiment 0.5), factually describing the F-15E Strike Eagles' capabilities in the Epic Fury 2026 exercise. X posts exhibit a slightly more positive average sentiment of 0.6, with several users praising U.S. military prowess and air dominance in related operations against Iran. While some reactions note aircraft losses with sarcasm or concern, the dominant sentiment leans positive, differing from the article's impartiality. |
| March 16, 2026 @ 3:20PM | Saudi Arabia Buys Another 5 Percent Of Capcom As Resident Evil Requiem Sells 6 Million Copies | 0.75 | 0.48 | Excitement | Concern | The article's excited tone (0.75 sentiment) celebrating Resident Evil Requiem's 6 million sales amid Capcom developments contrasts with X reactions, which average a neutral 0.48 sentiment. While some posts share enthusiasm for the sales figures, many express concern over Saudi Arabia's increased stake in Capcom, fearing potential influences on game content like censorship seen in SNK acquisitions. Overall, X discussions introduce geopolitical skepticism not emphasized in the article's positive framing. |
Archive
To access data for a previous date, please refer to our account on X, which automatically posts the current day's data at 10pm CST daily.
Source Code
This project is completely open source and free. It requires only PHP, MySQL, and API keys for xAI and NewsAPI. It is webserver agnostic, so you can use Apache, nginx, or whatever else will run PHP. The code that automatically posts the data to X also requires an API key from X and the free software packages wkhtmltopdf/wkhtmltoimage and ImageMagick (if you're running Ubuntu, sudo apt install wkhtmltopdf imagemagick is quick and easy).
Here is a quick rundown on the files:
- config.php - set your API keys here
- database.php - database functions to connect to your MySQL server, uses the MySQLi PHP extension
- get_news.php - gets today's global news headlines from legacy source via NewsAPI
- index.php - this file, which acts as the primary frontend
- main.php - responsible for invoking the functions defined in get_news.php, xai_article.php, and xai_x_posts.php. This is the file you want to execute in your crontab
- table.php - handles the latest data table, index.php calls this file as an include
- xai_article.php - passes a legacy news article to the xAI API to perform sentiment and emotion analysis
- xai_x_posts.php - searches X (via xAI API) for posts describing a particular news story. Finds the average sentiment and dominant emotion among these posts
- x_post.php - responsible for automatically posting the data to X. This should also be executed via cron slightly after main.php. Personally, I run them at 10:00 pm and 10:05 pm. Note that this requires an X API key in config.php as well as the TwitterOAuth package (easy install via composer)