
Problem
Apps that need country and currency data often have to stitch together multiple inconsistent third-party APIs.
Approach
Built a unified REST API combining country metadata, currency info, and live exchange rates, with a caching layer to reduce upstream calls and full CRUD endpoints for analytics.
Tech highlights
Node.js and Express for the API, MySQL for persistence, Axios for upstream exchange-rate requests, Jimp for processing flag images, and a TTL-based cache to stay within rate limits.
Results
Deployed a production API on Railway serving combined country, currency, exchange-rate, and GDP-estimate data.
Challenges
Balancing freshness of live exchange rates against upstream rate limits — solved with a TTL-based caching layer.