eSIM at scale: what we learned building SimFuse
SimFuse looks simple from the outside: pick a country, pay, get connected. That simplicity is the product. Behind it sits a commerce platform wired into telecom infrastructure across 147+ countries and 600+ partner networks - and telecom infrastructure has opinions. Here's what building it taught us.
Your uptime is someone else's uptime
An eSIM platform is a storefront on top of carrier APIs you don't control. Providers go down, respond slowly, or return errors that mean the opposite of what the documentation says. We learned early to treat every upstream call as unreliable by default: timeouts on everything, retries with idempotency keys so a flaky response can't provision - or charge - twice, and automatic failover between providers when a region has more than one route. The traveller standing at baggage claim never sees any of it. That's the point.
Provisioning has to feel instant, so the pipeline can't be
"eSIM delivered in seconds" is a queue wearing a nice interface. Payment confirmation, plan activation with the carrier, QR generation and delivery are separate steps with separate failure modes, so each one is a job that can retry independently. The user sees a single clean progress state; the system underneath is checkpointed at every stage, because the worst possible outcome is taking someone's money at 1am in a foreign airport and delivering nothing.
Catalog data is a full-time job
Plans, prices and coverage change constantly across 600 networks. We stopped treating the catalog as configuration and started treating it as a data pipeline: automated syncs from providers, validation that catches a plan whose price or coverage suddenly looks wrong, and alerts when a destination quietly loses its best route. Selling a plan that no longer exists is a refund and an apology; the pipeline exists so we don't write many of either.
The lessons that transfer
- Isolate third parties - one provider having a bad day should degrade one route, not the platform.
- Make every money-touching operation idempotent - retries are inevitable; double charges are optional.
- Hide the queue, keep the checkpoint - instant-feeling flows are built from resumable steps.
None of this is telecom-specific wisdom. It's what integrating with any external infrastructure at scale demands - payments, logistics, banking APIs. eSIM just happens to be where we stress-tested it with our own product and our own revenue on the line.
Building something like this? Read the full SimFuse case study →