World Monitor
Real-time global intelligence dashboard that fuses AI-synthesized news, geopolitical risk scoring, and infrastructure tracking into one open-source situational awareness platform.
Repository Health
Technical Analysis
Dependency Health
World Monitor is an open-source situational awareness dashboard that pulls together 500+ curated news feeds across 15 categories, AI-synthesized briefs, and 65+ external data providers spanning geopolitics, finance, energy, climate, aviation, cyber, and military domains, then renders it all on a dual map engine (a 3D globe built on globe.gl/Three.js and a WebGL flat map built on deck.gl/MapLibre GL with 56 map layer types). Its signature analytical layer is the Country Instability Index (CII v8), a server-authoritative stress score computed for 31 Tier-1 countries from cross-stream correlation of military, economic, disaster, and escalation signals, alongside a finance radar covering 29 stock exchanges, commodities, and crypto.
The project ships as far more than a single web app: six themed site variants (world, tech, finance, commodity, happy, energy) are built from one codebase, a native Tauri 2 desktop app targets macOS, Windows, and Linux, and the data is exposed programmatically through a public MCP server, a REST API described by an OpenAPI spec, and official zero-dependency SDKs in TypeScript/npm, Python, Ruby, and Go plus a CLI. AI features run through Groq, OpenRouter, or a fully local Ollama pipeline so a self-hosted instance needs no external API keys or cloud LLM calls to function.
The source is AGPL-3.0-only, with self-hosting fully free via Docker/Podman compose and a documented required-secrets setup (Redis auth, relay shared secret). The hosted worldmonitor.app product layers an optional Pro subscription (via Clerk auth and Dodo Payments checkout) on top that raises free-tier panel/source caps and unlocks premium data feeds — the dashboard code and self-hosting path themselves carry no license-key gate.
What You Get
- A dual-rendering map interface — a 3D WebGL globe (globe.gl + Three.js) and a flat WebGL map (deck.gl + MapLibre GL) with 56 selectable data layers
- The Country Instability Index (CII v8), a server-computed stress score for 31 Tier-1 countries built from cross-stream correlation of military, economic, disaster, and escalation signals
- 500+ curated, freshness-monitored news feeds across 15 categories drawn from 65+ external providers, synthesized into AI-generated briefs
- A finance radar spanning 29 global stock exchanges, commodities, and crypto with a 7-signal market composite
- Six themed site variants (world, tech, finance, commodity, happy, energy) built from one shared codebase, plus a native Tauri 2 desktop app for macOS, Windows, and Linux
- Programmatic access via a public MCP server, an OpenAPI-documented REST API, an official CLI, and zero-dependency SDKs for TypeScript, Python, Ruby, and Go
- A local-only AI mode via Ollama so briefs and analysis can run entirely offline with no external API keys
- 25-language support with native-language feed ingestion and RTL layout support
Common Use Cases
- Running a private, self-hosted geopolitical and news situational-awareness dashboard for a security or research team
- Feeding an AI agent structured risk, news, and market signals via the MCP server or SDKs instead of scraping raw feeds
- Monitoring cross-domain escalation (military movement, economic shocks, disasters) correlated onto a single timeline and map
- Tracking financial markets, commodities, and crypto alongside the geopolitical events that move them
- Embedding the CLI or Python/Go/Ruby SDKs into existing OSINT or risk-analysis pipelines
Under The Hood
Architecture
The codebase separates cleanly into a vanilla-TypeScript/Preact client (src/), a large surface of Vercel Edge Functions (api/), a shared business-logic layer consumed by both (shared/), and a thin server routing/gateway layer (server/router.ts, server/gateway.ts) that applies CORS, API-key validation, rate limiting, and error mapping ahead of every domain handler — each domain gets its own edge function so a cold start only bundles that domain’s code. API contracts are defined proto-first through an in-house RPC framework (“sebuf”) and enforced by a dedicated lint step, so client and server can’t silently drift out of contract. A Tauri 2 (Rust) shell wraps the same web bundle for desktop distribution, and the same src/ powers six config-driven site variants through a single VITE_VARIANT switch rather than six separate codebases. This is a genuinely layered, contract-enforced architecture rather than a single sprawling frontend.
Tech Stack The frontend is vanilla TypeScript with Preact (no heavyweight UI framework) on Vite, rendering through globe.gl/Three.js for the 3D globe and deck.gl/MapLibre GL for the flat WebGL map. AI features run through Groq or OpenRouter for cloud inference, Ollama for fully local inference, and Transformers.js/onnxruntime-web for in-browser ML. Data access runs through Redis (Upstash) as a multi-tier cache in front of Vercel Edge Functions, a Railway-hosted relay service, and Convex for reactive backend state; auth and billing are handled by Clerk and Dodo Payments respectively. The desktop build adds a Rust/Tauri 2 layer with a Node.js sidecar process.
Code Quality
TypeScript runs in strict mode with noUncheckedIndexedAccess, noUnusedLocals, and noUnusedParameters enabled, linted with Biome rather than a looser default config. Testing is extensive and varied: a large suite of Node-native unit/contract tests (including tests that assert documentation stays in sync with the actual API route implementations), a substantial Playwright end-to-end suite covering every site variant, and dedicated visual-regression tests comparing golden screenshots per map layer and zoom level. CI enforces linting, type-checking, feed validation, security auditing, and proto-contract checks as separate gated workflows. This is comprehensive engineering discipline for a project of this scope.
What Makes It Unique The distinguishing technical bet is the Country Instability Index — a maintained, versioned (v8), server-authoritative scoring algorithm that correlates military, economic, disaster, and escalation signals into a single stress score per country, paired with a dual 3D/2D map renderer and agent-native distribution (MCP server, llms.txt, agent-skills manifest, CLI, and SDKs in four languages) that few open-source dashboards attempt together. On the star count specifically: the ~74.6k stars are unusually high for a six-month-old repository, but the surrounding signals look organic rather than farmed — 119 contributors, 3,900+ merged PRs, 1,000+ filed issues, sustained commits through the day of this review, a real multi-surface product (live web app, six variants, desktop binaries, published npm/PyPI/RubyGems/Go packages) and comprehensive test/CI infrastructure investment. That combination is consistent with a project that went genuinely viral rather than one relying on inflated stars alone.
Self-Hosting
Licensing Model
The dashboard, server, and platform code are AGPL-3.0-only (a strong network copyleft license): self-hosting, modification, and commercial use are permitted, but a modified public network deployment must offer its corresponding source. The official thin API clients — the worldmonitor npm CLI and the Python, Ruby, and Go SDKs — are separately licensed MIT so they can be embedded in proprietary applications without copyleft obligations.
Self-Hosting Restrictions
- None found in the dashboard/server code itself — self-hosting via Docker/Podman Compose runs the full stack with no license key
- Some data feeds require third-party API keys (e.g. Groq/OpenRouter for cloud LLM features, various market-data providers) — these are provider credentials, not World Monitor license gates, and the app runs with public data sources and a fully local Ollama AI pipeline without any keys
- Required self-hosting secrets (
RELAY_SHARED_SECRET,REDIS_PASSWORD,REDIS_TOKEN) are operational auth secrets you generate yourself, not vendor-issued license keys
Enterprise Features
- A hosted Pro subscription (worldmonitor.app/pro) raises free-tier panel and data-source caps (defaults observed in code: 40 panels / 80 sources) and unlocks additional premium feeds, sold through Clerk-based auth and Dodo Payments checkout
- A separate commercial code license is available on request (via the GitHub repo) for teams that want to keep modified source private or combine it into proprietary products beyond what AGPL permits
- Official branding, white-labeling, and trademark use of the World Monitor name/logo require separate permission, independent of the code license
Cloud vs Self-Hosted The hosted worldmonitor.app product (and its themed variants) and a self-hosted instance run identical AGPL-licensed code; the only difference is the optional Pro subscription tier’s raised free-plan caps and premium feed access, which is a product/billing distinction rather than a code-availability one.
License Key Required No — the AGPL-licensed dashboard and self-hosting path require no license key. A license key/subscription only applies to the hosted Pro tier’s premium quota increases.
Related Apps
Uptime Kuma
Monitoring
Self-hosted monitoring for every service you run — 23 monitor types, 95 notification channels, live dashboards, and public status pages with no vendor lock-in.
Netdata
Monitoring · Devops
Real-time per-second metrics, ML-powered anomaly detection, and zero-config observability for any infrastructure.
Grafana
Monitoring · Analytics
The open-source observability platform that unifies metrics, logs, and traces from any data source into dynamic, queryable dashboards.