Executive summary — EconMap is a dark-by-default, map-first economic intelligence application that turns open economic and geospatial data into a navigable atlas of the world's countries and cities. It serves analysts, investors, and site-selection teams who need decision-grade economic context with every figure tied to its source. EconMap exists because economic intelligence is only as trustworthy as its provenance — so every nontrivial datum carries an explicit source and confidence state, and unverified fields are shown as gaps rather than guesses.
- City-first global atlas. Select any city on the map to open a dedicated workspace — economic factbook, investor and site-selection signals, urban intelligence, and entity presence, with the map as the primary surface.
- Country factbooks. 75+ countries with full metric profiles spanning overview, trade, demographics, risk, forecast, and a transparent methodology tab.
- Entity resolution & network analysis. Palantir-style relationship mapping across 30+ major corporations, supply chain links, and industry clusters with path-finding and influence scoring.
- Supply chain intelligence. 12+ global trade corridors, 20+ logistics hubs, and single-source vulnerability detection for critical supply chains.
- Investigation tools. Structured timeline events, active investigations, pattern detection alerts, and confidence-scored anomaly detection.
- Source-backed observations. 100+ data sources including World Bank, IMF, OECD, BIS, UN Comtrade, UNCTAD, ILO, FAO, WHO, and national statistical offices.
- Provenance-first by design. Every nontrivial field carries source and confidence; unverified data is stored explicitly as
null/unknown/not_covered_yet— never fabricated, inferred, or interpolated. - Analyst tooling. Compare, rankings, an indicator library, corridors, datasets browser, dashboards, reports, story mode, and network analysis — with CSV export across the relevant views.
- A published data audit gate. A repeatable data audit (
audit:data) must pass before a build is allowed to publish. - Static, reproducible delivery. Built as a fully static Next.js export and shipped to GitHub Pages via an auditable release-and-deploy pipeline. News is excluded by design.
EconMap presents economic intelligence as a navigable map rather than a wall of tables. The map is the primary surface; charts, factbooks, and intelligence panels exist to explain what is on the map.
The home route is an analyst workspace with map-driven navigation, filters, URL-synced view state (shareable, deep-linkable), and an entity drawer for fast inspection.
Selecting a city opens a dedicated workspace: city identity and admin hierarchy, role tags (e.g. capital, port city, manufacturing hub, logistics hub, financial center), data-coverage badges, last-verified dates, and entity layers. Exact-site markers (where precise evidence exists) are rendered distinctly from city-level presence markers (where only city-wide evidence exists).
Each country has a factbook with overview, trade, demographics, risk, forecast, and a methodology tab that documents how derived figures are produced.
Compare (normalized multi-entity comparison with radar/bar charts and CSV export), rankings (metric switching + export), an indicator library grouped by category, corridors, a datasets browser, dashboards, reports, story mode, and economic similarity engine.
Map relationships between major corporations, trace supply chain dependencies, and identify single points of failure. Network clusters reveal industry ecosystems (semiconductors, EVs, energy, big tech, pharma, aerospace) with path-finding between entities.
Track active investigations, browse historical timeline events (crises, sanctions, devaluations, reforms), and review AI-detected patterns with confidence scores and recommended actions.
EconMap is built on the Monarch Castle doctrine of evidence before assertion. Provenance is a product feature, not an afterthought.
- Country observations are derived from a locally generated World Bank snapshot (
src/data/generated/world-bank-core.json), regenerable vianpm run data:generate-core. The artifact is intentionally ignored by Git; see local verification prerequisites. Derived metrics (e.g. GDP per capita, business-climate composites) are computed transparently inside the app from those source-backed observations. - The global city layer is produced by a standalone pipeline that resolves a canonical record for cities worldwide from authoritative bulk sources — GeoNames (identity, coordinates, population, admin hierarchy, multilingual names), OurAirports (airports, runways, scheduled service), and UN/LOCODE (ports and transport nodes), among others — written into app-readable JSON/GeoJSON artifacts.
- High-confidence data only. The pipeline does not fabricate, infer, guess, interpolate, or hallucinate city facts, company presence, or facility locations. Any field that cannot be verified from a credible source is stored explicitly as
null,unknown, ornot_covered_yet. - Attribution + confidence on every nontrivial field, with last-verified dates surfaced in the UI as coverage badges.
- A pre-publish data audit (
npm run audit:data) gates releases; the audit must pass before a site build is shipped. - News is excluded by design — there are no feeds, headlines, article cards, or breaking-news widgets.
The city pipeline runs sequentially: registry ingestion (canonical worldwide city records) → source fetching (verified economic and entity facts) → entity resolution (raw facts into standard schemas, capturing exact sites or city-wide presence) → artifact generation (app-ready JSON + GeoJSON layers).
- Framework: Next.js 16 (App Router) · React 19 · TypeScript — static export (
output: "export") - Mapping: MapLibre GL JS · PMTiles (vector/raster basemaps & tiled layers)
- Data & state: TanStack Query · Zustand · Zod (schema-driven domain models)
- Charts: Recharts
- Styling: Tailwind CSS 4 (dark-by-default)
- Persistence (scaffold): Prisma + SQLite for saved dashboards / watchlists
- Data pipeline: TypeScript (
tsx) + Python for ingestion, enrichment, and artifact generation - Testing: Vitest + Testing Library
- Packaging & delivery: Docker · GitHub Actions · GitHub Pages
Live site: https://monarchcastletech.github.io/econmap/
# 1. Install dependencies
npm install
# 2. Create your local environment file
cp .env.example .env # Windows: copy .env.example .env
# 3. Generate the Prisma client
npm run prisma:generate
# 4. (Optional) seed the SQLite database with saved-dashboard/watchlist examples
npm run prisma:seed
# 5. Run the dev server
npm run dev # http://localhost:3000npm run data:generate-core # refresh the local World Bank snapshot
npm run data:cities:download-bulk -- --optional
npm run data:cities # run the global city data pipelineThese commands require the reviewed upstream sources. Missing artifacts stop tests/builds clearly; EconMap does not generate substitute data. See local verification prerequisites.
npm run test # vitest
npm run lint # eslint
npm run build # static export to out/EconMap's full data is built locally — the bulk source data and city pipeline cannot run in CI. The deploy workflow only downloads a prebuilt, slimmed site and ships it:
# Local, once per publish:
npm run build && npm run deploy:assemble && npm run audit:data # audit MUST pass
tar -czf econmap-site.tar.gz -C out .
gh release create site-$(date +%Y%m%d) econmap-site.tar.gz
# Then run the "Deploy to GitHub Pages" workflow with release_tag = site-YYYYMMDDProduction builds set
NEXT_PUBLIC_BASE_PATH=/econmap(see.env.production) so assets resolve correctly under the Pages project subpath.
A product of Financial Intelligence · Monarch Castle Technologies — an operating company of Monarch Castle Holdings. Sister companies: Monarch Castle Technologies · Strategic Data Company of Ankara
See LICENSE. © 2026 Monarch Castle Holdings · Ankara, Türkiye.
Source-backed, city-first OSINT economic atlas — a dark, map-first economic intelligence app. Financial Intelligence, Monarch Castle Technologies.
Lifecycle: Active. The badge and this statement describe maintenance status, not service availability.
The preview is maintained as a repository asset; the live interface or generated output remains authoritative.
These repository-specific sources define the methodology or provenance boundary. Source dates, transformation steps, and known gaps must travel with analytical outputs.
Source-dependent. City and macroeconomic artifacts are rebuilt when upstream releases are reviewed and ingested.
npm cinpm run devRun only in a trusted development environment and review repository-specific prerequisites before using networked or hardware features.
src/— repository-specific implementation, data, or configuration boundary.scripts/data/— repository-specific implementation, data, or configuration boundary.
npm testnpm run typecheckOriginal software history is maintained in Git. External datasets, reports, trademarks, screenshots, and assets are not relicensed by this repository; see THIRD_PARTY_NOTICES.md before reuse.
This repository does not publish a guaranteed forecast. Any scenarios, scores, or forward-looking language are analytical aids, not facts or advice; review source dates and methodology before use.
Do not publish vulnerabilities in an issue. Use GitHub's private vulnerability-reporting flow when available, or follow the organization security policy.
Original repository code and documentation are available under MIT; see LICENSE. That license does not override third-party terms documented in THIRD_PARTY_NOTICES.md.
Use the machine-readable CITATION.cff. Cite the specific commit and, for analytical use, record the data or model snapshot date.
EconMap is a Monarch Castle Technologies project. Part of Monarch Castle Technologies.


