Skip to the workbench
← Back to the workbench

PROJECT FILE 04 / Mobile & interaction / Prototype

Zen Mahjong

A small game. A considered system.

A calm Mahjong Solitaire prototype with a separate game engine and local progress. Built to explore how a thoughtful interface supports real domain logic.

Zen Mahjong prototype gameplay board with stacked tiles and game controls.
Offline by design.

Rules. Touch. Local progress.

Prototype gameplay · Expo web QA

The problem

A game needs more than attractive tiles. Rules, selectable states, saved progress, and touch feedback must agree.

What I built

  • Structured an Expo and React Native prototype around reusable interface and design foundations.
  • Separated Mahjong rules from the presentation layer in a framework-independent game engine.
  • Implemented local persistence contracts and an MMKV adapter for offline progress.

Inside the engineering

Offline progress as a first-class concern

Persistence contracts separate saved-game data from the storage adapter and mobile screens.

Reusable presentation foundations

Shared design tokens and UI packages organize consistent tile, board, and navigation presentation.

What this demonstrates

Demonstrates mobile product architecture, domain modeling, offline state, and interaction design.

  • React Native
  • Expo
  • TypeScript
  • MMKV

Prototype, not a released app. The capture is from Expo web QA on October 11, 2026; physical-device and release sign-off remain separate work.

SOURCE REVIEWED / 2026-11-07