How I Built a News Velocity Tracker with Redis, Neo4j, and Python
2025-03-25•By Chad Linden


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.