Automated Positive News Aggregator with Python & Node.js

Scrolling through negative headlines every day? I decided to change that. 𝐝𝐚𝐢𝐥𝐲𝐩𝐨𝐬𝐢𝐭𝐢𝐯𝐞.𝐧𝐞𝐰𝐬 automatically highlights positive news that actually matters. It’s an automated data pipeline + backend system that aggregates news from 16+ trusted sources and uses AI to filter noise and highlight articles with genuine positive human impact. The frontend is intentionally simple. It focuses on highlighting the day's most relevant positive news. The real work is in the pipeline, data flow, and backend architecture. 🔧 What I built: 🧠 𝐃𝐚𝐭𝐚 𝐏𝐢𝐩𝐞𝐥𝐢𝐧𝐞 (Python 3.12) A fully automated pipeline running 24/7: • Hourly and daily jobs fetching RSS feeds from BBC, Nature, MIT, Forbes, The Guardian, HBR and 10+ other sources • GPT-4o-mini scoring each article on positivity and human impact (0-1 scale) • Batch AI processing (20 articles per call, structured JSON output), bringing AI cost down to cents per day • PostgreSQL deduplication by URL (ON CONFLICT DO NOTHING) • Graceful degradation. One source failing never stops the pipeline 🧩 𝐑𝐄𝐒𝐓 𝐀𝐏𝐈 (Node.js + TypeScript) • Express.js with strict TypeScript • Helmet security headers and rate limiting (100 req / 10 min) • PostgreSQL connection pooling (pg) • Flexible filters by score, category, source, date range, country and language ☁️ 𝐈𝐧𝐟𝐫𝐚𝐬𝐭𝐫𝐮𝐜𝐭𝐮𝐫𝐞 (AWS) • Single EC2 instance running Docker Compose • 4 containers: PostgreSQL, pipeline, API and Nginx • Nginx as reverse proxy and static file server • HTTPS with Let’s Encrypt (Certbot auto-renewal) • Custom domain 🎯 𝐊𝐞𝐲 𝐞𝐧𝐠𝐢𝐧𝐞𝐞𝐫𝐢𝐧𝐠 𝐝𝐞𝐜𝐢𝐬𝐢𝐨𝐧𝐬 • Dual AI scoring. Positivity alone isn’t enough. • Final score = positivity × 0.45 + human impact × 0.55 • Batch-first AI design to reduce cost and latency. • Database-level guarantees instead of application logic. • Fully containerized services for isolation and reproducibility. 📊 𝐑𝐞𝐬𝐮𝐥𝐭 A production system running 24/7, automatically curating positive news from around the world. Total infrastructure cost under $3 per month. 🔗 In the comments I built this project to practice backend and data engineering concepts on a real-world problem. Feedback is very welcome. #Python #TypeScript #NodeJS #PostgreSQL #Docker #AWS #OpenAI #Backend

  • text, application

To view or add a comment, sign in

Explore content categories