LLearnCode
Academy/TypeScript engineering

web · 26 lessons

TypeScript engineering

Learn what the compiler can prove—and where runtime checks begin.

What you are working toward

Design typed contracts, narrow unknown data, and model failure.

0 learning steps complete · View prerequisites and evidence →

The existing foundation

Start here, or use it to fill a gap.

Original lessons, practice, bosses, and progress are preserved. Completion from this journey is distinct from the new independent evidence model.

  1. 01Why types existGuided foundationOpen →
  2. 02Primitive typesGuided foundationOpen →
  3. 03Arrays & objectsGuided foundationOpen →
  4. 04Typed functionsGuided foundationOpen →
  5. 05Type aliases & interfacesGuided foundationOpen →
  6. 06Interfaces & extensionGuided foundationOpen →
  7. 07UnionsGuided foundationOpen →
  8. 08NarrowingGuided foundationOpen →
  9. 09Optional & readonly fieldsGuided foundationOpen →
  10. 10GenericsGuided foundationOpen →
  11. 11Utility typesGuided foundationOpen →
  12. 12Typing async resultsGuided foundationOpen →
  13. 13React-oriented type mental modelsGuided foundationOpen →
  14. 14Debugging compiler errorsGuided foundationOpen →

Engineering sequence

Contracts that survive contact with data

  1. 01A type is a promise; a boundary needs evidenceintermediate · 22 min · predict, experiment, debug, buildunseen
  2. 02Follow the compiler through a branchintermediate · 20 min · predict, experiment, debug, buildunseen
  3. 03Compatible shapes, excess properties and shallow readonlyintermediate · 21 min · predict, experiment, debug, buildunseen

Engineering sequence

Programming the type system

  1. 04Generics preserve relationshipsadvanced · 24 min · predict, experiment, debug, buildunseen
  2. 05Derive contracts without copying fieldsadvanced · 23 min · predict, experiment, debug, buildunseen
  3. 06Conditional types are type-level decisionsadvanced · 25 min · predict, experiment, debug, buildunseen
  4. 07Keep useful literals without making false assertionsadvanced · 23 min · predict, experiment, debug, buildunseen

Engineering sequence

Production TypeScript

  1. 08A callback must accept everything its caller can sendadvanced · 24 min · predict, experiment, debug, buildunseen
  2. 09Make failure part of the API contractadvanced · 24 min · predict, experiment, debug, buildunseen
  3. 10Design away impossible statesadvanced · 25 min · predict, experiment, debug, buildunseen
  4. 11Type components around ownershipadvanced · 22 min · predict, experiment, debug, buildunseen
  5. 12Compiler settings are part of architectureproduction · 24 min · predict, experiment, debug, buildunseen