Skip to content
← Projects

Atlas (country data API)

A country-profile API and dashboard that unifies 18 open data sources, with forecasts, citable snapshots and licence-aware sourcing.

Atlas is a country-profile API and dashboard: you pick a country and get its identity card and its economic and social indicators, with history, comparison, world ranking and regional aggregates. I built it alone between late July and late September 2026 (about 590 commits), and it is served as a product, with an interface and error messages in four languages (French, English, Spanish, German).

The problem

Country data is scattered across providers that each have their own API, codes, units and update rhythm. A dashboard that mixes them has to hide all of that.

Approach

Each provider is one small adapter module exposing the same function, registered in a source registry. The catalogue has 117 curated indicators in 11 themes, plus a long tail of 3,584 searchable indicators that are never displayed by default. In production the API reports 216 countries and 18 sources, among them the World Bank, Our World in Data, Eurostat, the OECD, the ECB and the BLS. Adding an indicator is one line in the catalogue. Adding a source is one module.

A few decisions mattered more than the code:

Results and checks

Cold calls on poorly covered countries could take over 30 seconds. After caching work and a separate warm-up script, a warm call measured about 0.1 second on the production server. Per-IP rate limits, API keys with tiers and Stripe billing are in place. I also added subdivision-level data (regions, states, counties) for some countries, hreflang routes per language and a browser extension.

Limits

Tests run offline and cover aggregation rules, refusal to invent values and catalogue consistency. The routes themselves are not tested: I check them by hand, and there is no type checker. World Bank data is annual and can lag by one to three years, so every value carries its year.

Next

SEO and acquisition work, a PowerPoint extension for charts, and new sources, always more sources.