Shadev Games
Shadev Games is a free browser-game portal with eight original HTML5 games across puzzle, card, word, arcade, sports, casual and strategy play. Every game runs in the browser with no download and no account, and the whole site is served as static files from Cloudflare.
- Timeline
- 2026
- Role
- Full-Stack Engineer & Game Developer
- original games
- 8original games
- game categories
- 7game categories
- Lighthouse desktop accessibility and SEO at launch
- 100Lighthouse desktop accessibility and SEO at launch
- minimum gap between a display ad and the game frame
- 150 pxminimum gap between a display ad and the game frame
Key takeaways
- Shadev Games publishes eight original HTML5 games built in Phaser 4 and TypeScript, each one playable in the browser with no download and no account.
- Shadev Games runs entirely on Cloudflare Workers static assets with no Worker script, and its build fails if the output breaks the free plan's file-count or file-size limits.
- Every Shadev Games title reaches ads and saves only through one shared game SDK, so the ad-placement rules live in one package instead of in each game.

The problem
A portal of small browser games has to ship many games without each one rebuilding ads, saves and page SEO, and it has to follow ad-placement policy: no ad over the game, interstitials only at natural breaks. Hosting had to fit the Cloudflare free plan, and every game had to be original, with no clone or reskin of an existing title and every shipped asset licensed.
The approach
The portal is a Next.js 16 static export: a game catalog, category pages, policy and contact pages, and one page per game with about, how to play, controls, tips and FAQ sections. Each game is a standalone Phaser 4, TypeScript and Vite project in a pnpm workspace, built and copied to /play/<slug>/ and loaded into an iframe behind a click-to-play facade, so a game page does not download the game until the visitor presses Play. Ads and saves go through one package, @wg/game-sdk, which wraps the AdSense H5 Ad Placement API for interstitials at natural breaks and stores versioned saves. The build chains a config check, a typecheck, the game builds, a parity check between each game folder and its catalog entry, the Next build, and a budget check against the Cloudflare free plan. Indexing is gated: robots, meta robots and the sitemap open only on a production build, while the staging host and the /play/ documents stay noindex. The portal is cloned from a reusable starter repo, so later portals inherit fixes with a git pull.
What it does
- Eight original games: Cipher Safe (code breaking), Fan Fifteens (solitaire where cards from fan ends add up to 15), Edgeless Words (word search on a grid that wraps around), Tattergrip (one-button rope swing), Gyre Blocks (block puzzle whose board turns a quarter turn every third piece), Draft Putt (mini golf where you place two obstacles before you putt), Brackish Bay (idle tidal salt farm) and Gloamwatch (tower defense with lantern beams)
- Seven categories: puzzle, card, word, arcade, sports, casual and strategy
- Each game a standalone Phaser 4, TypeScript and Vite project with its own Vitest tests
- Click-to-play facade: the game iframe at /play/<slug>/ loads only after the visitor presses Play
- Shared @wg/game-sdk for ads through the AdSense H5 Ad Placement API and for versioned saves
- Display ad units with reserved height, at least 150 px from the game frame and never over it
- Sound effects generated in code with ZzFX; every shipped asset logged with its source and license in the game's ASSETS.md
- Game pages with about, how to play, controls, tips and FAQ sections, and VideoGame plus WebApplication structured data
- Sitemap, robots and llms.txt, with indexing gated to the production build and the staging host always noindex
- Build-time budget check against the Cloudflare free plan's file-count and file-size limits
- Light and dark themes that follow the OS setting, with a toggle
- No accounts and no sign-up to play
Stack
Outcome
Live at games.shadev-tech.com with all eight games, released in November 2026
Launch check: Lighthouse desktop accessibility 100 and SEO 100 on the home page and a game page, with CLS 0
No horizontal scroll on a game page at 390 × 844 in portrait or landscape
Adding a game is one game folder and one catalog entry; the build fails if the two do not match
References
- Shadev Games
- Ad Placement API — Google for Developers
- Static Assets: Billing and limitations — Cloudflare Docs
Shadev Games — questions
Common questions about Shadev Games and how it was built.
Building something similar?
I'm open to new opportunities and project work.