Type-Safe Component Library
beginnerBuild a small library of reusable components and utilities using interfaces and generics, designed so misuse fails at compile time instead of runtime.
- TypeScript
- Interfaces
- Generics
Languages
Types that describe real systems — generics, narrowing, and API contracts that catch bugs before the code runs.
Taught by Abbas Ibragimov
Sample clip — the trailer for this course is being filmed.
about.md
JavaScript gets you moving fast, but it also lets bugs hide until runtime — wrong types, missing properties, and unsafe assumptions that only surface in production. TypeScript closes that gap by adding a static type system on top of JavaScript, catching entire classes of bugs before your code ever runs, while still compiling down to the JavaScript you already know.
This course teaches you how to use TypeScript the way it's actually used in real codebases — not just slapping types on variables, but designing interfaces, modeling domain logic with generics, and using the type system to make invalid states unrepresentable. You'll go from basic type annotations to advanced patterns like utility types, conditional types, and decorators, and see how TypeScript changes the way you structure applications.
Every module ends with a hands-on project. You'll build strongly-typed applications, refactor loosely-typed JavaScript into safe TypeScript, and build a small Node.js/Express API with end-to-end type safety. By the end, you'll be able to read and write idiomatic TypeScript, configure a project correctly, and use the type system as a design tool instead of a compliance checkbox.
outcomes.json
Concrete things you will be able to do by the end — not topics you will have heard about.
projects/
Every module ends with something merged. These are the three you keep.
Build a small library of reusable components and utilities using interfaces and generics, designed so misuse fails at compile time instead of runtime.
Take an existing loosely-typed JavaScript project and incrementally migrate it to strict TypeScript using utility types and decorators, without breaking existing functionality.
Develop a Node.js and Express REST API with end-to-end type safety — typed request/response payloads, typed middleware, and typed database access.
audience.md
prerequisites.md
Students should have a solid understanding of JavaScript (ES6+), including functions, objects, arrays, and asynchronous code, plus basic familiarity with npm. No prior TypeScript experience is required — the course builds up from basic type annotations to advanced patterns.
New to this? Start with JavaScript from Scratch
curriculum/
4 sections · 24 lessons · 6h 23m of content
instructor.md
Abbas Ibragimov
Software Engineer & Founder, Baku
I am a software engineer and founder based in Baku. I have spent the last several years building production software with React, Next.js, NestJS and Prisma — first for other people's companies, then for the one I started and now lead.
Alongside that work I mentor developers one to one, taking people from their first line of code to code they can put in front of a team. Teaching while still shipping is what keeps the material honest: what is in these courses is what I use in production, not what I read about.
I did not come through a computer science degree. I started with a Hello World, got obsessed with how the machine underneath actually works, and learned the rest by building things other people depended on — which is the same path these courses take, with the dead ends removed.
Nobody learns to build software by watching someone else build software. Every course here is structured around something you ship yourself, and my job is to be the senior engineer looking over your shoulder — not the narrator of a video you will forget by Friday.
reviews --course
The lessons were conducted in a friendly and personalized manner. There was always flexibility regar…
The course exceeded my expectations: the material is laid out clearly and in a logical order, and th…
faq.md
Check the prerequisites above — each course states what it assumes. If you are starting from zero, the fundamentals track assumes nothing at all.
Yes. The membership unlocks every course on the site, including this one and anything added later.
A course you buy outright stays in your account permanently, including future updates to it.
No — every lesson is pre-recorded so you can work at your own pace. Live Q&A sessions run separately for the whole community.
Lessons stream rather than download, so you always have the current version. Project source code is yours to keep.
Yes — the Discord community is where most questions get answered, usually within a day, and recurring live Q&As cover the harder ones.
Yes, a certificate of completion is issued once you finish the course.