Daniel Knowles

rwn

Real World News🌎

go to Real World News🌎

visit the repo

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