Concept
Types are gone at runtime, so data from a request, a file or local storage must be checked before it is used. A schema library such as zod validates and gives you the TypeScript type in one place.
The tutor works through these with you, in conversation and code. A session ends when you have shown them, not when a video does.
A few lines that show Runtime validation doing its job.
import { z } from "zod";
const User = z.object({
id: z.string().uuid(),
name: z.string().min(1),
email: z.string().email().optional(),
});
type User = z.infer<typeof User>;
const parsed = User.safeParse(await res.json());
if (!parsed.success) throw new Error(parsed.error.message);
const user: User = parsed.data;Keeping an interface and a validator that describe the same shape separately. They drift apart, and the type then promises fields the validator never checked. Derive the type from the schema.
Your roadmap puts these before Runtime validation, unless you already know them.
Once a session shows you understand Runtime validation, it comes back for review. Each review takes a minute and tells the memory model how well you still know it.