Building FORQ: A QR Solution for App Store Links
Published:
Author:Ryan Carter
Reading Time:4 Minutes

So here's a problem that's been annoying marketers and app developers for years. You want to put a QR code on your product packaging, or maybe on a billboard, or in a print ad. Cool, easy enough right? Except... your app is on both iOS and Android. And QR codes can only point to one URL.
You're stuck with three bad options: create two separate QR codes (which looks messy and confuses people), pick one platform and ignore the other half of your audience, or send everyone to a landing page where they have to click again to get to the right app store. All of these options kinda suck.
That's why we built FORQ.
What It Actually Does
FORQ gives you one QR code that automatically figures out what device someone's using and sends them to the right place. iPhone user? Boom, App Store. Android user? Play Store. Someone scanning from their laptop? We've got a fallback URL for that too (though if you're actually holding your laptop up to scan a QR code with the webcam, we respect the dedication but maybe just type the URL).
The whole redirect happens in under 50 milliseconds. That's fast enough that users don't even notice it happening. They just scan and land exactly where they need to be.
The Stack
We built this on Nuxt because we've been using it for years and it's rock solid. The syntax is clean and intuitive, plus it gave us almost everything we needed right out of the box - SSR, routing, and API routes all built in.
For the database we're using Turso, which is basically SQLite in the cloud, with Drizzle ORM to keep everything type safe. The whole thing is deployed on Vercel because their edge network means our redirects are blazing fast no matter where in the world someone scans.
Key libraries we're using:
- qrcode for generating the actual QR codes (obviously)
- Chart.js for the analytics dashboard
- bcrypt for password hashing
- jsonwebtoken for auth
Everything's written in TypeScript because we like catching bugs before they hit production.
The Features People Actually Care About
Smart Routing: This is the core thing. You give us three URLs (iOS, Android, and a fallback), and we handle the rest. Our device detection parses the User Agent header and routes accordingly. If we can't detect the device for some reason, we have a fallback chain that tries to get them somewhere useful.
Analytics That Don't Suck: Every single scan gets logged with full geo-tracking capabilities. You can see exactly where in the world your users are scanning from, what percentage of your audience is on iOS vs Android, and track engagement by country and region. If you're using UTM parameters for campaign tracking, we capture all of that too. The dashboard breaks it all down with interactive charts showing your geographic distribution, device breakdown, and scan trends over time.
QR Code Management: You can create unlimited codes, download them in whatever format and size you need (PNG, SVG, JPEG from 256px up to 2048px), and preview before creating. Pretty standard stuff but it works well.
International Support: We support 8 languages with full i18n setup. The SEO is multilingual; using hreflang tags the works. Figured if we're building this thing we might as well make it accessible globally.
The Interesting Technical Bits
The redirect logic is actually pretty straightforward but it had to be bulletproof. We parse the User Agent string to detect iOS, Android, or desktop. Then there's a priority system: if you're on iOS, you get the iOS URL. If that's not set for some reason, we try Android, then fallback. Same logic for Android users. Desktop gets the fallback URL.
All the UTM parameters and query strings get forwarded automatically. So if someone scans a code from your Instagram campaign, those utm_source and utm_campaign tags follow them all the way to the App Store or Play Store. Campaign managers love this.
We're logging everything to the database but doing it in a non blocking way so it doesn't slow down the redirect. Speed was a huge priority. Nobody wants to scan a QR code and sit there waiting.
Why We Built This (And Why It Matters)
At Studio Future, we love building apps that solve real problems. Not theoretical ones - actual friction points that people deal with every day. The kind of problems where you think "why doesn't this just work?"
FORQ is exactly that kind of project. There are a million QR code generators out there, but most are just static codes pointing to one URL. The ones that do dynamic routing are usually expensive or slow or both. We saw a gap between what exists and what people actually need.
So we built something free, fast, and focused on solving one specific problem really well. If you're marketing a mobile app and need one code that works for everyone, this is for you. If you're running campaigns and want to track which platforms are getting more engagement, this is for you. If you're tired of the two QR code solution, definitely for you.
We built in all the stuff you actually need - analytics, campaign tracking, geo-tracking, and multi-language support - from day one. No "enterprise plan required" nonsense. Just a tool that works.
Got a problem that needs solving? Whether it's a tool for your internal team or a product for your customers, we specialize in taking complex challenges and building elegant solutions. Let's talk about what you're trying to solve.
What's Next
Right now FORQ does exactly what it's supposed to do and it does it well. We're working with users to see what they'd like implementing into future versions.
We're excited to see how people actually use it. Every project teaches you something new once real users get their hands on it.
If you're dealing with the multi-platform QR code problem, give FORQ a try. It's free, it's fast, and it just works.