KadraPractice

Practice real Next.js engineering on a working e-commerce codebase

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

What you'll actually do

Three bugs in ShopForge's checkout

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.

ECOM-114

A percentage coupon subtracts a flat amount

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.

ECOM-127

Add to cart doesn't check inventory

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.

ECOM-141

Sales tax is applied before the coupon

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.

How grading works

Vitest decides whether the fix works

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.

  • The hidden tests run with Vitest against your branch in a clean sandbox. They check more than one cart and coupon, so a fix that only handles the example in the ticket won't pass.
  • An AI teammate reviews the diff in the PR thread and can request changes, like a coworker would. That review is feedback; the tests decide pass or fail.
  • If a check fails, the test output is on the PR. Push another commit and it runs again.
  • Shipped tickets and tracked hours go on a certificate with a public link you can put on a résumé or LinkedIn.
See exactly how the grading pipeline works →
Who it's for

Who the Next.js track is for

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.

FAQ

Questions about the Next.js track

What do I need installed?

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.

Can I try it before connecting GitHub?

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.

Who reviews my pull request?

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.

What happens if the tests fail?

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.

How is this different from LeetCode or a bootcamp capstone?

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.

Can I put it on my résumé?

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.

Does it cost anything?

It's free during the beta.

Take ECOM-114 and make the coupon math right.