Typorithm learning path
TypeScript: API, React and production
Connect validated API data to React, test type contracts and ship deliberate compiler migrations. Prerequisite: TypeScript foundations and JavaScript promises; the type-design course deepens the advanced examples. Updated 5 November 2026: stable 7.0.2, isolated optional 7.1 beta preview.

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. Runtime decoding at an API boundary
Convert unknown JSON into a small trusted DTO with explicit failure behavior.
Module 2 · 1 lessons
2. Typed fetch, status failures and decoding
Connect transport handling to a decoder rather than asserting a generic response type.
Module 3 · 1 lessons
3. JSON DTOs, omission, null and numeric limits
Design wire contracts whose serialized meaning matches the application’s intent.
Module 4 · 1 lessons
4. Promises, cancellation and bounded concurrency
Treat successful result types separately from timing, cancellation and failure.
Module 5 · 1 lessons
5. Request state and stale-response protection
Keep UI states valid and prevent an older response from replacing newer results.
Module 6 · 1 lessons
6. React props, children and DOM events
Build small typed components with explicit interaction contracts.
Module 7 · 1 lessons
7. Typed state, reducers, refs and effects
Use hooks with honest state models and testable transitions.
Module 8 · 1 lessons
8. Forms, FormData and validated submission
Convert user-entered text into a domain command before sending it.
Module 9 · 1 lessons
9. Context ownership and provider invariants
Expose a small shared capability and fail clearly when its provider is missing.
Module 10 · 1 lessons
10. NodeNext, bundlers and package exports
Align compiler lookup with the environment that actually loads emitted code.
Module 11 · 1 lessons
11. Public declarations and library compatibility
Review the types consumers receive, not only the source that produced them.
Module 12 · 1 lessons
12. A practical type-and-runtime test strategy
Choose regression checks that fail for meaningful contract changes.
Module 13 · 1 lessons
13. TypeScript 6 migration: explicit defaults and deprecations
Plan a reproducible compiler migration instead of suppressing configuration diagnostics.
Module 14 · 1 lessons
14. TypeScript 7: native compilation and tool compatibility
Adopt faster checking without confusing CLI compatibility with compiler-API compatibility.
Module 15 · 1 lessons
15. Optional preview: TypeScript 7.1 beta
Explore preview import-attribute declarations in an isolated compiler fixture.
Module 16 · 1 lessons
16. Capstone: a typed role explorer
Connect a validated boundary, React state and a small independent filter task.