KadraPractice

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

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

What you'll actually do

Three real bugs in ShopForge's checkout

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.

ECOM-114

Percentage coupon subtracts a flat dollar amount instead of a percentage

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.

ECOM-127

Add-to-cart has no guard against zero inventory

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.

ECOM-141

Sales tax is calculated before the coupon discount is applied

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.

How grading works

An authoritative test suite decides — not a reviewer's opinion

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.

  • The hidden test suite is the pass/fail gate. It runs the same checks a real CI pipeline would run against your PR, and it's what decides whether ECOM-114, ECOM-127, or ECOM-141 is actually fixed.
  • An AI teammate reviews your diff in the PR thread — asks questions, flags issues, requests changes, exactly like a coworker would. That review is real feedback layered on top of the test suite; it isn't the pass/fail gate itself.
  • Time on the ticket is tracked as part of a simulated sprint — standups, the work itself, and a retro at the end — the same rhythm as a real team.
  • Tickets shipped and hours logged both roll into a certificate showing the stack (Next.js), the tickets you shipped, and hours tracked — with a public, verifiable link for a resume or LinkedIn post.
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'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.

FAQ

Questions engineers actually ask about the Next.js track

Is this just a course with extra steps?

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.

Who's actually reviewing my PR?

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.

What happens if I fail the test suite?

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.

Can I put this on my resume or LinkedIn?

Yes. Completed tickets and tracked hours generate a certificate with a public, verifiable link, built for exactly that.

How long does the Next.js track take?

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.

Do I need Next.js/TypeScript experience already?

Yes — this tests and builds your ability to debug and ship inside an existing codebase, not to learn the language for the first time.

What's actually different from LeetCode or a bootcamp capstone?

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.

Stop practicing algorithms in a vacuum. Fix a real bug, in a real PR, reviewed like a real coworker would.