typescript
TypeScript type system, deep
From structural typing to type-level programming — generics, conditional and mapped types, and typing real systems.
Start track →Start from zero
What types buy you, and the two worlds: values and types.Foundations
TypeScript types are structural and mostly inferred.Everyday types
Unions plus narrowing model 'one of these, figure out which'.Generics
Generics are functions over types — with constraints and inference.The type system, deep
Conditional, mapped and template-literal types make types programmable.Type-level programming
Recursion and distribution let you compute at the type level — within limits.Functions & this
Overloads, this-typing, assertion functions and satisfies.Config, modules & build
tsconfig strictness and module resolution decide what compiles.Types in the real world
Type the boundaries: APIs, validation, end-to-end with tRPC.Putting it together
Build a fully-typed feature end to end.Build with this track
Guided projects that exercise what you learn here.
Hot-Path Profiler Lab
Take a deliberately slow piece of JavaScript and turn it into a controlled experiment. You'll build a micro-benchmark harness you actually trust, profile the hot path until you can name what the engine is doing, and apply engine-aware fixes — monomorphism, killing megamorphic call sites, cutting allocations — proving each win with numbers instead of vibes. This is the whole discipline of performance work in miniature: measure, form a hypothesis about the engine, change one thing, measure again.
JSON parser from scratch
Write a spec-correct recursive-descent parser for JSON — tokenizer, value dispatcher, escape handler, number decoder — and watch every edge case in RFC 8259 become a concrete code path.
Type-Safe API SDK
Build the client other engineers will actually trust: a typed SDK over a real HTTP API where the compiler — not a runtime crash in production — catches the wrong field, the missing variant, the response that lied about its shape. You model the domain with discriminated unions and generics, validate every response at the boundary, and let inference carry exact types all the way to the call site, with zero `any` left to paper over the gaps.
System Design Foundations
The building blocks of large systems and the interview framework — scaling, availability, data distribution, caching, async, and reasoning about tradeoffs under load.