Building a Dynamic QR Code Platform

· 3 min · qrcheetah.com

What Is QR Cheetah?

QR Cheetah is a QR code generator built for speed and flexibility. It creates dynamic QR codes, meaning the destination URL can be changed after the code is printed. You can place a QR code on packaging, signage, or marketing material and update where it points without reprinting anything.

Beyond basic generation, QR Cheetah includes scan analytics, custom branding options (colors, logos, shapes), and a bulk creation tool for generating hundreds of codes at once.

Architecture Overview

QR Code Scan
  -> CloudFront (short URL redirect)
    -> Lambda (resolve code, log scan)
      -> DynamoDB (lookup destination + store analytics)
        -> 302 Redirect to target URL

QR Code Creation
  -> API Gateway
    -> Lambda (generate QR image)
      -> S3 (store generated image)
      -> DynamoDB (store code metadata)

Dynamic QR codes work through a redirect layer. Each code encodes a short URL hosted on CloudFront. When scanned, a Lambda function looks up the current destination in DynamoDB and returns a 302 redirect. This lookup-and-redirect pattern adds minimal latency while enabling full editability.

Custom Branding and Design

QR codes do not have to be black and white squares. QR Cheetah lets users customize foreground and background colors, select dot shapes (rounded, dots, classy), and embed a center logo. The Lambda generation function renders these customizations server-side and returns a high-resolution PNG or SVG.

All generated images are stored in S3, so codes can be downloaded again at any time without re-rendering.

Analytics and Bulk Creation

Every scan is logged with timestamp, approximate location (derived from IP), device type, and referrer. DynamoDB stores these events, and the dashboard aggregates them into scan-over-time charts, geographic breakdowns, and device splits.

The bulk creation endpoint accepts a CSV of URLs and generates QR codes in parallel using concurrent Lambda invocations. A batch of 500 codes completes in under 10 seconds. Results are packaged into a ZIP file on S3 for download.