A full-stack QR code platform where printed codes keep redirecting after a subscription lapses, with tamper alerts that tell owners when a code goes quiet.
- Client
- Kizmo
- Role
- Full stack developer
- Scope
- product, API, billing, dashboard
- Year
- 2026
- Stack
- Next.js, PostgreSQL, Hono, Better Auth, Zod, Creem, Puppeteer, Google Analytics
- Category
- SaaS

- 100
- Accessibility, best practices, SEO
- 0
- Layout shift
- 40 ms
- Server response
- 3
- Free dynamic codes
The project.
Kizmo generates and manages QR codes for restaurants, hotels, parking operators and property managers. Dynamic codes keep sending scans to their last destination even if the owner stops paying. The free generator and safety checker work without an account, and a dashboard adds dynamic codes, analytics and tamper alerts. The whole system, from the public site and API to billing and the dashboard, was built by the developer.
What had to be solved.
Many dynamic QR services stop a printed code when a trial or payment ends, so a business discovers its menu or parking sign is dead. Stickers placed over genuine codes add a second risk that owners rarely notice. Kizmo had to guarantee redirects, detect tampering reliably, stay private by collecting almost nothing, and still bill simply.
How it was built.
A redirect service keeps sending scans to the last destination on any plan with no scan cap. A daily job compares each code's last 24 hours with the same weekday over the previous four weeks using a Poisson model. It alerts on zero scans at under 1% likelihood, or a drop below a quarter of normal at under 0.1%. A versioned API at api.kizmo.io/v1 provides public endpoints for checking links, verifying codes and reporting stickers, authenticated endpoints for codes and analytics, and bulk creation for up to 500 codes at once. Alert webhooks are signed with HMAC-SHA256. Billing runs through Creem as merchant of record with five plans from Free to Custom and a 7-day trial. Static codes and Wi-Fi passwords are generated in the browser, and scanner IP addresses are never stored. Lighthouse scores of 100 for accessibility, best practices and SEO, zero layout shift, and a 40 ms server response on the home page. The free plan includes three dynamic codes and unlimited static codes.