Back to Projects

Scoundrel

Play Scoundrel, the solo rogue-like card dungeon by Zach Gage and Kurt Bieg, as a TypeScript Vite progressive web app with service-worker offline support and home-screen install.

  • TypeScript
  • Vite
  • Progressive Web App
  • Service Worker
  • Game Logic
  • Offline-First

Screenshots

Desktop

  • Scoundrel desktop screenshot 1

Mobile

  • Scoundrel mobile screenshot 1

Case study

Problem

Scoundrel is a sharp solo dungeon crawler, but the physical deck means setup friction, and many digital ports still need a constant connection or a heavy install. Players want the real rules — rooms, weapons, potions, flee limits — in a tab they can install and reopen on a plane or commute.

Solution

A complete browser implementation of Scoundrel: survive a 44-card dungeon (standard deck minus red faces and red aces), resolve three of four face-up room cards each turn, manage weapons and potions, and either clear the dungeon or fall at zero health. The production build is an installable PWA that keeps working with the network off.

Process

Implemented game rules and UI in TypeScript with Vite. The service worker precaches JS, CSS, HTML, icons, and self-hosted fonts so runtime has no third-party font or CDN dependency; SPA routes fall back to index.html offline, and an Offline badge surfaces when connectivity is gone. Build, lint, and preview flows make offline install easy to verify before deploy.