Skip to content

This website is currently being updated. Maintenance is underway, so some pages and/or information may be temporarily unavailable.

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
Kizmo: QR Codes That Keep Working
100
Accessibility, best practices, SEO
0
Layout shift
40 ms
Server response
3
Free dynamic codes
Overview

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.

Challenge

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.

Approach

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.

Next case studyHOLAGO Fashion Brand Platform