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
export function handle(req: Request, res: Response) { const key = req.headers["idempotency-key"]; const cached = store[key]; if (cached) return res.json(cached); const result = psp.charge(req.amount); store[key] = result; return res.json(result);}Problems asked in real interviews at
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 →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 →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 →Challenge spinner
Design a rate limiter
100M DAU · flash-sale 50× spike · <5ms p99
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 →23if cached, ok := store[key]; ok {24 writeCached(w, cached)25 return26}27result := psp.Charge(amount)28store[key] = result
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 →=== 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
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
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 →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.
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 →6 topics
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.
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.
3.0 — Revise
Revise what you actually got wrong.
Return to what you flagged, so it survives the interview.
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.