All Courses

Explore our complete collection of practical, production-grade courses.

10 courses
Building AI Apps with LLMs

Building AI Apps with LLMs

From first API call to a feature you can ship: prompting, structured output, tool calling, streaming, and cost control.

Intermediate
2h 27m
4 modules
DevOps with Docker and Kubernetes

DevOps with Docker and Kubernetes

Containerise an application, run it on Kubernetes, ship it through a pipeline, and operate it once it is live.

Advanced
2h 39m
4 modules
Next.js App Router in Depth

Next.js App Router in Depth

Learn the App Router the way it actually works: routing and layouts, the server/client boundary, caching, and server actions.

Intermediate
1h 59m
4 modules
PostgreSQL for Developers

PostgreSQL for Developers

SQL you will actually write, schemas that hold up, indexes that get used, and the operational basics behind them.

Intermediate
2h 13m
4 modules
Practical Web Security

Practical Web Security

The vulnerabilities that actually show up in web applications, how they are exploited, and how to close them for good.

Intermediate
1h 59m
4 modules
Python for Data Work

Python for Data Work

A practical on-ramp to data work in Python: the language basics you need, pandas, plotting, and reproducible workflows.

Beginner
3h 35m
4 modules
React Performance Engineering

React Performance Engineering

Measure before you optimise. Profiling, render behaviour, concurrent features, and shipping less JavaScript.

Advanced
2h 21m
4 modules
Retrieval-Augmented Generation from Scratch

Retrieval-Augmented Generation from Scratch

Build a RAG system that actually retrieves the right thing: embeddings, chunking, hybrid search, reranking, and grounded answers.

Advanced
1h 57m
4 modules
System Design Foundations

System Design Foundations

The building blocks of scalable systems — load balancing, caching, queues, partitioning, and the reliability work around them.

Intermediate
1h 37m
4 modules
TypeScript for Application Developers

TypeScript for Application Developers

Go past annotations. Structural typing, narrowing, generics, and the type-level tools that make invalid states impossible.

Intermediate
1h 54m
4 modules