DEV Community

Profile Tap
Profile Tap

Posted on

How I Built a QR-Based Pet ID System in India — And the Privacy Problem Nobody Talks About

A dog went missing in our neighbourhood in Pune. The owners had a metal tag — name, phone number, engraved. Someone found the dog. Called the number. Disconnected. They had switched SIMs six months earlier.
The problem wasn't the tag. It was that the tag was static.

What We Built
Every pet gets a unique QR code linking to a live profile:
https://profiletap.io/in/blog/best-pet-id-solutions-indiaFinder scans with any camera app — no app install, no NFC needed. Profile opens instantly with pet name, breed, medical notes, and a contact button.
Profile is editable anytime. Change your number once — every tag ever printed reflects it on the next scan.

The Part Most Pet ID Systems Skip: Privacy
If you show a raw phone number on the profile, you've solved one problem and created another. Anyone who scans now has the owner's personal mobile permanently.
Our solution: masked contact routing.

Finder clicks "Call" or "WhatsApp Owner"
Routes through a proxy — owner's number never exposed
In India, the WhatsApp button gets used 3x more than the call button

We almost skipped WhatsApp masking in v1. That would have been a mistake.

India-Specific Problems We Hit
QR size: Tags are 25–35mm. Short URLs + Level M error correction = scannable at small sizes.
Monsoon-proofing: UV-resistant PVC with laminate coat. QR recessed so laminate protects the surface.
Device compatibility: Tier 2/3 cities = low-end Android, no NFC. QR works on any camera. NFC doesn't.

What I'd Do Differently
Build the privacy layer first, not last. And always test on a ₹8,000 Android before launch — that's where the real edge cases live.

Live at
profiletap.io/pet-id-profile
Physical QR tags delivered across India. Free profile to start.
Happy to answer questions about QR implementation or contact masking in the comments!

ProfileTap — smart digital identity for Indian professionals, pets, vehicles, and families.

Top comments (0)