Veritas News
Readers have no easy way to see sentiment, political framing, or bias across how different global news outlets cover the same story.

Technology Architecture & Stack
Built a production-style decoupled platform. A scraping pipeline powered by Oxylabs API & Scheduler automatically ingests global news articles. An AI analysis engine using Google Gemini via Vercel AI SDK processes each article—extracting neutral summaries, sentiment scores (-1 to +1), political framing distribution (Left/Center/Right % summing to 100%), and loaded terms. Articles and 768-dimensional embeddings generated with Gemini text-embedding-004 are saved to Supabase (pgvector) to power vector similarity search across related stories. Vercel Cron automates the batch pipeline.
Key Features & Functionality
- Multi-source live and scheduled automated web scraping via Oxylabs API.
- AI analysis engine generating neutral summaries, -1 to +1 sentiment scoring, and political framing percentages.
- 768-dimensional vector embeddings using Gemini text-embedding-004 stored in Supabase pgvector for real-time related article similarity search.
- Automated Vercel Cron background pipeline handling two-day batch scrape-then-analyze cycles.
- Authentication and role management managed via Clerk Auth.
- Product analytics and methodology verification tracking integrated with PostHog.
System Architecture & Technical Design
Strict layer separation: the Next.js UI component layer only reads pre-computed analytical state from Supabase and never directly invokes web scrapers or costly LLM mutations.
Key Engineering Takeaways
Decoupling automated background jobs (Vercel Cron + Oxylabs) from read-side rendering dramatically increased frontend reliability and eliminated latency spikes.