One voter, every app: inside Shpd's Passport
Last spring, a studio with eight iOS apps sent me a message that stuck. 'We've got the same person voting on the same feature request six times across different products. How are we supposed to make sense of that?' That question became Passport.
The fragmentation problem no one talks about
If you run two, five, or ten apps, you know the pain. A user loves your product and wants to vote on features. They do. Then they open your second app, and the voting interface treats them like a stranger. The data says they're the same person - same email, same device ID, same paying customer - but your feedback system splits them into separate voters. You end up with duplicate feature requests. Conflicting signals. Noise.
Most studios tolerate this. The good ones patch it manually. Canny doesn't solve it natively, and spreadsheets are worse. So when we started building Shpd, we knew the SDKs had to be only half the answer. The other half was ensuring that a single person's voice stayed intact across your entire portfolio.
How Passport actually works
Passport is our cross-app voter identity system. Here's what it does without ceremony: when someone votes inside your iOS or Android app using our native SDK, they get a Passport ID. That ID follows them across every other app in your portfolio. Their vote history is cumulative. Their profile is consistent. They don't re-register; they don't see duplicate feature requests.
The mechanics matter less than the outcome. You see real demand. A feature request that genuinely matters to your users shows up with honest numbers. You're not second-guessing whether that 47-vote feature is actually 12 people voting multiple times. And because Passport lives in the SDK, not in a web redirect, the voter never leaves your app. They tap, they vote, they see the roadmap status - all native, all inside the experience you built.
Why this changes how you read your data
Three studios moved from Canny to Shpd in the past six months. What they kept saying was the same thing: 'We finally trust the numbers.' Not because the voting counts are higher or lower, but because they're honest. You're not counting the same person five times. You're not confusing engagement with demand.
One founder told me they'd been sitting on a feature request with 30 votes. Seemed popular. They shelved it. Then they looked at the actual voter list in Shpd and realised 28 of those votes came from 5 people. The other 2 votes were from people who'd voted for 47 different features in the past month. Context changed everything. They built something else instead and shipped it to real traction.
Passport is also what lets us send push notifications the moment a feature ships. The voter sees it because we know who they actually are. Not an email to an email address. Not a generic 'your feedback matters' message. A notification to the person who cared, across whichever app they happened to open.
Who needs this and who doesn't
Passport comes with our Scale plan and up. That's designed for studios with unlimited apps. If you've got two products, you might be on Studio, which includes the native SDKs but not cross-app identity. That's fine. You're smaller. The problem hasn't become the problem yet. But once you're managing four or five apps, or you're planning to launch more, Passport stops being nice-to-have and starts being the difference between data you trust and noise you ignore.
We also built it because studios leaving Canny needed something that felt like the jump was worth it. Canny's December 2025 price change hit a lot of people hard. Some switched platforms. Others decided to build it themselves - which is its own kind of pain. Shpd with Passport gives you the mobile-first approach they wanted plus the multi-app coherence that spreadsheets never could.
The thing we almost got wrong
Early on, we debated whether Passport should be opt-in or automatic. The product thinking was obvious: opt-in gives users control. But we watched real studios use the beta. They turned opt-in off within a week. They said, 'We want unified data from day one.' Voters didn't mind. They liked that their profile stayed consistent. It made the experience feel less fragmented, which was the whole point.
That taught us something about feature design that most blog posts skip: sometimes simplicity and power aren't opposites. When you solve the real problem, people don't need a lot of choice about whether to use the solution.
If you're running more than one app and you've ever wondered whether your feature request vote counts are real, Passport exists for that question. Have you felt that fragmentation yourself, and how have you worked around it until now?
Ready to try Shpd by MRVL?
One tap to download. No sign-up wall.