Ground-0 is an AI-powered media surveillance and bias-detection platform designed to surface "The Truth in the Gap." By analyzing Sri Lankan media through a multi-stage ingestion and intelligence pipeline, it identifies how different outlets (State vs. Private) frame the same events, detect omissions, and quantify target-specific sentiment.
Sri Lanka's media landscape is a battleground of political framing. The most valuable insight isn't in what is reported, but in the Information Delta—the difference between Version A and Version B of the same event. Ground-0 automates the detection of this delta to provide a "Quantum of Utility" for analysts and informed citizens.
The platform is built as a high-performance NestJS monorepo using Turborepo and a distributed BullMQ worker architecture to process data through three primary stages:
- RSS Poller: Standardizes feeds from national newspapers (Daily Mirror, Island, News.lk, etc.).
- Near-Duplicate Detection: Uses
pgvectorand fuzzy matching to group stories into "Event Clusters" across sources automatically. - Technical Dredging: A Playwright-powered scraper that bypasses WAFs, handles 5-second JS delays, and implements fallback logic (AMP/Print Edition) to recover content for paywalled or summary-only news.
- Double-Pass LLM Pipeline (Groq/LLM):
- Pass 1 (Entity Detection): Identifies the "Target" (e.g., Central Bank, IMF, JVP).
- Pass 2 (Framing Extraction): Scores sentiment relative to the target and extracts "Charged Adjectives" (e.g., "necessary adjustment" vs. "crippling tax").
- The Delta Metric: Quantifies which facts are missing from state-sponsored versions of a story using vector search.
- Sentiment Spectrum: Visualizes where each outlet sits on specific political events.
- Omission Alerts: Highlights facts present in the cluster but absent in specific reports.
- Framework: NestJS (Distributed Worker Pattern)
- Orchestration: Turborepo + pnpm
- Data Pipeline: BullMQ + Redis
- Database: PostgreSQL (Neon) with pgvector
- ORM: Drizzle ORM
- Extraction: Playwright + @mozilla/readability
- AI Layer: Groq for high-speed LLM inference.
- Node.js >= 18
- pnpm
- Docker (for local Redis/Infra)
- Clone the repo:
git clone https://github.com/NelakaWith/ground-0.git cd ground-0 - Install dependencies:
pnpm install
- Local Infrastructure:
The project includes an
infra-up.cmdto spin up local Redis/Postgres requirements.pnpm dev
See the detailed RoadMap.md for Phase 1 (Ingestion), Phase 2 (Intelligence), and Phase 3 (Showcase) progress.
Private / Proprietary Prototype.