Praneet Sah
Telecom

DialAnyone: phone numbers, SMS and eSIM data in 200+ countries

Call, text & data in 200+ countries from $4.99/mo.

Most people only need a second phone number for a few weeks. A month abroad, a side business, a marketplace listing they don't want tied to their personal line, a contractor who needs a local presence in a country they've never set foot in. The carrier answer to all of those is the same: sign a contract, wait for a SIM, pay for a plan sized to a year of usage you don't have.

DialAnyone exists because that answer is wrong for the shape of the demand. It gives you a real phone number, real SMS, and real mobile data in 200+ countries, from $4.99/mo, with no contract — on web, iOS and Android.

The problem

The friction in international telecom isn't technology, it's commercial structure. Carriers sell in units of "a person who lives here for a year." Everything else — a number in Portugal for a two-month contract, a US number for a founder in Lagos, data on a two-week trip through four countries — gets priced as an exception, when it's offered at all.

The concrete failures people hit:

  • Roaming charges that are unpredictable enough that most travelers just turn data off and hunt for Wi-Fi.
  • Local SIMs that require walking into a shop, showing ID, and losing your existing number for the duration.
  • Second-number apps that give you a number that fails exactly where it matters — bank verification codes, delivery drivers, anything that filters known VoIP ranges.
  • No unified surface. Even if you solve numbers and data separately, you're now running two accounts, two billing relationships, and two apps.

DialAnyone's bet is that all of that is one product: an account that owns your numbers and your data, and a client on every device you use.

What DialAnyone does

Four things, deliberately kept to four:

Virtual numbers. Provision a number in a supported country, use it for calls and texts immediately, keep it as long as you're paying for it. No physical SIM, no shop visit.

SMS. Send and receive on the numbers you hold, from any of the clients, with the message history synced across them rather than trapped on the device that received it.

eSIM data. Pay-as-you-go mobile data in 200+ countries, delivered as an eSIM profile to the phone — no hardware to ship, no swap, and the physical SIM stays in place for your home line.

Call forwarding. The piece that makes the rest usable in real life. A DialAnyone number can ring your actual phone, so you don't have to keep an app in the foreground to be reachable.

All of it runs on web, iOS and Android against the same backend, so the account — numbers, balance, message history — is the source of truth and the clients are views onto it.

The plumbing

The interesting engineering in a product like this is almost entirely in the layer between "user taps a button" and "a carrier somewhere does a thing."

Provisioning numbers

Buying a number is an API call, but it is not only an API call. Inventory is per-country and per-number-type: mobile, local geographic, toll-free, and national ranges each behave differently, and availability moves. The product has to search inventory, present what's genuinely available right now, hold it long enough for the user to decide, and then complete the purchase — with the failure case (someone else took it between search and buy) handled as a normal path rather than an error screen.

Regulatory requirements sit on top of that. A lot of countries gate number ownership behind identity or address documentation, and the requirement varies by country and by number type. That turns provisioning into a state machine — requested → documents pending → under review → active — instead of a single transaction, and the UI has to be honest about where a number is in that flow.

Routing calls and SMS

Underneath, this is CPaaS and SIP. Outbound calls leave the client, hit the backend, and get placed through a carrier API; inbound calls arrive as webhooks that the backend turns into a ring on whichever clients are registered, or into a forward to a real handset. SMS follows the same shape in both directions — send via API, receive via webhook, fan out to the clients, persist centrally.

The parts that take real work:

  • Idempotency and delivery state. Carriers retry webhooks. Networks drop responses. Every inbound event needs a dedupe key, and every outbound message needs a status lifecycle (queued → sent → delivered → failed) that the UI reflects honestly instead of showing a checkmark the moment the API returned 202.
  • Number formatting and normalization. E.164 everywhere internally, local formatting at the edges. This sounds trivial and is the source of an unreasonable share of bugs in any telecom product.
  • Failure routing. Carrier routes degrade. Anything serious eventually needs the ability to move traffic between providers per-destination, which means not coupling application logic to one vendor's SDK shape.

eSIM delivery

eSIM is the newest piece and the one that most changes the economics. A data plan is a profile: the backend orders it from an aggregator, receives an activation payload, and hands the user an install — a QR code on web, a direct install handoff on a modern phone. Once installed, the user's remaining balance and expiry are state the backend has to keep in sync with the upstream provider so the app can show a number the user can trust.

Why $4.99 works

The pricing isn't a loss-leader trick, it's what the cost structure allows.

A traditional carrier's cost base is spectrum, towers, retail, and support staff, amortized across subscribers who each need to cover a slice of it. A CPaaS-built product has none of that. The costs are: a per-month rental on each number, per-minute and per-message usage, per-megabyte data, and the fixed engineering cost of the platform itself. Everything except that last item is variable and roughly proportional to what the user actually does.

That has three consequences worth stating plainly:

  1. A quiet user is nearly free. Someone holding one number and sending a few texts a month costs close to the number rental and nothing else. Traditional carriers can't price for that user because their cost base doesn't shrink when usage does.
  2. Growth doesn't require capex. Adding a country is a commercial and compliance exercise, not a build-out. The marginal cost of the ten-thousandth user is the same as the hundredth.
  3. The margin lives in the spread and the mix. Retail pricing sits above wholesale unit costs, and the blend across quiet and heavy users is what has to work — not each individual line item. Which means the metric that actually matters is cost per active user per month, tracked continuously, not a headline rate card.

The discipline that falls out of this: instrument usage costs at the same granularity you bill them. If you can't attribute carrier spend down to the user and the number, you cannot tell a pricing problem from an abuse problem, and both show up as the same line on the invoice.

What it taught me

Telecom products are systems-integration products wearing a consumer skin. The app is a few screens. The work is in provisioning state machines, per-country compliance, webhook idempotency, delivery-status honesty, and knowing your unit costs well enough to price against them.

The other lesson is about scope. DialAnyone does four things. Every additional feature in this space drags a compliance and carrier-relationship tail behind it, so the ones you don't build are as load-bearing as the ones you do.

Building something like DialAnyone?

Book a call

Praneet Sah

Independent app developer. Builds full-stack products end to end — web, iOS, Android, AI agents, telecom — and has shipped every project referenced on this page personally.