How I Built a News Velocity Tracker with Redis, Neo4j, and Python

2025-03-25By Chad Linden

How I Built a News Velocity Tracker with Redis, Neo4j, and Python

Data dashboard showing news articles moving along a timeline with velocity arrows

Ever wanted to quantify how fast a news story spreads?

I built a “news velocity tracker” that scores articles based on how quickly they appear across sources, social, and aggregators.

Here’s how it works.

🏗️ The stack

Scrapers collect news URLs + metadata
Redis counts hits in real-time
Neo4j links articles to entities (people, orgs, events)
Python app calculates a velocity score

Velocity is defined by rate of mentions over time. The faster the slope → higher the velocity.

A sample query

MATCH (a:Article)-[:MENTIONS]->(e:Entity)
WHERE a.timestamp > datetime().epochMillis - 86400000
RETURN e.name, count(a)
ORDER BY count(a) DESC

Boom: hottest entities in the last 24 hours.

Why this is useful

  • Spot breaking stories early
  • Map which networks amplify which stories
  • Track how long a story stays “hot”

Takeaway: News moves in waves. Tracking velocity helps you surf instead of sink.