Who this is for. Developers learning the modern web stack, or filling gaps in it. Each deck stands alone.
How to use it. The order runs from the browser platform up to the server and its data. Each deck is a Reveal.js presentation with a Markdown version.
The reading order
- The platform
01–05 · 5 entries
- Front-end frameworks
06–08 · 3 entries
- Node.js and Express
09–14 · 6 entries
- Server-side templating
15–18 · 4 entries
- Authentication and data
19–22 · 4 entries
- Python, testing and tools
23–25 · 3 entries
Part 1 · 01–05The platform
Layout, types and the browser's concurrency and real-time APIs.
- 01Introduction to CSS Layout →
Interactive presentation on CSS layout — box model, Flexbox, CSS Grid, responsive design, container queries, custom properties, logical properties, and production layout patterns
- 02Introduction to TypeScript →
Interactive presentation on TypeScript — type system, generics, interfaces, advanced types, Node.js and Express integration, React typing, compiler configuration, and migration strategies
- 03Introduction to Web Workers →
Interactive presentation on Web Workers — dedicated workers, shared workers, Service Workers, Cache API, offline-first architecture, and PWAs
- 04Introduction to WebSockets →
Interactive presentation on WebSockets — RFC 6455, browser API, Node.js ws, Socket.IO, scaling, security, and real-time communication patterns
- 05Introduction to Server-Sent Events →
Interactive presentation on Server-Sent Events — EventSource API, text/event-stream protocol, auto-reconnect, AI/LLM streaming, scaling, and security
Part 2 · 06–08Front-end frameworks
Components, state and rendering.
- 06Introduction to React →
Interactive presentation on React — JSX, virtual DOM, components, hooks, state management, routing, performance, and the ecosystem
- 07Introduction to Angular →
Interactive presentation on Angular — CLI, components, signals, dependency injection, RxJS, routing, forms, and production builds
- 08Introduction to Next.js →
Interactive presentation on Next.js — App Router, React Server Components, server actions, rendering strategies, middleware, and deployment
Part 3 · 09–14Node.js and Express
The server side in JavaScript, and designing its APIs.
- 09Introduction to Node.js →
The V8 engine, the event loop, async I/O, streams, Express middleware, npm, security and scaling to production
- 10Introduction to Express.js →
Interactive presentation on Express.js — routing, middleware, error handling, static files, security, template engines, project structure, and Express 5
- 11Introduction to Express Middleware →
Interactive presentation on Express middleware — request pipeline, authentication, authorisation, validation, error handling, composition patterns, and testing
- 12Express in Practice →
Production patterns for Express: Express 5, the async error pipeline, structure at scale, validation at the boundary, auth patterns, uploads, rate limiting, jobs, contract tests, observability, security headers, graceful shutdown and Express 4 → 5 migration
- 13Introduction to REST API Design →
Interactive presentation on REST API design — HTTP methods, resource naming, status codes, pagination, versioning, authentication, caching, HATEOAS, and Express implementation
- 14Introduction to GraphQL →
Interactive presentation on GraphQL — schema definition, queries, mutations, subscriptions, resolvers, Apollo Server and Client, DataLoader, authentication, pagination, and performance
Part 4 · 15–18Server-side templating
Rendering HTML on the server.
- 15Introduction to Server-Side Templating →
Interactive presentation on server-side templating — rendering pipelines, EJS, Pug, Handlebars, Nunjucks, template inheritance, security, and Express integration
- 16Introduction to EJS →
Interactive presentation on EJS — tag syntax, control flow, layouts, partials, includes, XSS prevention, performance, caching, and production project structure
- 17Introduction to Pug →
Interactive presentation on Pug — indentation-based syntax, mixins, template inheritance, filters, interpolation, Express integration, security, and performance
- 18Introduction to Handlebars →
Interactive presentation on Handlebars — expressions, helpers, partials, precompilation, layouts, path expressions, security, and Express integration
Part 5 · 19–22Authentication and data
Logging users in, and talking to databases.
- 19Introduction to Web Authentication →
Interactive presentation on web authentication — sessions, cookies, JWT, OAuth 2.0, password hashing, MFA, CSRF, CORS, RBAC, and token security
- 20Introduction to Passport.js →
Interactive presentation on Passport.js — strategies, sessions, local auth, OAuth 2.0, Google/GitHub login, JWT, route protection, and security best practices
- 21Introduction to Node.js & Databases →
Interactive presentation on Node.js database integration — raw SQL drivers, Knex, Prisma, Sequelize, Mongoose, migrations, transactions, connection pooling, performance, and testing
- 22Introduction to Knex →
The chainable SQL query builder for Node.js: drivers and the connection pool, SELECT/JOIN chains, CTEs,
knex.raw, the schema builder, migrations and seeds, transactions, streams, TypeScript table types, testing and N+1 traps
Part 6 · 23–25Python, testing and tools
A Python web framework, testing the whole stack, and slides on the web.
- 23Introduction to FastAPI →
Type hints become the API: Pydantic v2, Starlette and ASGI,
Depends()injection, async rules, OAuth2/JWT utilities, streaming, SQLAlchemy 2.0 async, testing withdependency_overrides, OpenAPI 3.1, deployment and observability - 24Introduction to Testing Web Applications →
Interactive presentation on web application testing — Jest, Supertest, React Testing Library, Playwright, Cypress, TDD, coverage, CI/CD integration, and testing patterns
- 25Introduction to Reveal.js →
Interactive presentation on Reveal.js — slide structure, Markdown support, themes, plugins, code highlighting, speaker notes, and deployment