May 7, 2026
QRPro Product Update: What We Built Since 0.0.2
QRPro Product Update: What We Built Since 0.0.2
Since our last tagged deploy (0.0.2), we've done a lot more than polish a few pages.
We tightened deployment safety, rebuilt major parts of the product experience for signed-in users, overhauled the authenticated dashboard, and made the checkout flow smoother.
If you haven't been following every commit, here's the short version of what changed.
1. We made the app safer to run in production
Some of the most important work wasn't flashy.
We improved how QRPro boots and validates itself in production so configuration problems fail early instead of turning into confusing runtime bugs later.
Infrastructure and reliability improvements
- Moved data recovery work out of a fragile Kamal post-deploy hook and into container startup
- Added startup preflight validation for critical secrets like
JWT_SECRET - Fixed authentication/session behavior around secure cookies and proxy-aware deployments
- Continued hardening the app around real production failure modes instead of just happy-path local development
This kind of work doesn't always show up in screenshots, but it matters. A QR platform has to be boring in the best possible way: stable, predictable, and hard to break.
2. We overhauled the authenticated dashboard experience
The old authenticated UI had started to outgrow itself. So we pushed hard on the /u/* side of the app.
Dashboard overhaul work
- Migrated authenticated views into a cleaner shared layout system
- Added a sidebar shell and more coherent user workspace structure
- Improved links management and per-link workflows
- Added inline analytics improvements and better stats presentation
- Added QR download behavior inside the authenticated experience
- Fixed missing-link rendering issues
We also redesigned the Pro dashboard around a more analytics-first view:
- clearer KPI summaries
- top-performers views
- aggregate vs single-link context
- searchable and sortable workspace patterns
This makes the dashboard feel more like a tool you can operate from every day, not just a place you occasionally visit.
3. Free users can now create QR codes from the dashboard too
This was an important product decision.
We enabled QR code creation for free users inside the authenticated dashboard instead of keeping creation gated behind a more fragmented experience.
That included:
- reusing the public QR creator inside the dashboard
- adding dashboard-specific controller behavior where needed
- hiding public-only controls that didn't belong in the authenticated flow
- tightening URL normalization so dashboard creation behaves consistently
In other words: fewer weird differences, less duplicated behavior, and a smoother path from free use to deeper product adoption.
4. We improved checkout with draft persistence and smarter prefills
Checkout got a meaningful usability pass too.
We added session draft persistence and prefill behavior so people don't lose as much context when they bounce around the billing flow.
Checkout improvements
- session-backed draft persistence
- smarter field prefills
- authenticated email enforcement
- better cancellation/retry flow continuity
- profile persistence improvements during checkout start
That means fewer repeated inputs, fewer chances to create inconsistent account state, and less friction on the way to payment.
5. We invested more in regression protection
A lot of this work only pays off if it stays working.
So we added more browser-level regression coverage for the authenticated dashboard and checkout flows, and we strengthened how we test critical auth paths.
That's especially important for QRPro because so many key flows are stateful:
- magic-link auth
- checkout redirects
- dashboard rendering
- asset loading in production-like environments
What all of this adds up to
Since 0.0.2, QRPro has moved in two directions at once:
- More useful for signed-in users — thanks to the dashboard overhaul and in-dashboard QR creation
- More reliable to operate — because deploy, auth, and checkout flows got real attention
That's the kind of progress we want: not random feature sprawl, but a tighter connection between product experience and operational confidence.
What's next
We're still mid-iteration on a few important areas:
- more dashboard refinement
- additional checkout follow-ups
- continued Drizzle alignment and route cleanup
But the foundation is much stronger than it was at the last tagged deploy.
If you want to see the results in action, try the main app at QRPro or create a code from the dashboard after signing in.
Thanks for following along while we build this in public.
Get 5 free QR templates + weekly growth tips
No spam. Just QR ideas that make the little square earn its keep.