This is honestly one of the clearer explanations I’ve seen of how SMS actually works behind the scenes.
The part that clicked for me is the idea that you’re not really “sending a message”, you’re basically handing a request into a system that makes a bunch of decisions you normally never see. Most APIs just return “accepted” and that’s it, which is fine until something breaks and you have zero visibility.
I also like how you frame routing as the core of everything not just delivery, but pricing, behavior, even validation. That’s usually completely hidden, so when costs or delivery change, it feels random from the outside.
The route-based pricing + exposing things like route_id and message lifecycle makes a big difference. At least then you can reason about what’s happening instead of guessing.
Curious though, how do you deal with situations where a route starts degrading? Do you keep it deterministic and fail, or switch routes dynamically?
Feels like that’s where things get tricky in real-world usage