senior loop
Build It

Design it. Implement it. Prove it. 5 problems

Same problem, escalating constraints. Stage 1: naive solution. Stage 2: scaled. Stage 3: prove correctness with a conservation invariant — the senior filter. Each stage unlocks after you submit the previous.

5problems
1free
5languages
AI-graded
Easiest free problem · start here

Thread-Safe Wallet

free

In-memory wallet that evolves across four stages: basic ops → atomic transfer → thread-safe under contention → multi-currency. Each stage adds one constraint that the naive previous version violates.

concurrency·4 stages·90 min·C#, Go, Java, Kotlin, Python
Start designing →

Inventory Reservation Service

pro
concurrency·4 stages·100 min·C#, Go, Java, Kotlin, Python

An inventory reservation service that evolves across four stages: stock + reservations → confirm/cancel with idempotent states → no overselling under contention → time-based expiry. The invariant supplied = available + reserved + sold must hold after every transition and every concurrent request. Stage 3 is the make-or-break: a flash sale of 100 units must never sell 101, no matter how many buyers race.

🔒Unlock →

Durable Background Job Queue

pro
distributed·4 stages·110 min·C#, Go, Java, Kotlin, Python

A durable background job queue that evolves across four stages: enqueue/ack → retries with backoff → worker leases under concurrency → dead-letter + idempotency. The hard part is ownership: a lease grants temporary, exclusive ownership, and Stage 3 is the make-or-break — two workers must never both believe they own the same live job.

🔒Unlock →

Idempotent Payment Processor

pro
payments·4 stages·100 min·C#, Go, Java, Kotlin, Python

An idempotent payment processor that evolves across four stages: payment state machine → response replay on retry → safe under concurrent duplicates → transactional outbox. Each stage closes a specific double-charge or lost-event window that the previous version leaves open. The make-or-break is Stage 3: one logical request must invoke the gateway at most once, even when 100 retries land at the same instant.

🔒Unlock →

Notification Delivery Service

pro
api·4 stages·100 min·C#, Go, Java, Kotlin, Python

A notification delivery service that evolves across four stages: devices + fan-out → preferences + cancellation → bounded concurrent delivery → retry/invalid-token/expiry. The make-or-break is Stage 3: fan out to a large audience fast without ever exceeding the provider's concurrency ceiling or leaking a permit when a send throws.

🔒Unlock →

Low-level design interview practice, answered

Low-level design (LLD) interviews ask you to design a working class-level solution, then hold it up as constraints escalate — concurrency, scale, failure modes — the way a senior loop keeps pushing after the first working answer. Senior Loop's Build It problems are staged: you start with a correct baseline and move through tightening constraints toward the senior-level version, proving correctness with a conservation invariant instead of an eye-test.

What is a low-level design interview?+

You're asked to design classes, interfaces, and data structures for a system — a rate limiter, a parking lot, an in-memory cache — then defend and evolve that design as the interviewer adds constraints.

How is LLD different from system design (HLD)?+

System design (HLD) is about services, databases, and scale at the architecture level. LLD is one level down — the actual classes, interfaces, and object interactions that make a single component correct and extensible.

What makes Build It different from a typical LLD prompt?+

Each problem escalates through stages instead of stopping at a first working answer. Stage 3 is the senior filter, and you prove correctness with a conservation invariant rather than eyeballing the output.

Is low-level design practice free?+

Yes — the first Build It problem is free with no card required.