TutorialsPreview
Ship Production Software with AI

Ship Production Software with AILesson 5

Build with AIReferenceintermediate17 minShip Production Software with AI

Review what comes back like a senior

Lesson 4 of 5 — read generated code adversarially, where models actually fail.

You will learn

The failure classes models reliably produce, and how to review for intent and edges instead of style.

Prerequisites

Lesson 3 — you have tasks whose output you now need to judge.

Concept · ai/code-review
Catalog

Reviewing AI code

Reading generated code adversarially for the failures models reliably make — wrong assumptions, missing edges, plausible-but-wrong APIs.

Want the full picture? Open the reference →

The rubric — the classes models reliably miss

Run this on every diff

BeforeWhat the model wrote
JAVASCRIPT
const user = await db.users.find(id);
return user.profile.name; // TypeError when user or profile is null
AfterWhat review demands
JAVASCRIPT
const user = await db.users.find(id);
if (!user) return null; // the case it skipped
return user.profile?.name ?? 'Anonymous';
Plausible — and wrong

Quiz

A generated function is clean, well-named, and passes the test the model wrote. What is left to do?

Try it

Take a diff a model gave you recently and run all seven rubric items on it. Find at least one thing you would change.

Concepts covered · 1

More like this

P
Reference·beginner·16 min

Persist & filter

Save the list to localStorage so it is still there tomorrow, and wire the All / Active / Done filters. This is the lesson that turns a toy into something you would actually use.

W
Reference·intermediate·16 min

Write the spec the model can hit

A prompt is a specification. The difference between a junior and a senior prompt is the constraints a senior names that a junior leaves to chance. This lesson turns your architecture sketch into a prompt that produces reviewable code.

A
Reference·beginner·15 min

Add todos with JavaScript

Wire the form so typing and pressing Add creates a real item. You will hold the todos in an array and render the list from it — the pattern every UI framework formalises later.

Liked this one?

Pass it on

Discussion

Be the first to ask

Your questions stay private with the team. We can pin answers to share with everyone.

Sign in to ask a question privately on this tutorial.

Sign in

No pinned answers yet for this tutorial.