Client project · Aug – Oct 2026
A unified SEO data API
Designed and built one API in front of 10 SEO data providers, with caching, circuit breakers, credit-based billing and a safe migration path.
- Role
- Lead developer (for a client)
- Period
- Aug – Oct 2026
Results
Public figures and figures from the codebase, checked October 2026.
- 10data providers behind one API keyfrom the codebase
- 29binding design decisions recorded after an adversarial reviewfrom the codebase
- 1,700+automated testsfrom the codebase
The problem
A client’s products each called Ahrefs, Similarweb and SERP APIs on their own. The same adapter had been copied six times, one credential lived in seven files, and “domain rating” had five names and three types.
What I built
- One contract. A single endpoint and key return domain rating, traffic, top countries, keywords, search results, backlinks and index status — every field labelled with the provider it came from, never silently merged.
- Resilience. Stale-while-revalidate caching serves the last good answer (flagged) when a provider fails; identical requests are coalesced into one provider call; circuit breakers stop hammering a provider that’s rejecting us; nested timeouts mean a provider call never outlives the client waiting for it.
- Safe adoption. A shadow mode lets each product call the new API alongside its old code and log field-level differences before switching over.
- Billing built in. Accounts, credit plans, prepaid packs, a rate-limited free checker and payment webhooks.
- Batch jobs. Large domain lists are processed in the background, with database job claims that let two copies run safely during a migration.
Result
The client’s products get one tested integration — about 1,700 automated tests — to replace six copied adapters, and shadow mode lets each one switch over safely. I also measured real provider usage before claiming savings — and corrected my own estimate when two products turned out to share one subscription.
Stack
- TypeScript
- Node.js
- Fastify
- MariaDB
- zod
- Dokploy