Skip to Content
0 likes
Change Colors and Fonts Without Touching Every Tag Level: Beginner

Set a shared typography base, trace inherited colours and remove a local override without restyling every paragraph.

0 likes
Read Computed Styles in DevTools Without Guessing Level: Beginner

Trace a reproducible colour and spacing conflict from the rendered result to the winning rule, then verify the repair in the source file.

0 likes
Build a Contact Form With Labels Stuck to Their Inputs Level: Beginner

Build a local form with working labels and a grouped topic choice, then inspect submitted field names without sending a message.

0 likes
Images With alt Text That Isn't Useless Level: Beginner

Choose different text alternatives for informative, decorative and linked images, then inspect their names and broken-image behavior.

0 likes
Links That Open Where You Meant Them To Level: Beginner

Build a three-file local site, resolve paths from nested folders and test fragments and deliberate new-tab navigation.

0 likes
Semantic HTML in 10 Minutes: header, main, nav, footer Level: Beginner

Build a page with named navigation regions and a working skip link, and distinguish page landmarks from an article header.

0 likes
Fix "Cannot find name" After Renaming a .js File Level: Beginner

Install the Node types, turn them on in tsconfig.json, and switch require to import. Also covers the other causes of the same error: a typo, a missing import and a missing lib.

0 likes
Find Which TypeScript Compiler Your Project Runs Level: Beginner

Trace a compiler version mismatch, confirm the resolved package path, and make a project-local check catch a deliberate type error.

0 likes
Narrow a Union With typeof and in Level: Beginner

Use typeof, in and Array.isArray on three real unions, and avoid the two mistakes that stop narrowing from working. After this, you know which check fits which union.

0 likes
Optional Properties vs undefined: Which One You Meant Level: Beginner

See the difference between a question mark and a union with undefined, what it does at run time, and what exactOptionalPropertyTypes changes. After this, you can choose the right one for your data.

0 likes
Read a TypeScript Error Message Without Guessing Level: Beginner

Read an error in three passes and match the eight most common phrases to their causes, using real tsc output. After this, a wall of errors is a list you can work through.

0 likes
Function Return Types That Catch Missing returns Level: Beginner

Let a declared return type find a branch with no return, an arrow function with braces, and an async function typed wrong. After this, a function cannot quietly give back undefined.