Skip to content
Back to selected work

Serpentine Arcade

Eight retro games in an offline-first PWA built for TV remotes and gamepads.

Outcome

Eight games that work offline across TV remotes, keyboards, and gamepads.

Year
2026
Role
Design and build
Status
Independent
Stack
React, TypeScript, Vite, Supabase, Service Worker

The problem

TV browsers, a handful of remote buttons, unreliable networks, and no install flow.

What I built

Eight games, one input layer across remote, keyboard, and Gamepad API, a service worker for offline play, localStorage saves, an optional Supabase leaderboard and trophies, and a Slack feedback webhook.

System

  1. Input layer
  2. Game loop
  3. Service worker
  4. Optional Supabase

Decisions

The game loop runs outside React.

The backend is optional, so the arcade still works offline.

One canonical live URL.