TypeScript from a blank file
Annotations, interfaces, unions and narrowing, starting from a plain JavaScript file and a compiler that keeps telling you no. By week three the compiler is on your side.
- Types
- Unions
- Narrowing
- tsconfig
Beginner3 weeks
Generics without the headache
Type parameters, constraints and inference, taught with functions you already write. You stop copying `<T>` from Stack Overflow and start knowing where it goes.
- Generics
- Constraints
- Inference
- Utility types
Intermediate3 weeks
TypeScript: $ npm i zod
TsTyping an API from end to end
Validate responses with Zod, infer types from the schema and let one definition protect the form, the fetch call and the server. No more `as any` at the network edge.
- Zod
- Schemas
- Inference
- Runtime checks
Intermediate4 weeks
Type-level TypeScript
Conditional, mapped and template literal types, used to build a typed router and an event emitter. For the person who maintains the types everyone else imports.
- Conditional types
- Mapped types
- Template literals
- infer
Advanced4 weeks
React, one component at a time
JSX, props, state and lists, building a small app piece by piece in TypeScript. You learn what a re-render is before you learn how to avoid one.
Beginner4 weeks
Hooks you can reason about
useState, useEffect, useReducer and custom hooks, with the dependency array finally explained. Most of the course is deleting effects that never needed to exist.
- Hooks
- Effects
- Reducers
- Custom hooks
Intermediate3 weeks
Accessible React components
Dialogs, menus, tabs and comboboxes that work with a keyboard and a screen reader. You build them by hand once, then learn what Radix and React Aria do for you.
Intermediate3 weeks
Server Components and Actions
Where code runs, what crosses the boundary, and how Suspense, streaming and server actions change the shape of an app. Taught against React 19 with no framework magic hidden.
- RSC
- Suspense
- Streaming
- Server actions
Advanced4 weeks
Vue 3 for your first app
Templates, reactivity, components and single-file components, ending in a small app you put online. Friendly to anyone who knows a bit of HTML and JavaScript.
- Templates
- ref
- Components
- SFCs
Beginner3 weeks
The Composition API, properly
ref, reactive, computed and watch, then composables that share logic cleanly across components. With `<script setup>` and TypeScript throughout.
- Composables
- computed
- watch
- script setup
Intermediate3 weeks
State that stays put with Pinia
Stores, getters, actions and plugins, plus the judgement to keep most state out of a store at all. Two short weeks for a Vue app that has started to sprawl.
- Stores
- Getters
- Actions
- Devtools
Intermediate2 weeks
A Vue component library
Design tokens, slots, typed props and emits, documentation and a release pipeline. You publish a small library another team could install on Monday.
- Slots
- Typed props
- Tokens
- Docs
Advanced4 weeks
Your first Next.js site
Pages, layouts, links, images and metadata in the App Router, then a deploy. A gentle way into frameworks if you can already write a React component.
- App Router
- Layouts
- Metadata
- Deploying
Beginner3 weeks
Next.js from routing to caching
Dynamic routes, data fetching, caching and revalidation, and the reasons behind each default. You stop guessing why a page is stale and start choosing when it should be.
- Routing
- Caching
- Revalidation
- Middleware
Intermediate5 weeks
Nuxt for Vue developers
File-based routing, server routes, useFetch, auto-imports and rendering modes. Everything you know from Vue, with a server added and the setup taken away.
- Nuxt 4
- Server routes
- useFetch
- Rendering modes
Intermediate4 weeks
Shipping Next.js to production
Authentication, observability, performance budgets, security headers and a deploy you can roll back. A five-week course built around one real app going live.
- Auth
- Core Web Vitals
- Observability
- Security
Advanced5 weeks
Server state with TanStack Query
Queries, mutations, caching and loading states, replacing a tangle of useEffect fetches. Short and practical; you need only a little React to keep up.
- Queries
- Mutations
- Cache keys
- Devtools
Beginner2 weeks
Data grids with TanStack Table
Sorting, filtering, pagination and virtualised rows on a headless table you style yourself. For anyone whose admin screen currently freezes at a thousand rows.
- Columns
- Sorting
- Pagination
- Virtual
Intermediate3 weeks
Type-safe routes with TanStack Router
Typed params, search state in the URL, loaders and code splitting. A wrong link becomes a compile error instead of a 404 in production.
- Typed routes
- Search params
- Loaders
- Code splitting
Intermediate3 weeks
A full-stack app on TanStack Start
Server functions, streaming SSR, Query and Router working together, deployed to the edge. For developers comfortable with React who want the whole stack typed.
- Server functions
- SSR
- Query
- Deploying
Advanced5 weeks
The frontend toolchain, demystified
Node, pnpm, package.json, Vite, ESLint and Prettier, explained one config file at a time. Two weeks that make every tutorial afterwards easier to follow.
- pnpm
- package.json
- Vite
- ESLint
Beginner2 weeks
Testing with Vitest and Testing Library
Unit tests, component tests and mocks that test behaviour rather than implementation. You leave with a suite you trust enough to refactor against.
- Vitest
- Testing Library
- Mocks
- Coverage
Intermediate3 weeks
End-to-end tests with Playwright
Locators, fixtures, network mocking and visual checks, running in CI on every pull request. The flaky test is the first thing we fix.
Intermediate3 weeks
Publishing your own npm package
Package exports, dual builds, type declarations, changesets and provenance. You publish something small and correct, and learn why most packages get one of these wrong.
- exports
- Declarations
- Changesets
- Provenance
Advanced4 weeks