AI-native decision simulator for global digital infrastructure, cyber resilience, AI dependency resilience and business continuity.
A portfolio-grade, single-page command center that renders global digital infrastructure on a cinematic 3D globe and lets an executive simulate incidents — submarine-cable cuts, cloud-region degradation, identity-provider outages, ransomware, and AI-provider failures — then see the projected impact on resilience, continuity, AI dependency and cyber risk, with board-ready decision options and a deterministic AI copilot.
Demo environment. Scenario impact and enterprise metrics are simulated. Public provider status intelligence uses live/reference feeds for operational context. No real company-sensitive data is used, and there is no real-time tenant-specific monitoring. AI recommendations are decision-support only; human validation is required for real operations.
Most "ops dashboards" stop at telemetry. This project models the layer above telemetry — executive crisis decisioning — and treats AI services as critical infrastructure alongside cables, cloud and identity. The differentiators are provider-concentration risk, multi-model fallback strategy, and responsible-AI governance (human-in-the-loop, sensitivity gating) made visible at board level.
- Cinematic 3D globe — infrastructure nodes, submarine/backbone routes, cloud regions, AI service mesh, orbital layer and live incident rings, driven declaratively from application state.
- Seven toggleable planetary layers — space, backbone, cloud, enterprise footprint, cyber, continuity and AI.
- Scenario simulation engine — eight pre-built incidents that re-project metrics, routes, regions and AI workflows in real time.
- Executive War Room — animated resilience / continuity / AI-dependency / cyber-risk metrics, posture and recommended decision.
- AI Dependency Resilience module — provider concentration bars, fallback readiness, and a workflow-continuity matrix with approval gating.
- Executive Decision Board — an always-present A / B / C decision matrix (Monitor · Partial continuity/AI fallback · Full DR/multi-provider failover) plus an auto-generated Board Brief.
- Deterministic AI Copilot — natural-language commands ("simulate OpenAI outage", "what requires human approval?") resolved by an intent matcher into structured executive reports. Falls back to a deterministic engine offline.
- Bilingual (EN / ES) — every string localized; language persists across sessions.
Strict, typed, framework-agnostic core with a thin React view layer.
src/
├─ types/ Domain, scenario, AI and i18n type definitions
├─ data/ Simulated infrastructure, providers, workflows, scenarios, baseline
├─ engine/ Pure logic: scenario projection, risk, decisions, AI resilience,
│ briefing, dependency resolution, globe projection
├─ ai/ Deterministic copilot: command parser + report builders + async orchestrator
├─ i18n/ EN/ES catalogs (en is the source of truth for keys) + helpers
├─ store/ Zustand command-center store (single source of UI truth)
├─ utils/ Colors, scoring bands, formatting, geometry
├─ components/ View layer (globe, layout, panels, copilot, common)
└─ app/ App shell, providers, entry composition
Design principles:
- Engine is pure and UI-free. Components read state from the store and render the output of engine functions; they contain no business logic. The entire
types / data / engine / ai / i18n / utilscore compiles and is meaningful without React. - The copilot is swappable.
runCopilot()isasyncand returns a plainCopilotResult(never JSX). The deterministic logic is today's offline implementation; a future/api/agentbackend can replace the body without touching a single component. See Roadmap. - Data honesty is built in. A demo badge, disclaimer modal and footer pills make the simulated nature explicit throughout.
React 18 · TypeScript (strict) · Vite · Zustand · react-globe.gl / three.
Requires Node.js 18+.
npm install
npm run dev # start the dev server (Vite prints the local URL)Other scripts:
npm run build # type-check + production build to dist/
npm run preview # preview the production build
npm run typecheck # type-check onlyThe 3D globe loads its earth textures from a public CDN at runtime and requires WebGL. If WebGL is unavailable, the globe degrades gracefully to a notice while all command layers, scenarios and decision intelligence remain fully operational.
This is a standard Vite SPA and ships with vercel.json.
- Push the repository to GitHub/GitLab.
- Import it in Vercel — the framework auto-detects as Vite.
- Build command
npm run build, output directorydist. Deploy.
Version 1.1.0 introduces a modular, serverless real-data foundation that enriches the simulator with optional live feeds without breaking the core offline experience:
- Data Source Health panel in the sidebar showing the status (Live/Cached/Simulated/Curated) of all data feeds.
- Serverless API Routes on Vercel:
/api/radar-outages: Queries internet outages and anomalies from the Cloudflare Radar API (usingCLOUDFLARE_RADAR_TOKENif present, otherwise falling back gracefully to simulated events)./api/satellites: Fetches real TLE orbital parameters from CelesTrak for a sample of satellites (ISS, Starlink, GPS, NOAA) and propagates their circular orbits in real-time on the 3D globe./api/ai-status: Aggregates live status page metrics for OpenAI, Anthropic, and GitHub, while keeping other providers in a safe simulated state with public links.
- Curated Cable Dataset: A dedicated dataset of major physical cable routes with landing points, coordinates, and criticality, without scraping third parties.
All serverless functions are configured with Edge Caching headers (Cache-Control) to protect public endpoints and maximize response times. If any external service fails, rate-limits, or times out, the adapters fall back to local simulated baselines seamlessly, showing "Simulated baseline active" or "Live feed unavailable" warnings.
Scenario impact and enterprise metrics are simulated. Public provider status intelligence uses live/reference feeds for operational context. No real company-sensitive data is used, and there is no real-time tenant-specific monitoring. AI recommendations are decision-support only; human validation is required for real operations. The simulator highlights provider-concentration risk, multi-model fallback strategy, and responsible AI governance (human-in-the-loop, sensitivity gating) made visible at board level.
The deterministic copilot is intentionally a drop-in for a real agent:
- Stand up a
POST /api/agentendpoint that accepts{ text, lang, context }and returns the sameCopilotResultshape. - Replace the body of
runCopilot()with afetchto that endpoint; keep the deterministic builders as the offline fallback. - Optionally stream tokens into the copilot panel; the message model already separates
textfrom structuredreport.
Further directions: real telemetry ingestion to replace simulated baselines, scenario authoring UI, and exportable board briefs (PDF).
- Simulated Multinational Footprint: Added a new visually striking "Global Enterprise Footprint" layer featuring 100+ simulated market points, 8 regional hubs, and 24 dependency corridors across the globe.
- Scenario Integration: Hubs and markets react dynamically to the scenario engine. A LATAM cable cut will isolate and glow Latin American markets; an AI provider outage will visibly disrupt AI-enabled workflows globally.
- Strict Data Boundaries: Features explicit disclaimers affirming the footprint is fully simulated and does not use or imply real company locations or sensitive operational data.
- Broad Provider Intelligence: Added live/reference intelligence for major Cloud (AWS, GCP, Azure) and SaaS (M365, Salesforce, Okta, Cloudflare, etc) providers via serverless API routes.
- Deep Globe Integration: Mapped AWS, GCP, and Azure public regions directly onto the 3D globe. Regions display status changes organically.
- Scenario Alignment: Updated the scenario simulation engine to map abstract degradation scenarios directly to real-world cloud regions (us-east-1, eastus, us-east1) and provider dependencies.
- Explicit Context Boundaries: Visually decoupled public reference data from scenario simulations on the Globe, Copilot, Executive Export, and Data Feeds panel via bold disclaimer tooltips and UI components ("Context only", "Public signals show provider status. Scenario engine models enterprise impact").
- Unified Public Signal Engine: Replaced ad-hoc
DataSourceHealthstructure with a unifiedRealPublicSignalengine. The platform now aggregates AWS, Google Cloud, Azure, Cloudflare Radar, CelesTrak, and Vercel Health into a single deterministic format. - Reference & Unavailable Modes: Improved API robustness. Endpoints that fail or lack configuration tokens now fallback cleanly to
unavailableorreferenceinstead of inventing simulated feeds, ensuring strict adherence to "no fake live data" rules. - Vercel Platform Health API: Added a new
/api/healthendpoint that exposes the actual deployment's version and uptime status. - LLM Context Injection: The Gemini LLM Copilot now ingests the live
RealPublicSignalarray alongside simulated scenario metrics. The system prompt was hardened to explicitly instruct Gemini that "public signals are for context only and do not represent the core crisis". - Enhanced Executive Snapshot: The markdown export engine now neatly summarizes all live and reference
Real Public Signalsalongside the simulation metrics. - Globe Fidelity: Live Globe layers automatically distinguish between "real" (live feeds) and "reference" states through updated interactive tooltips and mode badges.
- Board-Ready Markdown Export: Added a one-click capability to export the current command center posture, active scenario metrics, and AI resilience state directly into a well-formatted Markdown document.
- Client-Side Generation: The snapshot engine securely generates the markdown payload locally, ensuring no sensitive simulation data ever leaves the browser.
- Copy & Download: Users can choose to instantly copy the brief, copy the full snapshot to clipboard, or download it as a
.mdfile. - Responsible AI Watermarking: All generated exports are rigidly watermarked with the demo environment disclaimers across English and Spanish.
- Serverless API Route (
/api/agent): A secure Node.js serverless endpoint validating inputs and outputs using Zod. It acts as the orchestration layer between the React frontend and Gemini/OpenAI/Anthropic APIs. - Provider Choice & Failover: The app securely prioritizes
GEMINI_API_KEYto power the Copilot using Gemini 1.5 Flash. It gracefully falls back to OpenAI or Anthropic if configured, and drops to deterministic mode if no keys are available. - Security Controls: Implemented strict prompt constraints ensuring the AI acts purely as an executive decision-support copilot. It cannot perform real actions, invent monitoring facts, or expose hidden chain-of-thought. Input context is rigidly controlled.
- Frontend LLM Integration: The
AICopilotcomponent attempts afetchto/api/agent. If it succeeds, it renders the AI's dynamically structured response with a✦ LLM Agentbadge. If it fails, times out, or has no keys, it instantly drops back to the deterministic engine with a⚬ Deterministic Fallbackbadge. - Responsible AI UI: A persistent disclaimer is now visible in the Copilot pane: "AI responses are decision-support only. Scenario metrics remain simulated. Human validation is required for real operations."
- Vercel Env Var Setup: To enable the LLM in production, simply add
GEMINI_API_KEYto your Vercel project environment variables. No API keys are ever bundled into the frontend.
- Live Globe Projection Engine: Extends the deterministic 3D globe to dynamically render real-time telemetry natively: pulsing animated rings for live Cloudflare anomalies, precise orbital path rendering for active satellites (ISS, Starlink, GPS), fixed equatorial nodes for live AI provider status, and curved sweeping arcs for curated physical submarine cables.
- Visual Safety & Data Mode Legend: Added a
DataModeLegendoverlay and contextual HTML node tooltips distinguishing betweenLive,Cached,Simulated,Curated, andUnavailabledata sources. Assures the deterministic decision model remains distinct from live situational awareness context. - Compact UI Footprint: Streamlined the layout by merging the redundant data sources sidebar into a sleek
SourceHealthCompactcomponent directly in the Executive War Room. - Scenario Banner Protection: A bold global banner activates automatically during scenario simulation to clearly assert that real-time feeds are degraded to "context only".
- Serverless API Routes: Added
/api/radar-outages,/api/satellites, and/api/ai-statusin/apito fetch and normalize Cloudflare Radar, CelesTrak, and AI status data. - Data Source Health Panel: Added a sidebar panel indicating feed statuses, attributions, last updated times, and modes.
- 3D Globe Enrichment: Live satellites are propagated dynamically based on circular physics coordinates on the 3D globe. Real internet outages show pulsing amber/red rings.
- AI Resilience Panel Indicators: Live status dots added next to AI providers indicating operational or degraded status.
- Strict Node Typechecking: Created a separate
tsconfig.api.jsonproject reference for Node.js serverless functions. - Disclaimer Updates: Updated disclaimer terms in English and Spanish to clarify context-only real data feeds and demo boundaries.
First release candidate. The application is feature-complete against its scope: cinematic globe, seven infrastructure layers, eight simulated incident scenarios, Executive War Room, AI Dependency Resilience module, Executive Decision Board with auto-generated board brief, deterministic AI copilot, and full EN/ES localization.
Validated:
- TypeScript (strict) — strict-mode type-checks clean across the framework-agnostic core and the full React component layer.
- Scenario engine — all eight scenarios re-project metrics, affected regions/services/providers/workflows, board brief, decision options and globe state; recommended options resolve sensibly.
- Copilot + i18n — every supported command resolves to a structured report; EN/ES catalogs are at full key parity with no empty strings.
- Reactivity fix — the prior Zustand stale-state defect is resolved: derived state is exposed via reactive
useScenario()/useMetrics()hooks, so all panels (War Room, AI Resilience, Decision Board, board brief, top-bar status) update immediately on scenario change, not just the globe. - Build pipeline — uses the standard Vite solution-style TypeScript project references (
tsc -b && vite build). - Security/privacy — no secrets or API keys; no runtime network calls except the documented globe-texture CDN; globe labels are rendered via safe DOM construction (no
innerHTMLinjection sink);localStoragestores only the language preference.
Real dependency install, browser and WebGL behavior must be confirmed on a developer machine with network access:
npm install
npm run typecheck # tsc -b — expect no errors
npm run build # tsc -b && vite build — expect dist/ produced
npm run preview # serve the production build, then open the printed URLIn the browser, confirm: globe renders and remains the visual hero (or the WebGL-fallback notice appears); layer toggles, scenario selection and EN/ES toggle work and the language persists across reload; running ≥3 scenarios updates all panels immediately; the AI-native scenarios (OpenAI degraded, GitHub Copilot degraded, multi-provider AI, AI governance lockdown) visibly impact AI providers and workflows; the copilot opens, closes and answers supported commands; demo/disclaimer affordances are visible; and the console shows no fatal errors and no network calls beyond the globe-texture CDN.
Built by Jovan Franco — Technology Transformation Leader.



