QR codes that route to the appropriate app store
matthuggins
20 points
9 comments
September 24, 2026
Related Discussions
Found 5 related stories in 77.7ms across 7,602 title embeddings via pgvector HNSW
- (ADVANCED) Guide to not fucking up QR codes upofadown · 15 pts · August 12, 2026 · 54% similar
- Show HN: Beautiful QR Codes janpmz · 20 pts · July 14, 2026 · 53% similar
- Crafting QR Codes: A deep dive into QR code art (2024) subset · 41 pts · August 24, 2026 · 50% similar
- Apple's hostile App Store rating system zdw · 68 pts · July 29, 2026 · 46% similar
- “It works better in the app” blenderob · 642 pts · August 28, 2026 · 46% similar
Discussion Highlights (7 comments)
Tiberium
Is this a whole blog post for a simple backend that just routes based on the User-Agent?
Svoka
I thought it was something clever, but it shows as URL in QR Scanner, not an APP, which opens browser after activating it, then user would have to confirm redirect to App Store on empty page TL;DR: it is HTTP redirect based on User-Agent header
arccy
it's just a server side redirect based on the user agent headers
m4tthumphrey
Err wut... redirecting based on user agents?
MengerSponge
I hate QR codes. I don't trust them.
elendilm
For our apps Slyp and SlypBusiness, we had the same QR code for each app open Playstore/Appstore page of the app depending on the phone. Hopefully, we will start rolling out Slyp next week. Just have a branded link (like https://slyp.app/Slyp or https://slyp.app/SlypBusiness ) to the official web page and have the js in that page auto-redirect and open the original Playstore/Appstore page. And yes, we used userAgent for identifying the platform. If anyone is interested, here is the code. May not cover all edge cases but works for our usecase. The code was wrung together in a hurry a year ago. window.addEventListener('DOMContentLoaded', (event) => { let app = 'Slyp' var userAgent = navigator.userAgent.toLowerCase(); if (userAgent.indexOf('android') > -1) { window.location.href = `https://play.google.com/store/apps/details?id=com.ndcurve.${app}`; } else if (userAgent.indexOf('iphone') > -1 || userAgent.indexOf('ipod') > -1 || userAgent.indexOf('ipad') > -1 || userAgent.indexOf('mac') > -1) { if (app === "Slyp") window.location.href = 'https://apps.apple.com/app/<app_id>'; else if (app === "SlypBusiness") window.location.href = 'https://apps.apple.com/app/<app_id>'; else window.location.href = 'https://slyp.app'; } else { window.location.href = `https://play.google.com/store/apps/details?id=com.ndcurve.${app}`; } });
classictraffic
I agree with the other commenters that this is a pretty simple engineering problem, but I still enjoyed reading about edge cases the author worked to address (they could have taken the easy road with this but tried not to). I forgot that Safari on iPad doesn't specify iPad in user agent headers