Learn software development, five minutes a day.
Stack Quest is a phone app that teaches coding, system design and AI the way a language app teaches a language: short daily sessions of exercises you answer, not videos you watch. You write real code and it runs. What you get wrong comes back before you forget it.
- Courses
- 14
- Sessions
- 5893–5 minutes each
- Exercises
- 7,212
- You write
- 291programs, run on your phone

What it is
Duolingo-style practice for the whole arc of software development.
Content is not the bottleneck; there is more free material than anyone can finish. Habit and retention are. Stack Quest is built for those two.
Practice, not lectures
Every session is eight to fourteen exercises with explanatory feedback. Three to five minutes, finishable on the bus.
Scheduled so it sticks
What you see today is decided by what you got wrong and when. Reviews come back right before you would forget.
One path, first line of code to AI
From print('hello') to designing a rate limiter to building with LLMs — 14 courses on one continuous path instead of 14 apps.
What you can learn
14 courses. 108 units, 589 sessions.
Languages, the systems you build with them, and the AI on top. Pick one to start; switch any time. Progress is kept per course, and a placement test lets you skip a unit you already know.
- System designBuild systems that scale12 units · 77 sessions
- Service codeThe code behind the systems you design6 units · 25 sessions
- Generative AIFrom LLMs to agent systems14 units · 90 sessions
- Machine learningFrom data to production11 units · 72 sessions
- PythonRead and write real Python8 units · 40 sessions
- JavaScriptThe language itself, from values to async8 units · 40 sessions
- Data Structures & AlgorithmsThink in structures, reason about cost8 units · 40 sessions
- Databases & SQLAsk data the right questions6 units · 30 sessions
- TypeScriptJavaScript that tells you when you are wrong6 units · 30 sessions
- Web & APIsHow the web actually talks6 units · 30 sessions
- Git & collaborationWork with other people without fear5 units · 25 sessions
- DevOps & CloudShip it, run it, know when it breaks6 units · 30 sessions
- SecurityThink like the person attacking your code6 units · 30 sessions
- Testing & craftCode you can change without fear6 units · 30 sessions
How a session works
Four minutes, start to finish.
These are screenshots from the app, not mockups.
Step 1
One screen of concept
Definition, example, takeaway. No lecture, no video. Reading more is one tap away, by choice.

Step 2
Then it is all practice
Multiple choice, match the pairs, put the steps in order, estimate the numbers, arrange the code, fill the blank, predict the output, spot the bug — and write real JavaScript that runs on your phone against tests.

Step 3
Wrong answers explain themselves
Every miss shows why, and the exercise comes back before the session ends. A session only finishes when everything in it is right.

Step 4
Stuck? Take a hint
A hint on every exercise. Using one affects the skill rating that schedules your review, never whether you can finish.

9 kinds of exercise, 7,212 of them
A session mixes them, so you are recognising, recalling, predicting and writing rather than clicking the same widget for a month.
- Multiple choice2,135
- Predict the output1,467
- Fill the blank929
- Match the pairs786
- Arrange the code633
- Estimate the number456
- Spot the bug348
- Write and run code291
- Put it in order167
You write the code
Real JavaScript, real tests, on your phone.
291 of the exercises are programs you write. They run in a JavaScript engine inside the app and are checked against test cases — the same way your work is checked at work.
It actually executes
Not a quiz about code. Your function is run against inputs, and the failing case is shown to you with what it expected and what it got.
Nothing is graded by an AI
Correctness is deterministic: test cases, answer keys and rubrics decide. Code you write never leaves the device. AI is used to explain, never to score.
It works offline
The whole curriculum is downloaded and the runner is local, so a session on the underground works exactly like a session at home.
And 5 projects you finish and keep
Each project is a handful of functions written in order, every one building on the last, every one checked by tests. Finish the fifth step and you have a working program.
Build a cache that forgets
Five steps that turn a plain object into a cache with expiry, a size cap and least-recently-used eviction.
5 steps · 20 tests · ≈25 min
Build a rate limiter
Five steps from a fixed window that leaks bursts to a per-caller token bucket a service could run on.
5 steps · 20 tests · ≈30 min
Build a text search index
Five functions that turn a pile of documents into a search box that ranks what it finds.
5 steps · 20 tests · ≈30 min
Build a receipt printer
Five functions that add up to a receipt you could hand someone.
5 steps · 19 tests · ≈25 min
Build a test runner
Five functions that grow into the runner every testing framework is underneath.
5 steps · 20 tests · ≈25 min
Why it sticks
It remembers what you are forgetting.
Stack Quest tracks 486 individual skills and schedules each one with FSRS, the open-source spaced-repetition algorithm, so a review lands right before you would have forgotten it.
A rating per skill, per session
Again for a first-try miss, Hard when a hint or retry was needed, Good for clean, Easy for clean and fast on a skill already in review.
Due reviews come first
Reviews are interleaved into lesson sessions, and served on their own in Practice when nothing new is due.
Mistakes, one tap away
Everything you missed in the last 30 days, ready to re-practice. Strength shows your estimated chance of recalling each skill right now.
Streaks that measure learning
A daily goal of one to three sessions, a streak with one earned freeze, and XP for real practice, not taps. Byte, the bolt on the icon, keeps count.

FAQ
Questions people ask before installing.
Start a five-minute habit today.
Free during the beta. Android via Google Play internal testing, iOS via TestFlight invites. No account needed to start.
Join the beta
