Daniel Knowles

rwn

Real World News🌎

ir a Real World News🌎

visitar el repositorio

Real World News agrega periodismo global en un único feed consultable. Scrapers con Playwright recopilan artículos diariamente de una lista curada de medios — Al Jazeera, BBC, Democracy Now, NPR — y Claude Haiku extrae datos limpios en JSON estrictamente tipado mediante tool-use, eliminando la fragilidad del parsing basado en regex. Los artículos se almacenan en Vercel Postgres a través de un endpoint de ingestión seguro y son renderizados por Server Components de Next.js en el momento en que llegan.

Características

Feed multi-fuente: Lee titulares de diferentes perspectivas en un solo lugar, agrupados y filtrables por fuente y categoría.

Búsqueda y filtros: Búsqueda instantánea en servidor con pestañas por fuente y filtros por categoría diseñados para escalar de 4 a 40 fuentes.

Actualización diaria: Un cron en GitHub Actions se ejecuta todos los días a las 11:00 UTC. Cada actualización es atómica — un fallo parcial nunca elimina los datos del día anterior.

Extracción estricta: Haiku funciona en modo tool-use con un esquema tipado extract_article, evitando depender de JSON no estructurado.

Renderizado incremental: Las páginas usan ISR para mantenerse actualizadas sin ser completamente dinámicas en cada solicitud.

Tecnologías Utilizadas

Framework: Next.js (App Router)

Lenguaje: TypeScript (estricto)

Base de Datos: Vercel Postgres con Prisma

Scraping: Playwright + Claude Haiku (tool-use para JSON tipado)

Programación: GitHub Actions cron (diario a las 11:00 UTC)

Ingesta: Endpoint POST seguro con autenticación Bearer

Estilización: CSS Modules, mobile-first, CSS Grid

Arquitectura: Server Components + Server Actions + ISR

Hosting: Vercel