Case study · Our own product

Gaming Galaxy

A place to play games in the browser — and a way to keep adding more of them without the platform and the games ever tangling.

Role
Product, design, build, hosting
Stack
Next.js, TypeScript, Docker, Original games
Status
Launching soon
gaminggalaxy.net
Launching soon
GAMINGGALAXYPlaying as [nickname]
Do The ThingAn original game, shipped as its own bundle and embedded by the platform
Gaming Galaxy is not public yet — this frame will hold the real site once it is.
The problem

Games sites collapse when the platform and the games depend on each other.

Every new title drags its toolchain into the deploy, one game's bug takes the catalogue down with it, and adding the fifth game costs more than adding the first. And players won't make an account to try a browser game — but a leaderboard is meaningless without a name.

The approach

Every game is its own repo. The site never imports game code.

A typed registry describes each title — tags, controls, frame shape, how it accepts an identity — and the site embeds the bundle in an iframe. Adding a game is two entries in two files; the container build needs no game toolchain at all; identity arrives without anyone registering.

Isolated bundlesA build script pulls each game from its own checkout and copies the bundle in. Bundles are committed, so the production image stays a plain Node container.
Identity, no accountsA stable id and nickname live in the browser. They pass into a game on load, and later changes are posted into the running frame — renaming yourself never restarts the game.
Boards without exposureLeaderboards are proxied through the site, so the browser never learns a game server's address. If a board is offline the page says so and the game keeps working.
StarHeart — beta.starhe.art, captured Sept 2026
Next project · OursStarHeartDrop a file anywhere on the page. It’s up.
Read the case study