LightGame — Instant-Play Casual Game Platform
A polished casual-game platform for quick breaks: Snake, Tetris, space shooters and more — no login, no friction. The real engineering story is the onboarding pipeline: every game is declared by a single metadata.json, then schema validation, iframe embed pre-checks (XFO/CSP), list generation and CI all run automatically. Adding a game is a pull request, not a refactor.
Responsibilities
- Product design & full-stack development
- Metadata-driven game onboarding pipeline (validate / sync / build)
- iframe embed pre-check library (X-Frame-Options, CSP, redirects, whitelist)
- Monorepo tooling & CI with GitHub Actions
ReactTypeScriptViteTailwind CSSGitHub Actions
Role: Full-stack engineerClient: Personal projectsYear: 2025
🎮
Open it, play, close it. No accounts, no friction — the engineering effort lives where users cannot see it.
The Platform
A curated catalog of classic and lightweight games for office-break relaxation, with a unified visual language, smooth animations and a fully responsive layout across devices.
A Game Is a Pull Request
The pipeline — not the game count — is the real product:
- Single source of truth: each game ships one metadata.json (id, title, entry, mode)
- validate-games: schema validation plus a live iframe embed pre-check (X-Frame-Options, CSP, redirects, allowlist)
- sync-games: copies local game sources or generates iframe wrapper pages automatically
- build-games-list: regenerates the catalog JSON consumed by the front end
- Everything wired into CI — a bad game config fails the build, never the user
Architecture
- Monorepo: packages/app (Vite + React site) and packages/games (game sources)
- Static-first output, deployable to any static host (live on Vercel)
A small platform that takes platform thinking seriously: content onboarding reduced to configuration, guarded by automation.