Skip to content

Work · The desk

What’s on the monitor.

Pick a project: it lights up the screen and spins on the desk. The full story is right below.

Paid travel-guide PWA · Jan — Jul 2026

AMERICANÆRA

The problem — Travellers bought curated US road-trip guides as static PDFs, then lost them where they needed them most — no signal in national parks and deserts, and every purchase was turned into an account by hand.
lines of code
~25k
routes
55
core tables
10
manual onboarding
0

What I built

  1. Map-first PWA (Next.js 16, React 19, Supabase, Leaflet + Google tiles) where the curated guide is the map.
  2. Workbox service worker: images CacheFirst, guide and point APIs NetworkFirst, plus an offline fallback route.
  3. KML/KMZ importer with a preview step that bulk-converts Google Earth work into database points.
  4. Node/Express service verifies Shopify webhook HMAC, provisions the account, emails credentials, grants the guides.
  5. Viewport-based marker loading and clustering; httpOnly sessions and a hard 2-device limit protect paid content.

Stack

  • Next.js 16
  • React 19
  • TypeScript
  • Supabase
  • Leaflet
  • Google Maps
  • Workbox
  • Node.js
  • Express
  • Shopify
  • Zod
AMERICANÆRA — Paid travel-guide PWA — Marco Novissimo