Typorithm learning path
TypeScript: designing types
Design correlated generic APIs using keyof, mapped, conditional, template literal and utility types. Prerequisite: TypeScript foundations. Finish with a typed event registry and runtime boundary.

Study with a practical destination
Use the linked lessons in order, complete the lab and explain the decisions without the reference. Select the path and depth that match your role.
TypeScript: from foundations to a working React boundary
Before starting: JavaScript functions, objects, arrays and promises. Start with TypeScript foundations; the type-design course is a deliberate next stage, not a beginner prerequisite.
Build and explain: Validate unknown data, preserve useful type relationships and build a small typed React interface with independently tested state and filters.
- 1. 1. Static checking and a reproducible workspace
- 2. 4. Discriminated unions and exhaustive decisions
- 3. 5. Control-flow narrowing and honest guards
- 4. 9. Generics, constraints and preserved relationships
- 5. 10. keyof, typeof and indexed access
- 6. 16. Capstone: validate and filter a role catalogue
- 7. 3. Conditional types and distribution
- 8. 5. Mapped types and key remapping
- 9. 9. satisfies, const assertions and configuration
- 10. 16. Capstone: a correlated event registry
- 11. 1. Runtime decoding at an API boundary
- 12. 6. React props, children and DOM events
- 13. 7. Typed state, reducers, refs and effects
- 14. 16. Capstone: a typed role explorer
Review evidence: Complete the small warm-up before guided typing, attempt the independent task with hints, then compare the solution and acceptance cases. Optional stretches and the isolated 7.1 beta preview are additional study, not prerequisites for stable API and React work.
Your learning path
0 of 16 lessons completed
Saved on this device
Module 1 · 1 lessons
1. Assignability, unknown, any and never
Reason about sets of values and the deliberate limits of structural compatibility.
Module 2 · 1 lessons
2. Generic inference and constraint design
Preserve caller information while giving implementations only the capabilities they need.
Module 3 · 1 lessons
3. Conditional types and distribution
Distinguish per-member transformations from tests of an entire union.
Module 4 · 1 lessons
4. infer, ReturnType and awaited results
Extract type structure without confusing a static pattern with runtime introspection.
Module 5 · 1 lessons
5. Mapped types and key remapping
Transform related fields systematically while preserving their individual value types.
Module 6 · 1 lessons
6. Template literal types and bounded vocabularies
Encode useful naming relationships without constructing unmanageable type combinations.
Module 7 · 1 lessons
7. Utility types and shallow transformations
Choose standard helpers while keeping validation, serialization and nested ownership explicit.
Module 8 · 1 lessons
8. Correlated unions and intersections
Keep a selected operation tied to the payload it can actually consume.
Module 9 · 1 lessons
9. satisfies, const assertions and configuration
Check a configuration contract while retaining useful inferred information.
Module 10 · 1 lessons
10. Const type parameters and variadic tuples
Preserve small literal sequences through reusable helpers without overcomplicating callers.
Module 11 · 1 lessons
11. NoInfer and inferred type predicates
Control the source of inference and use evidence-preserving filters.
Module 12 · 1 lessons
12. Callback variance and readonly boundaries
Understand safe substitution and recognize TypeScript’s intentional method exceptions.
Module 13 · 1 lessons
13. Overloads, unions and generic API choices
Use the simplest signature that preserves the relationship callers actually need.
Module 14 · 1 lessons
14. Branded identifiers and validated constructors
Prevent accidental identifier mixing without claiming authorization or runtime secrecy.
Module 15 · 1 lessons
15. Recursive types, depth budgets and compiler cost
Use recursive transformations only with an explicit domain and practical limits.
Module 16 · 1 lessons
16. Capstone: a correlated event registry
Build a small event dispatcher with validated entry points and matching payloads.