It is easy to skip the thinking
When an AI tool gives the answer, people can finish a task without learning why the code works. That makes it harder to spot mistakes or solve the next problem alone.
Escape Sequence / project guide
Start with blocks, move into JavaScript, and solve bigger problems as you go. The drone, commands, and game world stay familiar the whole time.
Explore the project01 / Quick pitch
A short explanation of the game and why it matters.
Watch the pitch
02 / The problem
AI can write and explain code quickly. That is useful, but developers still need to understand, review, fix, and improve the code it gives them.
When an AI tool gives the answer, people can finish a task without learning why the code works. That makes it harder to spot mistakes or solve the next problem alone.
Normal coding exercises can be intimidating. When learners get stuck, searching or asking a general AI tool often gives away the answer before they understand it.
01
Your code controls a drone in the story, so every challenge changes what happens in the game world.
02
Each level uses ideas from earlier levels, so learning feels like moving forward instead of doing random exercises.
03
ARIA uses the challenge and the learner's attempt to give a useful next step, not a full solution.
Our answer
Escape Sequence turns coding practice into a story-driven game. Players use real JavaScript to guide a drone through harder and harder levels. ARIA, the in-game AI mentor, helps them understand how to solve a problem instead of simply doing it for them.
A coding game on its own can tell a player if they are right or wrong. An AI helper on its own can be too general. Together, the game gives the mentor the level, the learner's code, and what happened when it ran—so the help can match the exact problem.
New developers can learn in a friendlier place with support when they get stuck. Experienced developers can use focused challenges to practise skills they do not use every day, with as much—or as little—help as they choose.
03 / AI + cloud report
This report records the AI used in the submitted product and during development. Paid figures below cover the hackathon period, not future-scale estimates.
Main cost driver
92%
R971.70 of confirmed spend was AI-assisted development tooling.
Product cloud spend
R0
Ollama Cloud and Cloudflare remained on confirmed free tiers during development.
total
R1,057.70
Actual development cost, separate from future operating estimates.
Two Claude Pro subscriptions and one ChatGPT Plus subscription supported implementation, level authoring, documentation, and prototype refinement.
Human control: The team made the decisions, tested the game, and reviewed every public claim.
An implemented Ollama Cloud mentor that gives contextual, next-step help inside the game and checks understanding after a successful solution.
Human control: Deterministic grading stays AI-free; guarded responses, budgets, caching, and scripted fallbacks prevent answer leaks and keep the game playable.
Hackathon actuals
| Service | Used for | Cost |
|---|---|---|
| Ollama Cloud | ARIA experimentation and cloud inference | R0,00 |
| Cloudflare | Worker, static delivery, and the KV-backed mentor cache during the hackathon | R0,00 |
| Claude Pro × 2 | Implementation, level authoring, and documentation | R647,80 |
| ChatGPT Plus | Implementation, level authoring, and documentation | R323,90 |
| Domain registrar | Public project address | R86,00 |
| Total development cost | R1 057,70 | |
Claude Pro is calculated as 2 × US$20/month and ChatGPT Plus as US$20/month, converted at R16.1951/US$. Ollama Cloud and Cloudflare were confirmed free-tier development services; the domain registration was a one-time R86 cost.
How ARIA stays helpful
ARIA can explain a tricky moment, but it never decides whether a learner's code is right or wrong.
Code is run and graded without AI, so results stay consistent.
The server checks the code again and shares that result with the mentor.
Replies are short and checked so ARIA does not hand over a full solution.
If help is unavailable, the learner gets a useful scripted nudge instead.
We checked these behaviours in the mentor test suite: 364 checks passed across 13 test files. We log runtime events, but will only report traffic once we have real traffic to report.
What the room marks mean
Stars say the program ran inside budget. The line beneath them says what the learner showed when ARIA asked them to explain it — and every room starts by saying plainly that nothing has been concluded. A verdict that stopped short is not a life sentence: a learner who goes away and works the room out can ask ARIA to check them again, on a fresh set of questions. Only a confirmed one is final, because a mark you can re-roll until you like it means nothing.
The limits, as configured
The mentor has no config file: every setting below is an environment variable, so a deployment changes by setting variables and redeploying nothing. The non-secret values are committed to the Worker config and are what the live game runs on. The ones marked set per deployment are secrets, and are never committed.
Checked before every model call, cheapest layer first. Any breach routes to the scripted mentor rather than to an error, so a tripped limit degrades tone and never playability.
A raw IP is personal data under the project's no-PII rule (ADR‑005), so these caps are checked against a salted SHA‑256 hash computed fresh per request and never persisted as anything else. With no salt set, IP tracking is off rather than faked with a reversible unsalted hash.
Each browser is given an anonymous random-UUID id in a cookie so the per-level and per-hour windows count per browser. A UUID names a browser, not a person, so this stays inside the no-PII rule.
A denied call is never an error the learner sees: every limit above routes that turn to the scripted mentor instead, so a tripped ceiling costs tone and never playability.
AI development cost controls
R971.70 of the R1,057.70 confirmed development spend was for Claude Pro and ChatGPT Plus. The next saving is not to remove AI from the workflow; it is to send the right information, to the right tool, in the smallest useful shape.
Name the goal, affected files, constraints, and acceptance checks before asking. This avoids replaying the same repository context and follow-up clarifications.
Carry forward decisions, open questions, and test results as a short summary; do not repeatedly paste whole conversations, files, or build logs.
Builds, tests, formatting, calculations, and validation run in the toolchain. AI is reserved for design judgement, explanation, and genuinely ambiguous work.
Use lighter or free-tier tools for simple tasks, reserve paid reasoning tools for complex work, and review named subscriptions after each delivery phase instead of keeping inactive seats by default.
We will track the task type, tool used, time saved, and outcome for future work. That lets us reduce subscription and model spend based on evidence rather than guesswork.
The learner's browser runs and grades code deterministically, so routine play never creates a model request.
Cache-first routing avoids repeat model calls. Model-call, cache-hit, and fallback events are recorded so usage can be audited.
Cache-first routing, rate limits, a circuit breaker, and scripted fallbacks keep the game usable even after model calls stop.
04 / How we use AI
The game uses fixed rules to check code. AI is only there to offer a helpful question after a learner has tried a level.
Stars, results, and error types do not depend on AI.
ARIA asks what to try next instead of solving the level for you.
Personalised mentor turns are the only part of play that can add an AI cost.
05 / How we built it
We wanted to make the move from blocks to code feel natural. This is the short story of how the project grew.
We focused on the moment blocks disappear. Our answer was one drone and one set of commands all the way through the game.
We built an engine that runs the learner's code, checks it fairly, and lets them replay what happened.
The prototype grew to 54 playable levels across nine decks, from blocks to data structures and algorithms.
Practice mode gives learners another way to find the topic they need, and saved progress lets them come back later.
ARIA is part of the game: it gives contextual Socratic help, offers six mentoring styles, and follows a successful solution with an understanding check.
06 / Costs
The confirmed development cost is reported above. These estimates show which costs can grow with future usage, without mixing forecasts into what we actually paid.
Scale explorer
10,000 users
Select between 10,000 and 1,000,000 monthly active users.
Planning assumption: 20 ARIA requests per active user each month, spread across 30 days. Workers costs are estimated separately from AI capacity.
ARIA requests/month
200,000
Cloudflare Workers
R0,00/month
Within the daily free tier
Ollama Cloud
R323.90/month*
Planning baseline; capacity must be measured
Daily Worker requests
6,667
100,000/day free-tier benchmark
* R323.90 is the Ollama Pro entry-plan baseline, not a guaranteed capacity quote. The confirmed development cost is reported separately above.
Explore the AI planning assumptions and hosted-capacity thresholds.
| Monthly users | ARIA requests | Paid-cloud outlook | Production decision |
|---|---|---|---|
| 10,000 | 200,000 | R323.90/month Pro plan† | Benchmark throughput and token use |
| 100,000 | 2,000,000 | R323.90/month Pro plan† | Measure before committing capacity |
| 1,000,000 | 20,000,000 | Custom / volume pricing | Require a hosted-capacity quote |
† Development uses Ollama Cloud's confirmed free tier. It is not a capacity guarantee at production scale. R323.90 is the current US$20/month Ollama Pro entry plan, converted at R16.1951/US$; included cloud usage is model-dependent and limited, so it is not a 1m-user capacity quote.
View the request-volume assumptions and Workers cost breakdown.
| Monthly users | Hint requests | Average requests / day | Free-tier fit | Workers / month |
|---|---|---|---|---|
| 10,000 | 200,000 | 6,667 | Yes | R0 |
| 100,000 | 2,000,000 | 66,667 | Yes — below 100,000/day | R0 |
| 1,000,000 | 20,000,000 | 666,667 | No | R129.56 minimum; R134.10 incl. CPU |
Assumptions, safeguards, and the 1,000,000-user calculation.
Workers Paid includes 10 million requests (R83.82). The next 10 million requests add R48.59, for a request-only total of R129.56. At Cloudflare's cited 2.2 ms average CPU usage, the estimated CPU overage is R4.53, making the estimated Workers total R134.10/month. See the Ollama table for the separate AI scaling basis.
07 / How it works
Learners keep using the same drone and commands while they learn more advanced ideas.
How a level works
blocks or JavaScript
one drone engine
grade + replay
learn + advance
Learners express a solution in blocks or JavaScript. The same drone engine executes it, deterministic grading and replay reveal the result, and the learner advances through the next challenge. ARIA offers bounded help after a learner asks and never judges a solution.
08 / Tech stack
Escape Sequence uses React, TanStack Start, and Vite. It is hosted on a Cloudflare Worker, while the game itself runs on the learner's device.
The technical path
hosts the app and levels
TanStack Start + Vite
runs code · checks it · replays it
drafts + progress
The app and levels load from Cloudflare. The browser runs, checks, and replays code, then saves progress on the device. ARIA adds optional, guarded mentor help, while the game still works without a model connection.
Language
TypeScript
What you see
React · Blockly · CodeMirror · Three.js
Look and feel
Tailwind CSS · Radix UI primitives
Game engine
JS-Interpreter · Acorn · fair, repeatable grading
Checks
Vitest · TypeScript checks · ESLint
Mentor safeguards
ARIA · KV cache · scripted fallback