Gamecakes
a learning world

Games where the question is the gate.

Most learning games are a worksheet in a costume. Play for ninety seconds, sit through a quiz, go back to playing. Gamecakes doesn’t work like that. The maze wall has a sum written on it. Answer it and the wall opens. The question isn’t the toll you pay for the fun. It’s the way through.

It’s a walkable cake town with 22 games in it, across maths, reading and chess. Every question is pitched at what that child can actually do, and it moves as they get better.

You run your own copy. Your family’s data lives in a database only you can reach, you decide what your kids can play, and there is no shop, no ads and nobody selling to them. That isn’t a promise in a privacy policy. It’s the architecture.

22
games
13
town regions
65
skills tracked
K–6
CCSS aligned

Sixteen of the games run in your browser right now. No account, no password, nothing saved. You don’t have to take my word for any of this — go and hit a maths wall and see what happens.

The hub

A town you walk, not a menu you scroll

Everything starts in the town. It’s a real 3D world. You steer a cupcake down frosting streets, past a chess club and a fishing hole and a castle, and walk up to a booth to play. Regions start hidden. You open one by walking to its edge and paying in cookies you earned by practising.

The 3D town, with a Treehouse Land archway and game booths along a frosting street
The hub. Game booths sit along the street; locked regions wait behind their gates until a kid can afford them.

The map isn’t a grid of buttons, and that’s deliberate. A kid deciding which way to walk is a kid deciding what to practise next. Two of the thirteen regions belong to individual kids, who decorate and upgrade them.

The games

Twenty-two of them, and the maths is load-bearing

Games are the point of contact, so they have to be worth playing on their own. Cake stackers. A crossy-road hopper. A sandcastle you knock down with a slingshot. A maze whose gates only open when you solve what’s written on them. Sharks and minnows. A downhill skier. Some are 2D, some are fully 3D.

The Crayon Maze in play: a 3D maze whose walls carry sums like 10 + 10 and 17 + 3
Crayon Maze. The sums are on the walls. The question is not a quiz bolted onto a game, it is the way through.

Eighteen of them carry a Maths / Words toggle. The same game is an arithmetic game or a reading game depending on what a kid needs today. The game doesn’t change. The gate does. That is most of the reason there are 22 games here and not 44.

Two of them were designed by the kids themselves, and the kids own the decisions about how those play.

Not just sums

Chess Island, and 4,900 puzzles nobody had to write

Three of the games aren’t arithmetic at all. Chess Puzzles, a full game of Chess Challenge against a Cakey opponent, and Cakey Checkers. They sit on their own island and report into a third subject: logic. Maths and reading are the two everybody expects. This is the one that changes what the app is for.

The puzzle library is 4,900 real positions, pulled from the open lichess database and then cut down hard. Short lines only. Well played and well liked. Instructive tactics and mates, nothing cute. Every one of them re-checked move by move, so the solution is legal and the mates actually mate. They are bucketed by rating from 500 to 1900, 350 to a bucket, which gives chess the same steady ramp everything else in the app runs on.

A kid who has never played and a kid two years in both open a position they can solve. That is the whole trick. Both chess games feed one mastery number, so grinding tactics counts when they sit down for a full game, and checkers keeps its own score because it is its own skill.

How it adapts

Questions that meet the kid where they are

Every kid has a grade. Every question carries a target grade. A kid only ever sees questions inside a one-grade band around their own. A kindergartener is never shown 12 × 12, and a second grader is never asked what letter apple starts with. That band is the floor and the ceiling. Inside it, difficulty moves.

A game's setup screen: maths or words, a tier picker from 1 to 10 with 5 selected, and the kind of maths
Before a round: the tier the child is currently on, and the choice of what to practise. It moves on its own from here.

Inside the band, each skill has a tierfrom 1 to 10. Getting things right moves the tier up. Struggling moves it down. It is measured on a rolling window rather than the last answer, so one unlucky round doesn’t undo a week, and one lucky guess doesn’t promote a kid past what they can do.

Grades advance themselves every August. A parent sets a grade once, and the game never quietly serves last year’s content because somebody forgot to update a field.

Aim it

A grade is a guess. You know better.

Here is what no adaptive engine can know. It can’t know your kid’s class spent October on money. It can’t know there is a times-tables quiz on Friday. It can’t know that fractions are the thing causing tears at the kitchen table on a Tuesday night. You know all three. So there is a place to say so.

Every kid has a “What we’re working on” card on the grown-up side. Pin a maths kind: division, fractions, shapes, money, place value. Pin a reading kind: rhymes, sight words, spelling, context clues, word roots, parts of speech. Pin a level next to it, or leave the level alone and let the engine keep driving. Leave the card blank and the grade default stands. The override is the exception, not the configuration.

That is the difference between practice that is roughly the right level and practice that is the thing they are stuck on this week. Sixty-four skills are tracked, each mapped to the standard it belongs to, across maths, reading and logic. You are not picking between two subjects. You are picking a target, and the games a kid already plays start serving it on the next round. Nobody has to be told they are doing extra work.

Then there is the thing that actually came home in the backpack. Paste Friday’s twelve words into From school and those words become the questions, at any level, until you switch the list off. What the words are FOR is yours to say: spell it, read it, or what it means. The same twelve words are a spelling test in second grade and a vocabulary unit in fifth, so the app stopped guessing which.

Meanings are typed the way you would write them anyway, one per line, as brave = not afraid. The wrong answers a kid sees are the other real definitions off the same list, never invented ones. A word you have not defined yet is still a perfectly good spelling word, and the mode that needs it waits, visibly, until you get to it.

The settings screen isn’t the ceiling

You have the code. The question generators are plain functions with tests sitting next to them, and the skills catalogue is rows in a database you own. If your school teaches something the app doesn’t generate yet, that is a file you can edit, not a support ticket you file and wait on. Nobody else gets to decide what your kids are allowed to practise.

The economy

Sugar Tokens, and things worth saving for

Practice pays. Kids earn Sugar Tokens for playing, with a bonus when a skill tiers up, and parents can grant extra for things that happen away from the screen. Tokens are the only way to get anything. Nothing is bought with real money, because there is no shop, no ads and nobody to pay.

Earning

  • Playing a round. A steady drip, and the bulk of all income
  • Tiering up a skill. A bonus for getting genuinely better
  • A parent grant, for a chore, a hard week, a kindness

Spending

  • Unlocking a new region of the town
  • Cupcake parts, for decorating their character
  • Upgrading their own land
  • Renting a vehicle, or unlocking a locked game
The Cakey Store: a land upgrade for 15 tokens, rides from 1 to 5, and cupcake parts at 20 and 40
The Cakey Store against a balance of 47. A ride costs a couple of rounds; growing your land costs a week.

The ladder is tuned so the cheap things are reachable in a sitting and the good things take a week. That gap is where the saving happens, and saving is most of the point.

The Story Oven

Kids file tickets, and the tickets are real

Every game has a button that lets a kid say something is broken, or that they want something different. It goes into the Story Oven, their own queue, in their own words, which they can check whenever they like.

In the mixing bowl
Filed. Somebody has read it.
In the oven
Being built right now.
Fresh out of the oven!
Shipped. Go and look.
Saved for later
A good idea, not yet.
A kid's Story Oven: two tickets with baking-stage trackers, one shipped with a note back from the baker
A kid's own queue, read-only on purpose. Filing an idea is not the same as commanding one. The shipped one carries a note back.

When the thing they asked for ships, it shows up in the dev log with a “🧁 You baked this!” badge on it. Seeing your own idea in the list of what got built is the entire reason the feature exists. Kids learn that ideas get triaged, that some wait, and that shipping is a thing which happens to people who ask.

For grown-ups

A dashboard that answers the actual question

The parent side sits behind a grown-up PIN, and the elevation expires on its own. A kid holding the iPad gets the PIN screen, never the dashboard, because the honest answer to “how is my kid doing” is not something they should read over your shoulder.

The parent dashboard: skills with CCSS codes, each marked on track, a tier to go, or above grade level
Each skill against its grade-level tier, with the standard it maps to. Not a stream of scores.

Add as many kids as you like. There is no limit and no per-child cost. Each one gets their own profile, PIN, grade, token balance and progress, tracked separately. It was built for two, but nothing in it counts to two. (The town currently has two decoratable per-kid lands; every other part of the game scales to as many children as you add.)

  • Where they actually are. Each skill against its grade-level tier, above or at or below, rather than a percentage that means nothing.
  • What to work on. Pin the maths and reading kinds their class is covering right now, and the games follow.
  • From school.Paste this week’s word list and say what it is for: spelling, reading, or meanings. Those words become the questions.
  • Observations. Note what you saw off-screen. Photograph a page of homework and the form fills itself in from the picture.
  • Sugar Token grants. Reward the things the game cannot see.
  • Their tickets. Read what your kid filed, and decide what gets baked.

More dev

Two of the contributors are agents, and they ship with the repo

Adding a game is a known path. There is a guide, a registry entry, a booth placed somewhere in the town, and a review bar that cares about one thing: whether a child has a better time. A game that can’t be walked up to isn’t shipped.

The less usual part is that two of the people who help build them are checked into version control. .claude/agents/ holds a creative director and a three.js engineer, and they come down with the clone.

The creative director

Owns how the town looks. Terrain, paths, region gates, booths, foliage, signs, lighting, motion. It knows the real palette, the real characters and the real renderer, so it answers with a file and a decision instead of “make it more whimsical.” It also knows the constraints, which is why it won’t hand you an effect that dies on a tablet or buries the gameplay under itself.

The three.js engineer

Owns how it is built. The walkable town engine and the dozen game engines under it are hand-written, imperative three.js. No React-Three-Fiber, no physics engine, no asset pipeline. It knows that, and it knows the specific ways this codebase bites: what leaks between rounds, what quietly drops frames, what has to be torn down by hand.

They split the way a good studio splits. What colour, what shape, what mood belongs to the director. How is this built, why is it slow, what leaked belongs to the engineer. Ask the wrong one and it will tell you so.

That is the reason they live in git rather than in somebody’s chat history. The next person to build a game starts holding the context instead of spending a weekend rediscovering it. Your own games go in registry.local.ts, a file upstream never edits, so you can build for your kids and still take every update without a merge conflict.

Open source

Run it for your own kids

Gamecakes is MIT licensed and built to be forked. You bring your own database, which means your children’s data sits in a project only you can reach. Not on somebody else’s server, and not in an account that can be sold.

Setup is a template, a config file and one command. There is no code to edit to add your own kids.

What you need

  • A Supabase project.This is where your family’s data lives, and it is the reason nobody else can see it. The free tier is plenty for a household.
  • Somewhere to host it. Vercel is the path of least resistance and its free tier runs this fine. Anywhere that serves a Next.js app works, including a machine in your house.
  • About fifteen minutes, once.

Both have free tiers that cover normal family use. Gamecakes itself costs nothing and asks for no payment details. There is nobody to pay.

The code is free to use and change. The name Gamecakes, the character Cakey and the logo are not. Run your copy under your own name.