Mark Mwangi logoMark
Mwangi
Return to home
Get in
touch
Admin
login
Projects/QR Scanner PWA

QR Scanner PWA

Offline-first QR and barcode scanning, generation, history, and export in a modern installable PWA.

Category:FrontendDate:September 2026Author:Mark Mwangi
Open live demo
QR Scanner PWA project screenshot

Project overview

Installable Next.js PWA with browser-based scanning, local history, and offline storage.

Technology stack

Next.js
React
TypeScript
html5-qrcode
ZXing
IndexedDB

Key features

  • QR and barcode scanning
  • QR and barcode generation
  • Offline history
  • CSV, JSON, TXT, and Excel export

Design patterns & architecture

  • Progressive Web App
  • Offline-first storage
  • Component-driven UI

Performance

Designed for reliable mobile use

Offline capable

Installable on mobile

Technical challenges

  • Camera permissions
  • Reliable offline persistence
  • Supporting many code formats

Key lessons & insights

  • Offline-first improves resilience
  • Local storage keeps private data on-device
  • Focused workflows make utility apps faster to use

The Problem

Pain Point

People needed a quick way to scan and create QR codes and barcodes without installing a native app or depending on a network connection.

Industry Context

QR codes are used across payments, events, retail, logistics, and contact sharing, but many browser tools are ad-heavy, online-only, or limited to a single code format.

User Impact

Users can scan codes from a live camera or image, generate custom codes, and revisit or export their history from one mobile-friendly workspace.

Constraints

  • Work offline after the app loads
  • Request camera access responsibly
  • Support QR codes and common barcode formats
  • Keep scan history private on-device
  • Remain installable without an app store

Our approach

Solution

Build an installable Progressive Web App with dedicated scanning, generation, history, and settings workflows. Camera and image scanning handle input, while local browser storage keeps history and preferences available offline.

Key Decisions

  • PWA delivery for app-like mobile access
  • Local storage for privacy and offline use
  • ZXing and html5-qrcode for broad format support
  • Export options for practical inventory and record-keeping workflows

Trade-offs

  • Browser camera permissions vary by device
  • Local-only history does not sync across devices
  • Wide format support increases testing and UI complexity
  • Offline behavior depends on the service worker cache being available

Why Built This Way

The core workflow should be immediate and dependable: open the app, scan or generate a code, and keep working even when connectivity is unavailable. A PWA provides that reach without the friction of native installation.

Results & impact

Measurable Outcomes

speed:Instant access after the first load
users:Designed for mobile, field, retail, and inventory workflows
timeSaved:Removes repeated trips between separate scanner, generator, and export tools
uptime:Offline capable after initial caching

Product Thinking

Scanning, generation, history, and settings are separated into focused workflows so the most common action stays fast while advanced controls remain available.

Value Proposition

Scan or create QR codes and barcodes anywhere, keep the results private on your device, and export them when needed.

Public Metrics

  • Offline-first PWA
  • QR and barcode support
  • PNG, SVG, and high-resolution exports
  • CSV, JSON, TXT, and Excel history exports

Case study

A user can open the app on a phone, grant camera access, scan a product or event code, confirm the result, and continue scanning without losing the session. Later, the same workspace can generate a WiFi or contact QR code and export the saved history.

Architecture Explained

The Next.js client provides the scanning, generation, history, and settings views. Browser camera APIs feed QR and barcode readers, generated codes are rendered for download, and local browser storage preserves history, favorites, settings, and offline data. A service worker caches the app shell for repeat use without a network.

Purpose & Vision

Make QR and barcode workflows fast, private, and useful on mobile without requiring a native installation or constant connectivity.

Clarity & Proof

The product value is visible in one workflow: scan a code, review the result, save it locally, and export it when needed. Its installable PWA model and offline-first storage make it practical for repeated field use.

Future Improvements

  • Encrypted optional cloud backup
  • Richer batch scanning workflows
  • More device-specific camera controls
  • Team sharing for inventory workflows
  • Expanded accessibility testing across camera states

View More Projects

  • Dev Vault
  • Central OAuth

Interested in working together?

Let's create something amazing. Get in touch to discuss your next project.

Go back to all projectsGo to all blog postsContact

About

Mark Mwangi

Creating secure and meaningful digital experiences.

Software developer focused on secure, responsive, and high-quality digital experiences.

Socials

GitHubLinkedInXE-mailinstagramfacebookwhatsappMedium

© 2026 Mark Mwangi | All rights reserved

Terms of Service•Privacy Policy

Last updated: Oct 06, 2026 04:23:51 UTC