Free at launch · Runs in your browser

Read code like a pro.

Quick challenges on real code: predict what it does, watch it run, spot what’s wrong. For anyone who needs to understand code, including the code AI writes.

Try oneUnit 2 · How Code Executes

  1. Read
  2. Predict
  3. Investigate
  4. Understand
Sneakers$5020% off
Total$10

The appThis checkout should take 20% off. The sneakers cost $50, but customers are charged $10.

checkout.jsWords looked up: 0/2 looked up
function applyDiscount(price) {
return price * ; // 20% off
}
​
const total = ;
console.log(total);

PredictCustomers pay $10, not $40. What went wrong?

Tap underlined code for its meaning

Why reading

Coding changed. Learning to code should too.

AI writes the code. You inherit the problems.

69%

of developers say AI code that looked right but was wrong cost them time.

69.3% of 13,648 respondents, Stack Overflow Developer Survey 2026

AI got faster. Learning to code didn’t.

54%

say AI code that was hard to review cost them time. Traditional courses still start you on a blank file.

54.2% of 13,648 respondents, Stack Overflow Developer Survey 2026

You don’t need to write every line. You need to understand what it does.

  1. Read
  2. Predict
  3. Investigate
  4. Understand

Short challenges on real code train you to follow the logic, and to catch what AI gets wrong.

Get early access

What you get

Stop guessing what code does.

AI wrote it, a teammate wrote it, or you’re seeing it for the first time. Reading code is how you know what it does, and how you fix it when it breaks.

  1. BeforeTutorials have you type code you don't understand.

    After CodewitYou follow what each line does, and why.

  2. BeforeYou accept the AI's changes and hope nothing broke.

    After CodewitYou read the change before you accept it.

  3. BeforeEngineers talk through the code and you nod along.

    After CodewitYou open the file and follow the conversation.

  4. BeforeA new codebase is a wall of unfamiliar files.

    After CodewitYou find where it starts and trace a feature through it.

The curriculum

From one line to a codebase you’ve never seen.

Three tracks: Programming Fundamentals in JavaScript or Python, and Reading Typed Code in TypeScript. Each has six units and four codebase labs. Passages get longer and less familiar as you go, the way reading a new language moves from sentences to stories.

Programming Fundamentals · 6 units, 24 concepts, 4 labs. From what a single line means to finding your way around a codebase you've never seen.

  1. Unit 1

    “What does this line actually do?”

    The Language of Code

    Understand what individual lines of code mean.

    items.js
    const count = 0;let message = "Items: " + count;if (count) {  message = "You have items";}console.log(message);
    PrintsItems: 0
    • Values and Types
    • Variables and Assignment
    • Expressions and Comparisons
    • Boolean Logic and Conditions
  2. Unit 2

    “Why is the total wrong?”

    How Code Executes

    Follow a program as it runs.

    checkout.js
    function applyDiscount(price) {  return price * 0.8;}​const total = applyDiscount(50);console.log(total);
    Prints40
    • Execution Order
    • Functions and Parameters
    • Functions and Return Values
    • Scope and Variable Lifetime
  3. Unit 3

    “Why did changing one list change another?”

    Understanding Data

    Understand how programs organize and change information.

    ratings.js
    const ratings = [4, 5, 3, 4, 2];let good = 0;let sum = 0;for (const r of ratings) {  sum = sum + r;  if (r >= 4) {    good = good + 1;  }}console.log(good + " of " + ratings.length + ", avg " + sum / ratings.length);
    Prints3 of 5, avg 3.6
    • Arrays and Indexing
    • Objects and Properties
    • References and Mutation
    • Loops and Iteration
  4. Unit 4

    “Where does this value come from, and where do errors go?”

    How Programs Are Organized

    Understand how separately defined pieces of code work together.

    orders.js
    const orders = [  { id: 1, status: "sent" },  { id: 2, status: "pending" },  { id: 3, status: "pending" },];​const next = orders.find((o) => o.status === "pending");console.log(next.id);
    Prints2
    • Functions as Values
    • Callbacks and Data Transformations
    • Modules, Imports, and Exports
    • Errors and Failure Paths
  5. Unit 5

    “Why does my button show the old value?”

    How Applications Behave

    Understand the patterns behind interactive software.

    Level.jsx
    import { useState } from "react";​export default function Level() {  const [level, setLevel] = useState(1);​  function levelUp() {    setLevel(level + 1);    console.log(level);  }​  return <button onClick={levelUp}>Level {level}</button>;}
    Click once1is logged, the button showsLevel 2
    • Events and Event Handlers
    • State and Derived Behavior
    • Asynchronous Code
    • APIs and Data Flow
  6. Unit 6

    “Where do I even start in this codebase?”

    Reading Real Codebases

    Apply everything to software you've never seen.

    src/index.jsdata/seed.jslib/notes.jslib/format.js
    import { loadNotes } from "./data/seed";import { pinnedFirst } from "./lib/notes";import { formatNote } from "./lib/format";​const notes = pinnedFirst(loadNotes());for (const note of notes) {  console.log(formatNote(note));}
    Prints📌 PasswordsGroceriesIdeas
    • Finding the Entry Point
    • Tracing a Feature
    • Investigating Unexpected Behavior
    • Understanding the Impact of Changes

Inside every concept

  1. 1ObserveA real behavior and a reason to care.
  2. 2UnderstandThe mental model, as a demonstration you step through.
  3. 3PredictCommit before you see. Every wrong answer explains the misreading.
  4. 4TraceFollow execution through several operations.
  5. 5ApplyUnfamiliar code, no diagram until you answer.

Each unit ends with an assessment on code you haven’t seen. A concept counts as mastered when you get its independent exercises right on the first try; finishing the lesson alone doesn’t count. Finished concepts come back for review after 1, 3, 7, 16 and 35 days, and a missed review marks a concept rusty until you get it right again.

Codebase labs

  1. After unit 2Interactive CalculatorA four-function calculator split across four files. Follow the inputs through validation and calculation to the message the user sees.Variables · Conditions · Functions · Return values
  2. After unit 4Shopping CartLook up products, build line totals, add them up and apply a 10% discount on orders of $40 or more.Arrays · Objects · Loops · Data transformations
  3. After unit 5Interactive Web ApplicationA React task list across four files. Follow a click from the button to the screen.Modules · Events · State · Connected functions
  4. After unit 5Data-Driven ApplicationThe capstone: an order-history screen that fetches, filters and totals data and handles failures, across four files.Async functions · API requests · Error handling · Multiple files

Not just multiple choice

Five ways to read code.

Each kind of challenge trains a different reading skill. The first three are playable right here.

Follow the execution and watch values change.

game.js
let lives = 2;Line 1 value: lives = 2
​
function gameOver() {
console.log("Game over");
}
​
function hit() {
lives--;
if (lives === 0) {
gameOver();
}
}
​
hit();
hit();

Step 1 of 12

Line 1. lives starts at 2.

Consolenothing printed yet

Coming later

Then, your own code.

The plan: challenges written from the project you built with AI, so you learn to read the code you actually ship. It isn’t built yet, and the waitlist hears about it first. Today’s curriculum uses challenges we write and check by hand.

  • api/habits/route.tsWhen you tick off a habit, where is it saved?
  • lib/auth.tsWhat stops someone from seeing another person’s habits?
  • StreakBadge.tsxWhy does your streak reset at midnight?

Questions

Before you join.

Who is Codewit for?

Anyone who needs to understand code: people learning to code, students, builders shipping with AI tools, developers facing an unfamiliar codebase, and professionals who need to get technical fast.

Why not just ask ChatGPT to explain the code?

An explanation tells you what one piece of code does, once, and you have to trust it. Reading is the skill that lets you check it, including when the explanation is wrong. Codewit asks you to predict before it reveals anything, so you find out what you actually understood.

I'm not a real programmer. Is this for me?

Yes. Unit 1 starts with what a single line means. There's nothing to install and nothing to type: you tap, predict and step through the code as it runs.

Do I have to write code?

No. Every challenge is about reading: what a line means, what happens when it runs, and what's wrong with it. Writing gets easier once reading does, but it isn't the point.

How is this different from other learn-to-code apps?

Most courses start you on a blank file and teach you to write. Codewit starts from working code from real apps (checkouts, logins, buttons, data from an API) and teaches you to follow it, which is also what you need when AI writes the code.

Which languages?

JavaScript, Python and TypeScript, each going from single lines to multi-file codebase labs.

Can it read my own project?

Not yet. Challenges written from your own codebase are planned, and the waitlist hears about it first. Today's challenges are written and checked by hand.

What does it cost?

Codewit is free at launch. Joining the waitlist is free too, and needs only your email.

Read any code with confidence.

Get early access

Free at launch. Nothing to install. We’ll email you when early access opens.