Tiny self-contained browser games in vanilla JavaScript. No install โ just open and play.
- Zero install โ runs straight in the browser on desktop and mobile, and installs to the home screen as an app.
- Touch controls โ on-screen joysticks and buttons on phones and tablets, keyboard and mouse on desktop.
- Pure web platform โ Canvas 2D and WebGL for graphics, Web Audio for synthesized sound. No frameworks, no build step.
- Self-contained โ each game lives in its own folder and still works when copied out of the repo.
Run locally
git clone https://github.com/gray0072/ivan.git
cd ivan
npx serve . # or just open any index.html in a browserDeploy
There is no build step. GitHub Pages serves the main branch root directly
(Settings โ Pages โ Deploy from a branch โ main / (root)), so pushing to main is the whole deploy.
Project structure
/
โโโ index.html, manifest.webmanifest # the gallery page (an installable PWA)
โโโ assets/ # gallery styles and scripts, icons, flags, showcase.gif, social preview
โโโ tools/ # cdp.js (headless Chrome), i18n-check.js, pwa-icons.sh
โโโ README.md / README_RU.md / README_SV.md
โโโ SPEC.md # repo-wide spec and conventions
โโโ AGENTS.md # instructions for AI coding agents (CLAUDE.md points here)
โโโ <game>/ # one folder per game: world-aviation, fish-frenzy, fun-training, flight-simulator
โโโ SPEC.md # spec of this game
โโโ index.html, styles.css, constants.js, game.js
โโโ core/, data/, sim/, render/, ui/, โฆ # the code, by role
โโโ README.md / README_RU.md (/ README_SV.md)
โโโ icon.svg, manifest.webmanifest, PWA icons
โโโ screenshot.png
Roadmap
- More mini-games and experiments
- Search/filter on the gallery page
- Light/dark toggle on the gallery page




