open a codebase
A generated project in your stack. It runs. Some of it doesn't.
invoices-api/ ├─ app/limits.py gap 1 ├─ app/middleware.py gap 2 └─ PR #12 gap 3
QuackCode puts you inside real codebases with a few pieces missing. Stuck? The Duck gives you a hint, never the answer. Once you know what you want, write it yourself or tell the Duck exactly what to build, then prove it works.
Every account starts with a free week, no card. Beta invites go out from the waitlist.
17 tracks: python, typescript, go, java, rust, c#, kotlin, swift, rails, laravel, c++, ai, ml, data, devops, security and architecture.
This is a real slice of a QuackCode project. The function is a stub and four tests are red.
This gap is one of three in the full project. Finish it in the app
You never start from a blank file. You start where engineers actually start: someone else's code, a failing test, and an AI that does what you say, not what you meant.
A generated project in your stack. It runs. Some of it doesn't.
invoices-api/ ├─ app/limits.py gap 1 ├─ app/middleware.py gap 2 └─ PR #12 gap 3
Ask the Duck for a hint, then write it yourself or tell the Duck what to build. It only sees the files you attach and only does what you specify.
you attach limits.py
you per-window bucket, expire it
ai +5 lines in allow()Tests decide if it works. Your replay shows what you asked, what you checked and what you caught.
outcome 100 verification 92 prompting 74
Each one trains a different part of shipping software with AI.
A stubbed function and the tests it has to pass.
The AI's instructions leave out something the tests expect. Find it, then direct the AI.
An AI teammate's pull request passes CI and hides two to four real flaws.
A planted bug, a stack trace and a clock.
A missing dependency, env var or route. Nothing boots until you wire it.
A design file, outage simulations and a missing component. Make checkout survive the outage.
Same IDE, same Duck, same scoring. Pick the stack you want the job in and switch whenever you like.
Rate limit an API, direct the AI to write middleware, catch a tenant leak.
Make drag and drop feel instant with optimistic updates that roll back.
Find the race that double charges riders, then make retries idempotent.
Exact money math, problem+json errors, and an injectable admin search.
Parse logs without panicking and spot the lock held across an await.
Fix retrieval, then rewrite the bot's system prompt until the evals pass.
Rebuild a DAU number nobody trusts and add the tests that would have caught it.
Pass the image policy, gate deploys on tests, and review a risky Terraform PR.
Redesign checkout until the outage simulation passes, then load test it.
Stop overselling stock with EF Core concurrency, then build reliable background jobs.
Keep state through rotation, cancel network calls safely, sync trail notes offline.
Observable view models, a typed API client and Swift concurrency without data races.
Prevent double bookings, fix a slow dashboard, send reminder emails exactly once.
Validate reservations, book seats without races, queue confirmation texts.
Kill leaks with RAII, parse ticks without copies, build a lock-free queue.
Close an IDOR, stop an SSRF, harden sessions, threat model a patient portal.
Find the target leak, pick metrics that match the business, train reproducibly.
Every track has 3-4 playable projects, plus capstones. Open the app
The Duck is your AI teammate. Hint mode coaches you without giving the answer away. Build mode writes exactly what you specify, from only the files you attach.
reverse a linked list
longest palindromic substring
trapping rain water
n-queens, again
Fix the webhook the AI wrote
Rate limit an API without breaking clients
Catch the tenant leak in this PR
Tell the AI what done looks like
Candidates practice in the same IDE companies assess in. Students learn in the same IDE instructors grade in.
Sample scorecard
| Student | Score | Verify | Note |
|---|---|---|---|
| Ava C. | 92 | 95 | Clean |
| Marcus B. | 74 | 70 | Untested AI diffs |
| Diego R. | 85 | 82 | Clean |
| Leo N. | 81 | 88 | Large paste |
Sample course
Sample candidate
Every account starts with 7 days of everything, no card needed. After that, Pro keeps it all unlocked. Founding members keep their price for good.
For every new learner
No card. Everything in Pro, from day one.
After your free week
Waitlist members lock in the founding price for as long as they stay subscribed.
for teams
For universities and bootcamps
For engineering teams
Pro pricing is announced at launch. Founding members keep their price; it rises only for new subscribers after the founding period. Campus and Hire start with a free pilot.
Not here. Directing the Duck is the skill being trained and scored. What counts is whether you specified the work well and checked what came back. Pasting answers from elsewhere shows up in your replay and teaches you nothing.
17 tracks today: Python backend, TypeScript full stack, Go services, Java and Spring, Rust systems, C# and .NET, Kotlin and Android, Swift and iOS, Ruby on Rails, PHP and Laravel, C++ performance, AI engineering, machine learning engineering, data engineering, DevOps and cloud, security engineering, and system architecture. Projects run from 35 minutes to multi-week capstones. New stacks ship as content, not new software.
A generator writes a complete, passing reference project, proves it green in a sandbox, then removes pieces and proves only the intended tests fail. A human engineer reviews every project before it goes live.
In practice mode you can choose to reveal one, and that gap scores zero for independence. Every other hint passes a separate leak guard that blocks anything too close to the solution. In interview and hiring modes the Duck still builds, but Hint mode and reveals are off.
Candidates are told exactly what is recorded. Scores support human reviewers and never make decisions on their own. Employer repos stay private to that employer.
On day 8, projects, capstones and the live Duck need Pro, monthly or yearly. Drills stay free and everything you built stays saved to your account. No card is taken during the free week, and during the public beta everything is free.
No. The editor, the checks and the Duck all run from your browser. Sign in with GitHub, Google or email, and your work saves to your account so you can pick up on any device.
Beta invites go out in small waves. Learners get founding pricing. Instructors and hiring teams get free pilots.