ShopForge is a real, running Next.js storefront with three seeded bugs in its coupon, stock, and tax logic. You're handed a ticket, open a real GitHub pull request against the actual bug, an AI teammate reviews your diff like a coworker would, and a hidden test suite decides — objectively — whether your fix works.
Real GitHub PRs · Graded by tests, not vibes · Certificate on completion
This isn't a lesson plan. You clone ShopForge, a working Next.js storefront with a product catalog, cart, and checkout. You're handed a ticket describing a real reported bug, you read the relevant code, fix it, and open a pull request. An AI teammate reviews the PR in the thread. A hidden test suite tells you whether it's actually fixed.
A 10% coupon on a $200 cart should discount $20 — instead the checkout code subtracts $10 flat, no matter the cart size, because the percentage is being treated as a dollar figure. Passing requires the discount to scale correctly across cart totals while existing fixed-amount coupons keep working exactly as before, verified against a hidden test suite of cart-size and coupon-type combinations, not one example.
The add-to-cart action accepts a product with zero stock — there's no check before the item lands in the cart. Passing requires out-of-stock adds to be rejected while every in-stock product path is left untouched, checked against the hidden suite's stock-edge-case matrix.
Checkout computes tax on the full subtotal, then applies the coupon — so discounted orders get overcharged tax. Passing requires tax to be computed on the discounted subtotal, with undiscounted orders unaffected, verified across the hidden suite's tax and discount matrix.
Every ShopForge ticket ships with a hidden, authoritative test suite — the same kind of check that gates a PR in a real CI pipeline. That suite, not a human's impression, decides whether your fix passes.
ShopForge assumes you already know TypeScript and React — it's testing whether you can debug and ship inside someone else's codebase, not teaching you the language from zero.
Bootcamp grads and self-taught devs whose portfolio is all solo projects, with no real PR-review experience to point to.
Engineers switching into Next.js/TypeScript from another stack who need proof they can operate in this codebase, not another badge.
Anyone prepping for interviews who wants to say “I fixed a checkout pricing bug” instead of “I built a to-do app.”
Developers who've never had a real code review and want to feel what an actual “request changes” comment is like before it happens on the job.
Not for: day-one beginners with no TypeScript or React fundamentals — ShopForge tests debugging inside an existing codebase, not language basics.
No. There's no video, no lesson, no multiple choice. You get a ticket describing a real bug in a real running app, and you fix it by opening a real GitHub pull request. Everything after that — review, grading — happens the way it would on an actual team.
An AI teammate reviews the diff in the PR thread the way a coworker would — asking questions, flagging issues, requesting changes. Whether your fix is actually correct is decided separately, by a hidden automated test suite, so the outcome isn't a matter of the reviewer's opinion.
You get the failing test output — what passed, what didn't — and you keep iterating on the PR until it passes, same as you would against CI on a real team.
Yes. Completed tickets and tracked hours generate a certificate with a public, verifiable link, built for exactly that.
It's sized like a sprint's worth of real tickets, not a single afternoon exercise — expect to spend real, trackable hours across ECOM-114, ECOM-127, and ECOM-141, the same way you'd clear a sprint backlog.
Yes — this tests and builds your ability to debug and ship inside an existing codebase, not to learn the language for the first time.
LeetCode tests algorithm recall in isolation. A bootcamp capstone is usually a solo project nobody reviews. ShopForge is someone else's codebase, with a real bug, a real PR, a real reviewer, and a real pass/fail bar — the actual shape of the job.