DSA · System Design · Code Review · Bug Hunt · Build It · Deep Dives

MasterDSA

DSA sheets, system design, code review, live debugging, staged low-level design builds, deep dives on distributed systems, and an AI mentor that adapts to your experience and target company — seven ways to actually get ready, all free.

No credit card required

codeward · code-review / idempotency-middleware
idempotency.tsidempotency.test.ts2 missed3 caught
23export function handle(req: Request, res: Response) {
24 const key = req.headers["idempotency-key"];
25 const cached = store[key];
26 if (cached) return res.json(cached);
27 const result = psp.charge(req.amount);
28 store[key] = result;
29 return res.json(result);
30}
GoogleAmazonMetaMicrosoftNetflixUberAirbnbStripeAtlassianLinkedInFlipkartSwiggyGoogleAmazonMetaMicrosoftNetflixUberAirbnbStripeAtlassianLinkedInFlipkartSwiggy

The Platform

Seven ways to actually get ready

01 — DSA Sheets

Track every pattern, not just problem counts

Blind 75, Striver's, NeetCode 150, and a 500-problem company-tagged bank — grouped by pattern, with status, revision flags, and notes. Or let the mentor generate a sheet weighted for your target company.

Browse the sheets →
codeward · arrays.sheet
arrays14/22
Two SumGAEasy
Longest Substring Without RepeatingAMMedium
Trapping Rain WaterGNHard

02 — AI Mentor

A mentor that knows what you've already solved

RAG-grounded in real prep content and aware of your context — target company, experience level, progress. It explains patterns, reviews your approach, and creates sheets directly in your account.

Meet the mentor →
codeward · mentor

Prep me for Meta. I'm ok at arrays but weak on trees and DP.

Building you a Meta sheet: trees first (10 must-dos), then DP (12 patterns), arrays as warm-up.

✓ Sheet created · 34 problems

03 — System Design

Practice the design round, level by level

Curated system-design questions by difficulty and experience level (junior → senior), plus a challenge spinner that generates a fresh prompt — problem × scale × traffic spike × constraint — to design against.

Open system design →
design · rate-limiter

Challenge spinner

Design a rate limiter

100M DAU · flash-sale 50× spike · <5ms p99

Design a URL shortenerEasyJunior
Design a distributed cacheMediumMid
Design a payment ledgerHardSenior

04 — Code Review

Review realistic PRs with planted bugs

15 hand-authored diffs across payments, auth, caching, and infra — each with real bugs at graded severities. Leave inline comments; the AI scores what you caught against the ground-truth list, like a senior reviewer would.

Try a review →
review · idempotency.ts
idempotency.ts2 missed·3 caught
23if cached, ok := store[key]; ok {
24 writeCached(w, cached)
25 return
26}
27result := psp.Charge(amount)
28store[key] = result
S5Cache check isn't atomic with the charge — race window.
S4In-memory store loses state on restart.

05 — Bug Hunt

Diagnose the failure, not the symptom

9 broken codebases with failing tests and real logs — races, N+1s, leaks, deadlocks. Write your root-cause diagnosis; the AI grades it and reveals the canonical fix and the tempting wrong turns.

Start debugging →
bug workspace · payment-service/tests

=== RUN TestChargeIdempotency

--- FAIL: duplicate charge on retry (2.31s)

want: 1 charge

got: 2 (txn-4821, txn-4822)

DATA RACE: concurrent write to store[key]

payment.go:41 · payment.go:41

S5root cause · correctness

Store mutation isn't atomic — two concurrent requests both pass the guard before either writes.

Hypotheses ruled out

  • PSP deduplicated on its end
  • Network retry stripped the key
  • Race in store write (confirmed)

Canonical fix

m.mu.Lock()
defer m.mu.Unlock()
// check store inside lock
✓ root cause identified100/100

06 — Build It

Design it, then watch your own design break

11 real low-level-design problems — a thread-safe wallet, an inventory reservation service, a durable job queue, an idempotent payment processor, a notification service and more — each evolving across stages as new constraints break your last approach, in C#, Python, or Kotlin. Stage 3 always makes you prove a correctness invariant holds under concurrency.

Start building →
build-it · thread-safe-wallet.cs
✓ S1✓ S2● S3🔒 S4
class Wallet {
  decimal balance;
  object gate = new();

  bool Transfer(Wallet to, decimal amt) {
    lock (gate) { ... }
  }
}

Stage 3 · make-or-break invariant

balance never goes negative and no transfer is ever double-applied — even with 50 concurrent transfers hitting the same wallet.

C# · Python · Kotlininvariant argued ✓

07 — Deep Dives

Learn the trade-offs interviews actually probe

18 long-form deep dives — idempotency, caching, rate limiting, Kafka, Raft, consistent hashing, sagas, and more. Failure modes, trade-offs, and the interview traps surface-level guides skip.

Read the deep dives →
deep-dive · idempotency.md

6 topics

Idempotency
Caching at scale
Rate limiting
Kafka internals

Deep Dive 01

Idempotency

A timeout is indistinguishable from a failure. Any retry that doesn't account for that double-charges.

if cached, ok := store.Get(key); ok {
  return cached // idempotent
}

How it works

Three habits, repeated

There is no trick to this. Every mode on the platform exists to make one of these three habits easier to keep.

1.0 — Recognise

Learn the pattern, not the problem.

Learn to name the pattern before you write a line of code.

Two Pointers3Sliding Window3Binary Search2Trees11Graphs8Dynamic Programming12Heap3Backtracking2Trie3

Sorted array + a target pair → Two Pointers

2.0 — Practise

Work the sequence in order.

Solve, review, debug and build until the pattern is automatic.

Container With Most WaterMedium
Trapping Rain WaterHard
3SumMedium
Sort ColorsMedium
Remove Nth Node From EndMedium
+ 70 more

3.0 — Revise

Revise what you actually got wrong.

Return to what you flagged, so it survives the interview.

Flagged for revisionyou mark it
Needed a hintauto-tracked
Notes writtenprivate to you

08 — FAQ

Questions worth answering honestly.

Is Codeward actually free?+

Yes. It's a solo-built project, not a startup with a pricing page waiting to happen. No credit card, no trial timer, no locked features.

What's actually on the platform?+

Seven modes: DSA sheets (Blind 75, Striver's, NeetCode 150 + a 500-problem company-tagged bank), a RAG-powered AI mentor, System Design questions with a challenge spinner, 15 Code Review exercises with planted bugs and AI grading, 9 Bug Hunt debugging exercises, 11 staged Build It low-level-design problems in C#/Python/Kotlin, and 18 long-form Deep Dives on distributed systems. Everything is free.

How is the AI mentor different from just using ChatGPT?+

It's grounded in the app's prep content via retrieval, and it knows your context — your target company, experience level, and what you've already solved. It can also create sheets directly in your account instead of pasting a list back at you.

Do I solve problems inside Codeward?+

No. Problems link out to LeetCode or GeeksforGeeks; Codeward is the layer on top — tracking status, revision flags, and notes so you always know what's next.

Can it build a plan for my target company?+

Tell the mentor your company and timeline and it generates a pattern-focused sheet weighted toward what that company actually asks, with must-do problems flagged.