ryu.

The phone number was flagged before we ever used it

·2 min read

Carriers recycle phone numbers. If the previous owner was a telemarketer, the number is already on Truecaller’s spam list before we ever attach it to a voice agent, and it shows up as “Spam Likely” on the first call. We don’t hold reputation data on numbers ourselves, so we had two bad options: fake a status, or say nothing. We picked a third: point people at the real answer.

Next to each number in the shop, a “Check reputation” pill opens that number’s live Truecaller listing. No invented checkmark, just a fast path to the truth.

On desktop and iPhone that’s a plain web link. On Android with the Truecaller app installed, the same link just opens the mobile site instead of the app, capped and asking you to sign in. We wanted it to open the app directly on that number.

Truecaller doesn’t document one. I installed the app on a test device, read its intent filters, and fired candidate adb shell am start commands at it until one landed on the number’s detail view:

truecaller://home/detailview?tel=<number in +country format>

Three things had to be right for it to work from a web page:

  • Encode + as %2B. A raw + gets misread and opens the wrong contact.
  • Navigate the top-level page, not a new tab. Chrome only launches an installed app from a top-level navigation.
  • Wrap it as an Android intent:// URL with the package name and a web fallback, so it opens the app when installed and falls back to the browser when it isn’t.

iOS has no equivalent, so it keeps the plain web link. We only show the pill for Indian numbers, since that’s where Truecaller’s data is actually reliable.

The lesson#

Reputation is inherited, not earned, whether it’s a phone number or a sending domain. If you can’t measure it yourself, route people to whoever can, don’t invent a number. And when a platform doesn’t document a way in, the app itself is the documentation.

alokranjan.me ryu(1)