Skip to content

Repository files navigation

News Pulse

Real-time global news monitor for journalists and OSINT analysts. 668 vetted sources across six platforms, surfaced through frequency-based surge detection rather than engagement ranking.

Live at news-pulse.org.

Features

  • Real-time feed from 668 vetted sources: Bluesky, RSS, Telegram, Reddit, YouTube and Mastodon
  • Surge detection — flags 2x and 4x posting spikes against rolling baselines, so volume tells the story instead of engagement
  • Six-region world clock with independent activity baselines (US, LATAM, Middle East, Europe-Russia, Asia)
  • Three-tier Claude summaries — Haiku, Sonnet and Opus, each clearly labeled with the model that wrote it
  • Multi-layer maps:
    • Seismic — real-time USGS earthquake data
    • Weather — NOAA/EONET/GDACS severe weather alerts
    • Fires — NASA FIRMS satellite wildfire detection
    • Travel — US State Dept travel advisories
  • Source credibility — tiered badges (OFFICIAL, OSINT, REPORTER, GROUND)
  • Tiered fetch architecture — critical sources first, the rest async

Quick Start

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env.local
# Add your ANTHROPIC_API_KEY for AI features

# Start development server
npm run dev

# Open http://localhost:3000

Tech Stack

  • Framework: Next.js + TypeScript
  • Styling: Tailwind CSS
  • Maps: react-simple-maps
  • AI: Anthropic Claude API
  • Data sources: Bluesky API, RSS, Telegram, Reddit, YouTube and Mastodon feeds, plus USGS, NOAA, NASA FIRMS/EONET, GDACS and State Dept overlays

Project Structure

src/
├── app/
│   ├── api/          # All data APIs (news, seismic, weather, fires, etc.)
│   └── page.tsx      # Main dashboard
├── components/       # React components (maps, feeds, cards)
├── lib/              # Utilities (sources, parsers, detection)
└── types/            # TypeScript definitions

Environment Variables

Create .env.local:

# Required
ANTHROPIC_API_KEY=your_key_here      # AI summaries
NASA_FIRMS_API_KEY=your_key_here     # Wildfire satellite data

# Optional: Bluesky auth for higher rate limits
BLUESKY_IDENTIFIER=your-handle.bsky.social
BLUESKY_APP_PASSWORD=your-app-password

License

MIT

About

News Pulse — real-time news monitor aggregating 668 vetted sources with tiered AI summaries. Next.js, React, TypeScript.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages