TypeScript
API contracts, safe data handling, and reusable typed operations.
11 primary challenges 9 optional warm-ups
Engineering practice
- 1
Focus Route Caption
Keep navigation captions complete as study modes change, without losing useful literal inference.
easy25 minEngineering practiceFree - 2
Milestone Status Line
Turn a nullable API progress record into a stable dashboard summary without inventing missing data.
easy30 minEngineering practiceFree - 3
First Saved Resource
Create a reusable resource helper that preserves the caller's payload type and validates identifiers.
easy25 minEngineering practiceFree - 4
Profile Detail Reader
Preserve the relationship between an object's selected key and the returned value type.
medium30 minEngineering practiceFree - 5
Weekly Minutes Total
Aggregate a sparse weekly log safely, preserving the difference between a missing day and zero minutes.
easy25 minEngineering practiceFree - 6
Learner Contact Snapshot
Validate unknown contact payloads while preserving omitted, null, and present email values.
medium40 minEngineering practiceFree - 7
Learning Activity Line
Render lesson and exercise events safely with variant-specific fields and exhaustive handling.
easy30 minEngineering practiceFree - 8
Profile Draft Merge
Apply editable profile changes without overwriting identity, permissions, or omitted fields.
medium40 minEngineering practiceFree - 9
Safe Checklist Copy
Create an owned checklist snapshot whose nested collections are readonly and independent of later edits.
medium40 minEngineering practiceFree - 10
Save State Message
Produce complete save feedback from mutually exclusive idle, saving, saved, and failed states.
medium40 minEngineering practiceFree - 11
Outcome Check
Preserve async result inference, normalize unknown failures, and consume success or error explicitly.
medium45 minEngineering practiceFree
Optional introductory practice (9)
- 1
Dashboard Greeting Contract
Define a function contract before implementing a learner greeting.
easy10 minWarm-upFree - 2
Lesson Progress Meter
Name a numeric domain type and use it in a reusable function contract.
easy10 minWarm-upFree - 3
Study Tag Tidy-Up
Define a precise string-literal union for the first study tags.
easy5 minWarm-upFree - 4
Checkpoint Tally
Model one checkpoint with a small object type.
easy5 minWarm-upFree - 5
Lesson Clock Lookup
Use Record to describe a typed lesson-duration lookup.
easy5 minWarm-upFree - 6
Feedback Signal
Model feedback that may not exist yet.
easy5 minWarm-upFree - 7
Position Your Resources
Carry a generic resource type through a position object.
easy5 minWarm-upFree - 8
Lesson Order Switch
Use a generic type to describe a labelled lesson response.
easy5 minWarm-upFree - 9
Today's Study Snapshot
Recap object and array types by modelling a study summary.
easy5 minWarm-upFree