Konfliktometr — geopolitical tension measurement system
Overview
Konfliktometr is an independent, non-commercial project — a neutral system for measuring geopolitical tension. Instead of aggregating headlines, it computes a Conflict Score on a 0–100 scale for conflicts, regions and countries, based on a public, auditable methodology.
Problem
Media measure engagement by the number of news items, not by actual tension. Konfliktometr separates signal from noise: it shows the index, the source data, and exactly how it was computed.
How it works
- Monitoring (L1) — automated ingestion of signals from GDELT and RSS/Atom sources: hundreds of events per day, filtered and grouped into stories.
- AI analysis (L3) — a structured-outputs pipeline scores events, produces multi-source editorial analyses (with trust metrics) and queues them for publication within a daily cost budget.
- Conflict Score — a weighted sum of components (military intensity, geographic reach, political escalation, humanitarian and economic impact, cyber), smoothed over time.
- Presentation — an interactive operational map, a real-time event stream, country and region rankings, and a moderation panel at /admin.
Architecture
A Next.js App Router app (strict TypeScript, Tailwind CSS) backed by PostgreSQL + Prisma with Zod validation. The AI pipeline runs as separate queue workers (BullMQ/Redis), the world map is rendered with d3-geo/topojson, and model integration uses OpenAI (structured outputs, daily budget cap). It is deployed on Railway as web + workers + Postgres + Redis (Docker), with CI/CD, tests (Vitest) and structured data (JSON-LD) for SEO.
An independent project — the methodology is public and auditable, and content is produced under safety and transparency rules.
Tech
Screenshots





