Real World News aggregates global journalism into a single, searchable feed. Playwright scrapers pull articles daily from a curated list of outlets — Al Jazeera, BBC, Democracy Now, NPR — and Claude Haiku extracts clean, strict-typed JSON for each article via tool-use mode, eliminating the brittleness of regex-based parsing. Articles land in Vercel Postgres through a secured ingestion endpoint and are rendered by Next.js Server Components the moment they arrive.
Features
Multi-source feed: Read headlines from across the spectrum in one place, grouped and filterable by source and category.
Search and filtering: Instant server-side search with source tabs and category filters designed to scale from 4 sources to 40.
Fresh daily: A GitHub Actions cron runs every day at 11:00 UTC. Each source refresh is atomic — a partial failure never wipes yesterday's data.
Strict extraction: Haiku runs in tool-use mode with a typed extract_article schema, so the ingestion pipeline never has to trust free-form JSON.
Incremental rendering: Pages use ISR so production stays fresh without going fully dynamic on every request.
Technologies Used
Framework: Next.js (App Router)
Language: TypeScript (strict)
Database: Vercel Postgres via Prisma
Scraping: Playwright + Claude Haiku (tool-use mode for strict-typed JSON)
Scheduling: GitHub Actions cron (daily at 11:00 UTC)
Ingestion: Secured POST endpoint with Bearer token auth
Styling: CSS Modules, mobile-first, CSS Grid for layout
Architecture: Server Components + Server Actions + ISR
Hosting: Vercel
