ShopForge is a working Next.js storefront. Its sprint goal is to ship coupon support for checkout, and three bugs in the coupon, stock and tax logic are in the way. You fix each one in the real codebase and open a GitHub pull request. An AI teammate reviews the diff, and a hidden Vitest suite decides whether the fix holds.
Real GitHub PRs · Graded by Vitest · Free during beta
You work in a storefront someone else wrote, with a catalog, a cart and a checkout. Each ticket reads like a real bug report, with acceptance criteria and a teammate you can ask for help. The sprint also puts you on call for a day, where you read the logs and recent deploys to name what broke.
A 10% coupon on a $200 cart should take off $20. The checkout treats the percentage as a dollar figure and takes off $10 whatever the cart size. To pass, the discount has to scale with the cart while fixed-amount coupons keep working.
A product with zero stock can still be added to the cart. To pass, out-of-stock adds have to be rejected and in-stock products have to behave exactly as before.
Checkout computes tax on the full subtotal and then applies the coupon, so discounted orders pay too much tax. To pass, tax has to be calculated on the discounted subtotal and orders without a discount can't change.
Each ShopForge ticket has a hidden test file that's added to your branch at grading time. The result appears on your pull request as a check, the same way CI gates a merge on a real team.
ShopForge assumes you already know TypeScript and React. It tests whether you can find and fix a bug in a codebase you didn't write.
Bootcamp grads and self-taught devs whose projects have never had a code review.
Engineers moving to Next.js and TypeScript from another stack who want real work in it to point to.
Anyone preparing for interviews who would rather talk about a checkout pricing bug than a to-do app.
Juniors who want to see what a "request changes" review feels like before it happens at work.
Not for: people who haven't used TypeScript or React yet. ShopForge is a debugging exercise in an existing app, so learn the basics first.
Node.js 24 and npm if you work locally. Every ShopForge repo also opens in GitHub Codespaces, so you can do the whole sprint in the browser.
Yes. The demo runs the same sprint in your browser with nothing to install. Sign in with GitHub when you want a real repo and real pull requests.
An AI teammate reviews the diff in the PR thread and can ask for changes. Whether the fix is correct is decided separately by the hidden test suite.
You see the failing test output on the pull request. Push a new commit and the check runs again, as it would against CI at work.
LeetCode has you write a function from nothing, and a capstone is usually a solo project nobody reviews. ShopForge gives you someone else's codebase, a bug report, a reviewer and a pass or fail bar, which is what the job looks like.
Yes. When you finish the sprint you get a certificate listing the stack, the tickets you shipped and your tracked hours, with a public link anyone can check.
It's free during the beta.