TypeScript Academy logo
TypeScriptBeginnerWebMobileLevels A1 → C222 languages

TypeScript Academy

Enhance your JavaScript projects with TypeScript through lessons at TypeScript Academy. A CoddyKit learning path of 101 short courses and 352 interactive lessons, with a 24/7 AI tutor at your side.

Courses
101
Lessons
352
Interactive steps
4,076
Free to start
Course 1
Curriculum

101 courses in this path

Every course in the TypeScript Academy path, in learning order. The first one is free.

1

A13 lessonsFree

This course introduces you to TypeScript, a powerful language that builds on JavaScript by adding types. You'll learn what TypeScript is, why it's used, and how to set up your environment. By the end…

2

A13 lessonsPRO

Start TypeScript with clear concepts, a tiny setup, and your first build/run. Learn why TS improves safety and developer experience.

3

A14 lessonsPRO

Discover why TypeScript was created, how static typing helps catch bugs early, and when to choose TypeScript over plain JavaScript.

4

A14 lessonsPRO

Master TypeScript's core primitive types, understand the dangers of any, and learn how unknown is safer.

5

A13 lessonsPRO

Learn how TypeScript variables and types work: primitives, inference, and annotations.

6

A24 lessonsPRO

Learn how to type arrays, define fixed-length tuples, and use enums for named constant sets.

7

A24 lessonsPRO

Learn how to annotate function parameters and return types, use optional parameters, and write arrow functions with TypeScript.

8

A24 lessonsPRO

Lock values to exact types using literal types and const assertions for precise, self-documenting code.

9

A24 lessonsPRO

Master TypeScript's special types for safe handling of uncertainty, impossibility, and absence.

10

A24 lessonsPRO

Tell the compiler what you know with type assertions — and learn when they are safe versus dangerous.

11

A24 lessonsPRO

Write concise, null-safe code with optional chaining and nullish coalescing operators.

12

A24 lessonsPRO

Prevent accidental mutation by marking properties, arrays, and structures as readonly.

13

A24 lessonsPRO

Define object shapes with interfaces and type aliases, understand their differences, and use them to enforce contracts.

14

A24 lessonsPRO

Combine types flexibly using union (|) and intersection (&) operators to model real-world data structures.

15

A24 lessonsPRO

Annotate destructured values correctly and avoid the common pitfalls of typed destructuring.

16

A24 lessonsPRO

Type variadic functions, spread operations, and rest elements for flexible, safe APIs.

17

A23 lessonsPRO

Master basic control flow in TypeScript: if/else, switch, loops, and the difference between truthy checks and strict comparisons.

18

A23 lessonsPRO

Learn how to model objects in TypeScript: object types, optional and readonly properties, and index signatures.

19

A23 lessonsPRO

Explore TypeScript collections: arrays, tuples, and enums. Learn how to use them effectively and safely with type annotations.

20

B14 lessonsPRO

Build object-oriented TypeScript with classes, constructors, and access modifiers like public, private, and protected.

21

B14 lessonsPRO

Learn how TypeScript narrows types in conditional blocks using typeof, instanceof, and custom type guard functions.

22

B14 lessonsPRO

Write reusable, type-safe functions and data structures with TypeScript generics using type parameters.

23

B14 lessonsPRO

Organize TypeScript code with ES modules, re-exports, and understand when to use namespaces.

24

B14 lessonsPRO

Type objects with unknown keys using index signatures while keeping safety guarantees.

25

B14 lessonsPRO

Derive types from existing values and keys using TypeScript's powerful type operators.

26

B14 lessonsPRO

Use template literal types to model structured strings and enforce string formats at compile time.

27

B14 lessonsPRO

Master TypeScript's built-in utility types to transform and compose types without repeating yourself.

28

B14 lessonsPRO

Go beyond try/catch with typed error hierarchies, Result types, and safe error propagation in TypeScript applications.

29

B14 lessonsPRO

Unlock TypeScript's full power with strict mode, understand every strict flag, and configure tsconfig for real-world projects.

30

B14 lessonsPRO

Bridge compile-time and runtime safety by validating external data with Zod schemas.

31

B14 lessonsPRO

Validate and type application configuration and environment variables to fail fast on misconfiguration.

32

B13 lessonsPRO

Learn how TypeScript narrows types using typeof , equality checks , and truthiness rules to write safer code.

33

B13 lessonsPRO

Dive deeper into functions: overloads, call signatures, and expressive API design.

34

B13 lessonsPRO

Write reusable functions with generics . Constrain type parameters, set defaults, and keep inference strong.

35

B13 lessonsPRO

Model reusable shapes with generic interfaces and type aliases . Learn constraints, defaults, and differences.

36

B13 lessonsPRO

Master ES Modules in TypeScript: named vs default exports, imports, and re-export patterns (barrels) for clean APIs.

37

B13 lessonsPRO

Use TypeScript with the browser DOM: DOM library types, querySelector, strict null checks, events, and common patterns.

38

B12 lessonsPRO

Learn to use fetch with strong typing, parse JSON with generics, and ensure safe handling of API responses.

39

B13 lessonsPRO

Keep TypeScript projects clean with ESLint and formatting tools. Enforce consistency, catch bugs early.

40

B24 lessonsPRO

Go beyond basic generics with keyof constraints, conditional type logic, and distributive generic patterns.

41

B24 lessonsPRO

Transform existing types programmatically with mapped types and build string-pattern types using template literals.

42

B24 lessonsPRO

Learn experimental class decorators and how frameworks like NestJS and Angular use them for metadata-driven programming.

43

B24 lessonsPRO

Type React components, props, event handlers, and hooks correctly to build reliable React applications with TypeScript.

44

B24 lessonsPRO

Set up TypeScript in a Node.js project, type Express routes and middleware, and handle request/response objects safely.

45

B24 lessonsPRO

Build fully typed HTTP clients, validate API responses at runtime, and use tools like Zod and OpenAPI codegen.

46

B24 lessonsPRO

Configure Jest for TypeScript, write type-safe tests, mock modules correctly, and use expectTypeOf for type assertions.

47

B24 lessonsPRO

Model variant data with discriminated unions and guarantee complete handling with exhaustiveness checks.

48

B24 lessonsPRO

Validate values against a type while keeping their narrow inferred type using satisfies.

49

B24 lessonsPRO

Build strongly typed event emitters where event names and payloads are checked at compile time.

50

B24 lessonsPRO

Implement fluent builders that enforce required steps and valid construction order through the type system.

51

B24 lessonsPRO

Apply functional techniques — currying, composition, and pipelines — with full type inference.

52

B24 lessonsPRO

Decouple components with dependency injection and type-safe IoC containers.

53

B24 lessonsPRO

Replace thrown exceptions with explicit Result and Option types for predictable error handling.

54

B24 lessonsPRO

Dive deeper into TypeScript’s type system. This category covers arrays, tuples, unions, intersections, enums, and literal types, helping you handle complex data structures with ease and flexibility.

55

B23 lessonsPRO

Work confidently with Promise<T> and async/await : types, chaining, and error handling.

56

B22 lessonsPRO

Learn how TypeScript works with Node.js: typings, module systems (ESM vs CJS), and practical setup.

57

B23 lessonsPRO

Master TypeScript compiler options: strictness flags, module/output settings, and project structure.

58

B23 lessonsPRO

Understand how tsc emit works, when to use --noEmit, and how bundlers integrate with TypeScript.

59

B23 lessonsPRO

Test TypeScript with modern runners. Set up Vitest and Jest correctly for fast, reliable feedback.

60

B24 lessonsPRO

Configure a TypeScript monorepo using project references, path aliases, and package managers like pnpm workspaces.

61

B24 lessonsPRO

Generate TypeScript types from GraphQL schemas, write typed resolvers, and use codegen tools for end-to-end type safety.

62

B24 lessonsPRO

Apply TypeScript to state management patterns in Redux Toolkit, Zustand, and XState for predictable application state.

63

B24 lessonsPRO

Adopt TypeScript incrementally in an existing JavaScript codebase using allowJs, JSDoc types, and safe migration strategies.

64

B24 lessonsPRO

Explore the latest TypeScript 5.x features including decorators, const type parameters, variadic tuple improvements, and more.

65

B24 lessonsPRO

Share types automatically between client and server with tRPC for fully type-safe APIs.

66

B23 lessonsPRO

Learn React with TypeScript: strongly-typed props, events, refs, and safe component patterns for real-world apps.

67

B23 lessonsPRO

Build typed REST APIs with Express and TypeScript: accurately typed handlers, params, bodies, and JSON responses.

68

B23 lessonsPRO

Next.js App Router with TypeScript: server vs client components, typed route handlers, and safe data passing.

69

B21 lessonPRO

Use TypeScript in JavaScript projects via JSDoc. Turn on checking with // @ts-check , annotate with JSDoc, and migrate safely.

70

B22 lessonsPRO

Runtime data safety with TypeScript: validate inputs using zod/valibot, infer types from schemas, and propagate safe shapes across your app.

71

B22 lessonsPRO

Adopt robust error handling: Result/Either types, discriminated unions, and exhaustive checks to avoid silent failures.

72

C14 lessonsPRO

Define types that reference themselves to model trees, nested JSON, and linked structures.

73

C14 lessonsPRO

Take your TypeScript skills to the next level with advanced concepts like generics, utility types, and type guards. This category helps you write more flexible and reusable code while keeping it type…

74

C13 lessonsPRO

Understand how TypeScript infers types and makes your code more efficient by reducing the need for explicit type annotations. Explore how contextual typing works to improve the developer experience a…

75

C13 lessonsPRO

The TypeScript Advanced Features delves into the cutting-edge capabilities of TypeScript, offering tools to craft more efficient, flexible, and maintainable code. This category is ideal for developer…

76

C13 lessonsPRO

This course explores sophisticated tools and techniques to make your TypeScript projects more robust, flexible, and maintainable. From ensuring null safety with strict null checking to dynamically cr…

77

C13 lessonsPRO

The course dives into powerful concepts that enhance your ability to write efficient, flexible, and robust TypeScript code. From mastering advanced techniques for type narrowing and conditional types…

78

C14 lessonsPRO

Understand how TypeScript infers types in complex scenarios including contextual typing, widening, and freshness.

79

C14 lessonsPRO

Master the infer keyword to extract types from conditional type positions and build powerful type-level utilities.

80

C14 lessonsPRO

Design and implement your own reusable utility types using mapped types, conditional types, infer, and recursion.

81

C14 lessonsPRO

Diagnose and fix slow TypeScript compilation with profiling tools, type simplification, and strategic use of declarations.

82

C14 lessonsPRO

Treat TypeScript's type system as a programming language to compute new types from existing ones.

83

C14 lessonsPRO

Understand how modern ORMs like Drizzle infer query result types directly from your schema.

84

C14 lessonsPRO

Use the modern Stage 3 decorators and metadata reflection to build powerful framework-level abstractions.

85

C14 lessonsPRO

Build i18n systems where translation keys and interpolation variables are checked at compile time.

86

C13 lessonsPRO

Dive into advanced narrowing: exhaustive switches, never checks, predicate functions, and the satisfies operator.

87

C13 lessonsPRO

Master conditional types and the infer keyword. Build reusable utilities and understand distribution over unions.

88

C13 lessonsPRO

Learn mapped types and template literal types to build flexible reusable abstractions in TypeScript.

89

C13 lessonsPRO

Leverage variadic tuples and generics to build flexible function types: rest elements, curry helpers, and safe composition.

90

C13 lessonsPRO

Use branded (opaque) types to avoid mixing values that share shapes (e.g., meters vs seconds, UserId vs OrderId). Gain safety without runtime cost.

91

C11 lessonPRO

Advanced React patterns with TypeScript: polymorphic components, typed refs, and flexible APIs without sacrificing safety.

92

C12 lessonsPRO

Advanced React patterns with TypeScript: polymorphic components, typed refs, and flexible APIs without sacrificing safety.

93

C12 lessonsPRO

Learn how to create and publish TypeScript declaration files (.d.ts). Write accurate ambient types, distinguish between export type and export, and provide developers with autocomplete and safety.

94

C11 lessonPRO

Set up a TypeScript monorepo with workspaces and Project References. Speed up builds, enable incremental tsc -b , and share types safely across packages.

95

C12 lessonsPRO

Raise TypeScript strictness safely: remove any , prefer unknown + narrowing, enable strict flags progressively, and add lightweight guards.

96

C24 lessonsPRO

Use TypeScript's public compiler API to analyze, transform, and generate TypeScript code programmatically.

97

C24 lessonsPRO

Perform numeric computation entirely within the type system using tuples and recursion.

98

C24 lessonsPRO

Work around TypeScript's lack of higher-kinded types with the lightweight HKT encoding.

99

C24 lessonsPRO

Parse structured strings at the type level using template literals and recursive inference.

100

C24 lessonsPRO

Design embedded domain-specific languages whose validity is enforced entirely by the type system.

101

C24 lessonsPRO

Manage side effects, errors, and dependencies explicitly with the Effect library's powerful type system.

CoddyKit PRO

Unlock all 101 courses in this path, and every other path

AI tutor, certification exam and certificate. Works on web, iOS and Android.

See all plans
Yearly$29.90 / yearAbout $2.49 a monthPay onceLifetime$69.99 onceNo renewals. PRO forever.
Course Overview

TypeScript: Static Typing for the Entire JavaScript Ecosystem

TypeScript is the language Microsoft ships, Google uses at scale, and most modern React, Node.js, and Next.js projects adopt by default. It compiles to plain JavaScript while adding a static type system that catches whole classes of bugs before runtime — mismatched API responses, null access on optional fields, wrong function signatures, and more. This track covers TypeScript from first types through compiler internals, across 106 courses that span every level from A1 to C2.

What You Will Learn

You will start with string, number, boolean, unknown, and never, then build up through interfaces, type aliases, union and intersection types, generics, and utility types like Partial, Pick, Omit, and Record. Intermediate topics include type narrowing and type guards, discriminated unions, mapped types, template literal types, decorators, and runtime validation with Zod. You will apply TypeScript to real stacks — React props and hooks, Express APIs, Node.js, Next.js, GraphQL, tRPC, and type-safe ORMs. Advanced courses cover conditional types, the infer keyword, recursive and self-referential types, branded/nominal types, variadic tuples, authoring declaration files, and end-to-end type safety across monorepos with project references.

The Learning Path

The 106 courses run from A1 through C2 in a continuous progression. A1 and A2 courses establish the fundamentals: basic types, functions, arrays, tuples, enums, readonly, optional chaining, and nullish coalescing. B1 introduces classes, modules, strict mode, tsconfig best practices, generics, and working safely with DOM and Fetch APIs. B2 pushes into advanced generics with constraints and conditional types, decorators, testing with Jest, monorepo setup, and migration from JavaScript. C1 courses cover recursive types, the infer keyword and complex conditional types, writing custom utility types, type-level programming fundamentals, type-safe internationalization, and advanced React patterns. The track ends at C2 with TypeScript Compiler API internals, type-level arithmetic, higher-kinded type simulation, building type-safe parsers, constructing DSLs with TypeScript types, and Effect-TS.

How It Works

Each course is split into short, focused lessons you complete in the built-in code editor with real-time feedback. An AI tutor is available whenever you get stuck, and every concept is reinforced immediately with hands-on exercises rather than passive reading.

How You'll Learn

  1. 01

    Interactive Lessons

    Hands-on coding exercises with real-time feedback

  2. 02

    AI Tutor

    Get instant help from our AI when you're stuck

  3. 03

    Built-in Editor

    Write and run code directly in your browser

  4. 04

    Certificate

    Earn a certificate when you complete the course

FAQ

Frequently Asked Questions

Is the TypeScript Academy course free?

Yes. You can start the TypeScript Academy course for free and complete its interactive lessons at no cost. An optional PRO subscription unlocks advanced AI tools and a shareable certificate.

Do I need prior experience to learn TypeScript?

No. The course begins with the fundamentals and gradually moves to more advanced topics, so you can start even with no prior TypeScript experience.

How will I learn TypeScript on CoddyKit?

You learn by doing. Short interactive lessons pair a clear explanation with a hands-on coding exercise that runs in real time, and a 24/7 AI tutor gives personalized help whenever you get stuck.

Do I get a certificate for completing TypeScript Academy?

Yes. PRO learners can take an exam and earn a shareable certificate of completion with a verifiable code for the TypeScript Academy course.

Can I learn TypeScript on my phone?

Yes. CoddyKit is available on the web and as native iOS and Android apps, so you can learn TypeScript on any device and your progress syncs across them.

How much does CoddyKit PRO cost?

The first course of TypeScript Academy is free. CoddyKit PRO unlocks every course: $5.90 per week, $7.90 per month, $29.90 per year, or $69.99 once for lifetime access with no renewals.

How long does it take to complete TypeScript Academy?

TypeScript Academy has 101 courses and 352 lessons. Most lessons take about 5–10 minutes, so the whole path is roughly 41 hours of hands-on practice, at your own pace.

Start TypeScript Academy Now

Join thousands of learners mastering programming with AI-powered lessons.