I have a young daughter, and I wasn't happy with the free educational games I found online — too many ads, dark patterns, and busywork. So I used Claude Code to build my own. What started as one game grew into a small series, each aimed at a different early-learning goal and built on a different stack. They're self-initiated projects made for one very specific user.
A cozy top-down adventure where reading, spelling, and math are the gameplay. The child spells picturable objects — a pot, a tree, an apple — to paint the world and clear each area. That was a deliberate content decision: early drafts had kids spell the enemies' names, but "orc" and "skeleton_warrior" aren't words a new reader can attempt, so every prompt now puts a concrete, nameable object on screen and the picture is the hint. No time pressure, big text, short words — designed for a child who can't yet read a full sentence. Built in Phaser 3, with pixel art I assembled from an open art pack.
"The emojis got loose — spell their names to bring them home." A gentle spelling-and-collecting game covering more than 200 words, with speech synthesis reading each word aloud and a growing collection to reward progress. It's a plain, offline-capable web app (a PWA) that installs to a phone's home screen — which is how my daughter actually plays it. The whole thing is hand-coded: word lists, phonics grouping, audio, and UI.
Less a lesson than an invitation to tinker — a set of interactive particle toys: a flow field you can push around, a black-hole galaxy builder, an oil-and-water paint mixer, and a jeweled network. Open-ended play that rewards curiosity rather than testing a skill. Hand-built with p5.js, and the first of the set I put on my own domain so I could pull it up on my phone.