em-dash
An interactive 3D globe for researching emerging-market investment opportunities, scoring companies against evidence-weighted claims rather than narrative. The current vertical is African energy access.
- Dual scorecards for debt and equity suitability
- Evidence tiers with confidence propagation
- Six asset-class lenses over one globe
Overview
Emerging-market opportunities are usually assessed through narrative and relationships. em-dash asks whether the same judgment can be made legible: every score traceable to a cited claim, and every claim carrying its own evidence quality.
The problem
Frontier-market diligence tends to collapse into anecdote, because the underlying data is thin and unevenly sourced. The risk is not just being wrong, it is not knowing how thin the evidence was when the call was made. Any system that scores these companies has to carry the quality of its own inputs alongside the output.
How scoring works
Two separate scorecards run against the same company: Bankability, aimed at debt and development-finance suitability, and Venture Scalability, aimed at VC equity. Each has weighted dimensions evaluated against individual claims. Evidence type sets the weight, from a verified primary source at full weight down to zero for a field marked missing, and the overall confidence propagates from the least confident claim used rather than the average. A strong score built on one weak input reports as a weak-confidence score.
Evidence tiers
Fields are split into three tiers by how much interpretation they tolerate. Hard numbers such as funding amount, customer count, and repayment rate must either carry verified source support or be explicitly marked missing. Qualitative fields such as business model and market positioning permit analyst estimates with notes. Only the third tier, covering analyst view and open diligence questions, is pure judgment. The separation is enforced by the data model, not by convention.
The globe
Countries are rendered from TopoJSON world polygons and colored by whichever asset lens is active, spanning private equity, public equity, bonds, funds, and macro exposure. Custom GLSL shaders handle the Fresnel rim, atmospheric haze, and ocean material. All data is statically bundled with no runtime API calls, so the map is fast and reproducible.
Outcomes
- Built two independent scorecards over a shared claim store, so debt and equity suitability can disagree.
- Made evidence quality a first-class field, with confidence set by the weakest input rather than the mean.
- Shipped six asset-class lenses over one globe, each recomputing the highlight set on change.
How this was built
A statically-bundled Next.js app with agent instructions checked into the repository, so the evidence-tier rules that govern the data model are also the rules that govern anyone, or anything, adding to it.
- Stack
- TypeScript, Next.js 15, React 19
- Visualization
- globe.gl over Three.js, with custom GLSL shaders
- Geospatial
- world-atlas TopoJSON, ISO 3166-1 alpha-2 throughout
- Architecture
- One-way flow: seed data, data access, scoring engine, globe and panels
- Agent instructions
- CLAUDE.md checked into the repository