20 interactive lessons now live — start your TypeScript journey Check it out
«TS Playground

Master TypeScript & React through interactive practice

The TypeScript learning platform built to take you from beginner to confident, with live code execution and auto-graded tests. Written by developers from Google, Meta, Amazon.

Get started now No signup required
20+ lessons available
Across 2 learning tracks

Practice in an environment that simulates real learning

Our in-browser coding workspace lets you write, run, and test TypeScript and React with no setup required.

â–¶ Run Tests
2/3 passed

Run your code against tests and instantly preview your output

⇔
index.ts

Resize and customize the workspace as you like

Ctrl
Enter
⌘

Ctrl + Enter to run

Syntax highlighting, theming and keyboard shortcuts

A structured lesson bank with everything you need

We have lessons covering every critical TypeScript and React concept. Every lesson comes with starter code, a solution, and test cases.

20 lessons~10 hours
Variables
Learn the difference between var, let, and const in TypeScript.
beginner
Functions
Write typed functions with parameters and return types.
beginner
Types & Interfaces
Define custom types and interfaces to describe the shape of your data.
beginner
Interfaces & Object Types
Define the shape of objects with interfaces and type aliases.
beginner
Arrays & Tuples
Type-safe collections with arrays and fixed-length tuples.
intermediate
Union Types & Narrowing
Model values that can be one of several types, and narrow them safely.
intermediate
Generics
Write reusable, type-safe functions and data structures with generics.
intermediate
Type Utilities
Use TypeScript's built-in utility types to transform existing types.
advanced
Classes
Use TypeScript classes with constructors, methods, and access modifiers.
intermediate
Async / Await
Write asynchronous TypeScript with Promises, async functions, and proper typing.
intermediate
JSX Basics
Write your first React component with JSX syntax.
beginner
Props & Components
Build reusable components by passing data through props.
beginner
State with useState
Add interactivity to components by managing state with the useState hook.
beginner
Effects with useEffect
Run side effects in function components using the useEffect hook.
intermediate
Props & Component Composition
Pass data into components with props and compose UIs from smaller pieces.
beginner
Event Handling
Handle user interactions with typed event handlers in React.
beginner
Lists & Conditional Rendering
Render dynamic lists with .map() and show content conditionally.
beginner
Custom Hooks
Extract and reuse stateful logic across components with custom hooks.
intermediate
React Context
Share state across the component tree without prop drilling using useContext.
intermediate
Performance
Avoid unnecessary re-renders with useMemo and useCallback.
advanced
Interview prep

Nail your technical interview

Practice coding challenges and theoretical questions asked at Google, Meta, Amazon and more — with hints, full answers, and a live playground.

GoogleMetaAmazonMicrosoftNetflixAppleAirbnbUber
Browse all questions

Learning Tracks

Live Editor

Write TypeScript and React with syntax highlighting, instant preview, and console output.

Guided Lessons

Clear instructions, starter code, and solution hints — learn one concept at a time.

Auto-graded

Run tests in the browser and get immediate pass/fail feedback on your code.

What you'll learn

Variables, types, and type inference
Functions with typed parameters
Interfaces and custom types
JSX and component composition
Props, state, and event handlers
React hooks (useState, useEffect)
Someone from Egypt started the JavaScript track recently
Live