Inspiration Today’s world is loud: markets, headlines, and social feeds all push narratives at once, while the human cost of conflict often stays abstract or out of reach. Wars and crises are summarized in slogans, yet the trade-offs behind decisions rarely surface in a form ordinary people can reason about. Leaders act; populations live with consequences they did not choose. Sovereign Atlas started from a simple wish: cut through some of that noise, make tension between “what we hear” and “what people on the ground experience” visible, and let people explore what might change if a lever moved—not to replace democratic or executive process, but to shed light on today’s issues and on plausible futures when a parameter (sanctions, escalation, aid, trade shocks) shifts.

What it does Sovereign Atlas is decision support, not autopilot. For a selected conflict region it pulls three kinds of signal in parallel—financial stress (Auditor), social / narrative-style load (Pulse, blended with open media data), and human- and daily-life-style indicators (Micro-Agent)—and fuses them into a single regional snapshot (Conflict Node). A short council-style reconciliation adjusts how strongly the social layer counts when it disagrees with the rest. The system flags narrative–reality tension when those layers diverge, builds an executive tension report, and uses Claude to draft policy-style interventions that are then scored with Monte Carlo uncertainty, hijack-risk heuristics, and guardrails that reject proposals that cross non-negotiable lines. The globe UI drives analysis; a what-if sandbox lets users type scenarios and see heuristic stress projections and stress zones on top of the same MCP baseline. Humans decide; the app maps and ranks.

How we built it We used a TypeScript monorepo with clear package boundaries: @sovereign/types for shared schemas, @sovereign/data-sources for open APIs (e.g. World Bank, GDELT, Wikipedia, optional NewsAPI and ReliefWeb) that nudge scenario scaffolds, and three MCP servers—Auditor, Pulse, and Micro-Agent—each exposing tools the synthesizer calls over stdio MCP. The Orchestrator fans out calls, merges data provenance rows, runs the deterministic debate engine, builds the tension report and constitutional weighting, calls Anthropic for proposals, and runs @sovereign/proposal-engine (guardrails + Monte Carlo). An Express API exposes /api/analyze and /api/simulate; the React + Vite front end uses Three.js for the globe, panels for reports and attributions, and a proposal console for ranked outcomes.

Challenges we ran into Signal honesty: Real conflict analytics need proprietary feeds and ground truth we don’t have in a hackathon window, so we had to be explicit about mocks, scaffolds, and public-data proxies and surface that in the UI instead of pretending X/Reddit were live. MCP over stdio added process and debugging overhead compared to a single binary. Latency: the full pipeline (multiple MCP round-trips + Claude + thousands of MC iterations) is slow; the UI uses staged loading so the experience stays intelligible without lying about completion. LLM brittleness: proposal JSON sometimes needed fence-stripping and parsing defensiveness. External APIs: rate limits, missing countries, and optional keys meant hit/miss/skipped states in provenance—not every region gets the same enrichment.

Accomplishments that we're proud of We shipped an end-to-end path from globe selection to a structured node, debate transcript, tension narrative, ranked interventions with confidence bands and hijack risk, and guardrail rejections—with merged data attributions so judges and users can see what tier each input came from. We’re proud of the narrative–reality conflict idea as a first-class output, not an afterthought, and of the what-if sandbox that ties the same baseline to scenario language. The line “AI maps. Humans decide.” matches how the system is actually wired: recommendations and stress maps, not execution.

What we learned Fusion beats a single model: Treating finance, narrative pressure, and human-ground signals as peers that can disagree is more honest than one chatbot summary. Provenance is non-optional for trust—especially when demos use mocks and public proxies. Orchestration contracts (typed tools, MCP boundaries) make it possible to swap data sources later without rewriting the whole story. Guardrails are as important as generation: some options should be refused before they’re gamified. And latency and UX have to be designed together when you chain agents and an LLM.

What's next for Sovereign Atlas Richer ground truth: Real polls, verified identity, and vetted local reporting instead of scaffold-only micro signals. Stronger finance and trade: Live or licensed market data and actual trade flows, not just macro nudges and release metadata. Better social layer: Optional platform APIs or partner feeds, with clear sampling methodology. Calibration: Tune Monte Carlo noise and intervention effects with experts or backtests. Governance: Roles, audit exports, and explicit “human sign-off” workflows. More regions and scenarios with regional experts reviewing default frictions. The north star stays the same: more light on complex issues, transparent multi-signal maps, and space for people to understand consequences—with humans still owning the decision.

Built With

Share this project:

Updates

Submission history