My friend's Game Boy got stolen so I built him one
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend My friend's Game Boy Color got stolen. Rude. Then he went looking for a replacement and found out that decent used ones are now rare, overpriced, or "mint condition" in the way that means "mint-flavored lie." So I built him a new one that can't be stolen: a Game Boy Color in the browser . It's teal, it has a D-pad…
A friend's Game Boy Color was stolen, and he sought a replacement but found it hard to come by. Overpriced or rare mint-condition ones were scarce. He needed a solution that couldn't be stolen, so I built him one: a Game Boy Color in the browser. This virtual console features a teal design, a clicking D-pad, and the ability to play genuine Game Boy games.
The standout feature is that the console never needs to be shared or taken. The player simply tells it what they want to play, and a small AI picks a game from the collection, loading it instantly. No scrolling through ROM lists needed. The player can communicate through typing or speaking the request aloud. The AI, powered by Google's Gemma 4B model running locally through Ollama, selects a suitable game based on the description.
The emulator, mGBA, runs on WebAssembly within a Vite + TypeScript project. It accesses ROMs from the public/gameroms folder, including those packaged in ZIP files. The controls are customizable, including keyboard shortcuts, on-screen buttons, and gamepad support.
For the AI game selection, Gemma 3 (4B) is used, installed and running locally. When a request is made, the app sends the request along with the list of available games, and Gemma picks the best match, loading the game directly in the emulator. If the player knows exactly what they want, they can choose it from a list of available games.
This project emphasizes local AI capabilities, avoiding costly cloud services and per-request charges. It's easily customizable, with a small file (src/games.ts) for adding new games. The local model remains consistent, avoiding deprecation emails, pricing changes, or unexpected outages. All of these features make this project a standout example of open innovation.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.