All available languages

11 learning paths · 33 challenges

Open the full Dev Track

Practice arena // beginner

Choose a language. Solve three challenges.

Run your work, submit it for validation, and get clear feedback about what is still missing. Hints unlock one at a time. If you give up, the complete solution appears with a step-by-step explanation.

01

Write and run your code

02

Submit for useful validation

03

Use hints or study the solution

01Frontend

HTML + CSS

Practice page structure, forms, buttons, layout, and visual states.

  1. 1.Build a profile card
  2. 2.Create a responsive action row
  3. 3.Style a status list
Start HTML + CSS
02Frontend

Web Lab

Practice HTML, CSS, and JavaScript together with a live browser preview.

  1. 1.Write a greeting function
  2. 2.Validate a passing score
  3. 3.Double a list of numbers
Start Web Lab
03Frontend

React

Practice components, props, state, rendering, and events.

  1. 1.Render a profile prop
  2. 2.Build a counter
  3. 3.Filter completed tasks
Start React
04Frontend

Next.js

Practice React plus routes, server/client boundaries, APIs, and persistence.

  1. 1.Create an About page
  2. 2.Add an interactive counter
  3. 3.Read a dynamic route parameter
Start Next.js
05Frontend

TypeScript

Practice safer code with types, interfaces, props, and typed task data.

  1. 1.Model a user
  2. 2.Write a typed total function
  3. 3.Narrow a status union
Start TypeScript
06Full Stack

Node.js

Practice backend logic, API endpoints, validation, and server storage.

  1. 1.Create a health endpoint
  2. 2.Validate a new task
  3. 3.Read a route parameter
Start Node.js
07Full Stack

Firebase

Practice saving app data with Firestore, document ids, and realtime reads.

  1. 1.Save a task document
  2. 2.Read every task
  3. 3.Mark a task complete
Start Firebase
08Systems Languages

Python

Practice the same idea as a script: variables, functions, and console output. Runs live in your browser (Pyodide).

  1. 1.Write a greeting function
  2. 2.Validate a passing score
  3. 3.Double a list of numbers
Start Python
09Systems Languages

C++

Practice the same idea with manual memory, structs, and console output. Compiled and run remotely.

  1. 1.Write a greeting function
  2. 2.Validate a passing score
  3. 3.Double a list of numbers
Start C++
10Systems Languages

Java

Practice the same idea with classes and static typing. Compiled and run remotely.

  1. 1.Write a greeting function
  2. 2.Validate a passing score
  3. 3.Double a list of numbers
Start Java
11Systems Languages

Rust

Practice the same idea with ownership and structs. Compiled and run remotely.

  1. 1.Write a greeting function
  2. 2.Validate a passing score
  3. 3.Double a list of numbers
Start Rust