Think it through.
Start with a prediction. Notice what you assume before you touch the code.
Short TypeScript workouts for the skills you want to keep. Build your own judgment, one small practice at a time.
One complete guided exercise. No sign-in needed.

A little practice. A stronger instinct.
For developers who want to understandYOUR FIRST REP
A payment can be paid, declined, or pending. What happens when the switch forgets one state?
type PaymentResult =
| { status: 'paid'; receiptId: string }
| { status: 'declined'; reason: string }
| { status: 'pending' };
function describe(result: PaymentResult): string {
switch (result.status) {
case 'paid': return 'Receipt: ' + result.receiptId;
case 'declined': return 'Declined: ' + result.reason;
default: return 'Unknown payment status';
}
}What message does a pending payment receive?
Start with a prediction. Notice what you assume before you touch the code.
Read a focused TypeScript example, choose a repair and check its behavior in the browser.
Write a reflection. Give your future self something useful to return to.
THE FIRST TRAINING BLOCK
Practice the details that make everyday code more reliable: types, async behavior and the assumptions in between.
Planned as four weeks of short, deliberate workouts.
Explore the previewQuestion your assumptions
Handle what happens out of order
Think beyond the happy path
The discriminated-union exercise is ready to try. The full program is in development.
We’re starting with TypeScript and planning support for more languages. Tell us what you’d like to practice next.
Developers with some TypeScript experience who want to practice reading, debugging and reasoning about code.
The guided preview takes about 8–12 minutes. Take it at your own pace; the aim is thoughtful practice.
Complete a guided TypeScript exercise on discriminated unions and exhaustive switches: predict the behavior, compare repairs, check four requirements and keep your takeaway. No sign-in needed.
The focus is everyday engineering judgment: reading code, spotting assumptions and reasoning about behavior. The planned program is built around short, deliberate practice.
Bring your curiosity. Make a little room for practice.
Explore the previewEarly preview · The full program is in development