Every course, end to end.
22 courses, 299 lessons, 151.6h of hands-on work. Every lesson runs on a real machine with an AI tutor that knows your code.
Python
19 lessons · 9.3h
Learn Python end to end. Syntax, data structures, OOP, generators, async, testing, and packaging.
See lessonsGo
20 lessons · 12.3h
Learn Go end to end. Start with packages, variables, and control flow, then go deeper into structs, interfaces, concurrency, testing, HTTP servers, databases, generics, profiling, and shipping real binaries to production.
See lessonsReact
17 lessons · 10.2h
Learn React from zero. Components, state, hooks, context, performance, routing, testing, and a capstone app.
See lessonsLinux
17 lessons · 8.5h
Learn Linux from the shell up. Files, processes, networking, systemd, scripting, and running real services.
See lessonsDocker
13 lessons · 6.6h
Learn Docker from first container to production. Images, networking, volumes, Compose, multi-stage builds, and secure registries.
See lessonsGit
13 lessons · 5.9h
Learn Git for real. Commits, branches, remotes, rebasing, conflict resolution, recovery, and pull request workflows.
See lessonsKubernetes
14 lessons · 8h
Learn Kubernetes from pod to production. Deployments, services, ingress, Helm, scaling, RBAC, and observability.
See lessonsAnsible
12 lessons · 6.1h
Learn Ansible from first inventory to multi-host deployments. Playbooks, roles, templates, vault, and idempotent automation.
See lessonsBash
12 lessons · 5.7h
Learn Bash scripting from variables to robust, production-ready scripts. Loops, arrays, traps, set -euo pipefail, and a server bootstrap capstone.
See lessonsHelm
10 lessons · 5.4h
Learn Helm from installing charts to authoring your own. Templates, values, hooks, dependencies, and publishing.
See lessonsGitLab CI
11 lessons · 5.8h
Learn GitLab CI/CD from your first .gitlab-ci.yml to multi-stage pipelines with artifacts, environments, and deployments.
See lessonsJenkins
11 lessons · 5.3h
Learn Jenkins from freestyle jobs to declarative pipelines, shared libraries, Docker agents, and pipeline-as-code.
See lessonsPostgreSQL
14 lessons · 7.6h
Learn PostgreSQL end to end. SQL basics, joins, indexes, transactions, JSONB, EXPLAIN, and schema design.
See lessonsMySQL
13 lessons · 6.8h
Learn MySQL from CLI to schema design. SQL basics, joins, indexes, transactions, stored procedures, EXPLAIN, and operations.
See lessonsWeb
14 lessons · 5.9h
Learn how the web actually works. HTTP, HTTPS, DNS, cookies, sessions, CORS, caching, TLS, security headers, and rate limiting.
See lessonsTypeScript
18 lessons · 7.7h
Learn TypeScript end to end. Types, interfaces, generics, classes, modules, utility and mapped types, declaration files, and the compiler.
See lessonsVibe Coding
12 lessons · 5.8h
Build real software with an AI pair by your side. Mindset, tooling, prompt craft, architecture, debugging, refactoring, scaling, teamwork, and shipping. You will practice against a live DeepSeek model, the same AI that reviews your code in every lesson.
See lessonsPrompt Engineering
11 lessons · 6.2h
Get reliable results out of generative AI. Learn how large language models produce text, the five principles behind every good prompt, few-shot and structured output, function calling, retrieval-augmented generation, autonomous agents, and how diffusion models turn prompts into images. You finish by wiring text, images, and agents into one working application.
See lessonsVibe Coding: Fundamentals
12 lessons · 4.5h
From zero to your first AI-built product. Written for founders and builders with no coding background. Learn to turn a vague idea into a clear brief, prompt an AI to build it, judge what it makes, fix what breaks, and ship a real product, all without writing code yourself. Every concept becomes a hands-on lesson inside EasyEnv, where you prompt a live AI and watch your product come to life.
See lessonsVibe Coding: Prototype to Production
12 lessons · 5.5h
Turn the project you built in the fundamentals course into a real product that strangers can trust. Written for non-technical founders who build by prompting an AI. You will add real sign-up and login, a proper data layer, security against common attacks, tests, deployment to a live address, monitoring, and a plan for scaling and maintenance. By the end you take a prototype and ship a production-ready product, all without writing code yourself.
See lessonsVibe Coding: Multi-Agent Engineering
12 lessons · 5.3h
Stop working with one AI assistant and start leading a team of them. Written for founders who have shipped a production product and now want to build at the pace of a real engineering team. You will learn to create specialized AI agents, a product manager, an architect, a developer, a reviewer, a security specialist, a DevOps engineer, give each a clear role, and coordinate them the way a modern software team ships. You direct the team. The agents do the work. By the end you run an entire software project with a full AI engineering team instead of a single assistant.
See lessonsVibe Coding: Advanced Engineering
12 lessons · 7.3h
AI-assisted engineering for people who already ship. Written for senior and staff engineers who know how to code and now want to run models and agents at professional standard. Context engineering, spec-driven development, your own harness, verification loops, review of generated code, legacy archaeology, large migrations, debugging, security, and the judgment to know when not to use AI at all.
See lessonsYour language, your pace
Every course, in 11 languages
Same hands-on lessons, AI tutor, and quizzes. Pick the language you think in.
Every lesson
All 299 lessons across 22 courses. Every one runs on a real machine.
- 1. Hello, PythonWelcome. If you have never written code before, you are in the right place. Python is a...
- 2. Numbers and StringsWelcome back. In lesson 01 you ran your first Python file and learned that a variable is...
- 3. Asking the User a QuestionSo far you have written programs that always do the same thing when you click play. Run...
- 4. Control FlowUp to now your programs have run straight through, top to bottom, one line after the...
- 5. Lists and TuplesSo far each variable has held a single value: one number, one string. Real programs...
- 6. Dictionaries and SetsWelcome back. Lists are great when order matters and you reach for items by position, but...
- 7. FunctionsWelcome back. So far you have used a few functions that came with Python, like print()...
- 8. ComprehensionsYou already know how to write a for loop that builds a new list, dict, or set one item at...
- 9. Files and IOA program that only prints to the terminal forgets everything the moment it finishes. The...
- 10. Modules and PackagesUp to now every program has lived in a single file. That is fine while you are learning,...
- 11. Classes and OOPWelcome to one of the bigger ideas in Python. So far you have used built-in tools...
- 12. Inheritance and CompositionIn lesson 11 you built classes from scratch. In real code, classes rarely live alone....
- 13. Exception HandlingYou have already met errors. Every time you mistyped a name, divided by zero, or asked a...
- 14. Iterators and GeneratorsYou already know how to write for item in something: from earlier lessons. In this lesson...
- 15. DecoratorsWelcome to one of Python's trickier topics. A decorator is a small wrapper you put around...
- 16. Context ManagersWelcome back. Ever since lesson 09 you have been writing with open(...) as f: and...
- 17. Concurrency: Threads and AsyncWelcome back. So far our programs have done one thing at a time, top to bottom, and that...
- 18. Testing with pytestWelcome back. Up to now you have run code and checked the output with your eyes. That...
- 19. Packaging and DeploymentSo far you have written Python that you (and only you) run by typing python something.py....
- 1. Hello, GoWelcome. If you have never written code before, you are in the right place. Go is a...
- 2. Variables and TypesIn the last lesson you printed a fixed piece of text. Real programs need to remember...
- 3. Control Flow: if and forSo far every program you have written runs top to bottom, one line after another, with no...
- 4. FunctionsEvery program you have written so far has lived inside func main(). That works for a...
- 5. Slices and MapsEvery variable you have used so far holds exactly one value: one name, one age, one...
- 6. Structs and PointersEvery variable you have written so far in this course holds one loose value: a single...
- 7. Methods and InterfacesThe last lesson taught you how to bundle related fields into a struct, but a struct on...
- 8. Error HandlingYou have already typed if err != nil more than once in this course without stopping to...
- 9. Modules and Project StructureEvery program you have written in this course so far has lived as a single file you could...
- 10. Tiny CLI CapstoneUp to now every program you have written has had its inputs baked into the source. If you...
- 11. A Tour of the Standard LibraryThere is a moment in learning any language where you stop wondering how to write a loop...
- 12. Testing and BenchmarksYou wrote a function, ran the program, saw the right answer, and moved on. A week later...
- 13. Goroutines and ChannelsYour program needs to download twenty files. Written the ordinary way, it downloads the...
- 14. Concurrency PatternsGoroutines and channels are raw materials, like wood and screws. Knowing what they are...
- 15. GenericsYou write a function that finds the largest number in a slice of int. Then you need one...
- 16. HTTP ServersIn most languages, "write a web service" begins with choosing a framework, and the choice...
- 17. Databases with database/sqlEvery program you have written so far forgets everything the moment it exits. That is...
- 18. Performance and ProfilingAt some point someone says the service is slow, and you open the code and immediately...
- 19. Design Patterns in GoPrograms get big. A file that made complete sense at two hundred lines becomes a place...
- 20. Deployment and ProductionThere is a gap between a program that runs on your laptop and a program you are willing...
- 1. What is React?Welcome. If you have never written a line of JavaScript and you are not sure what a...
- 2. JSX and ComponentsIn the last lesson you saw a component return something that looked like HTML: return...
- 3. PropsEvery component you have written so far has been hardcoded. Greeting always says hello to...
- 4. State with useStateEvery component you have written so far renders the same output for the same props, every...
- 5. Handling EventsA component that only ever renders based on props and state is not interactive on its...
- 6. Conditional Rendering and ListsAlmost every screen you have ever used shows one thing instead of another depending on...
- 7. Forms and Controlled InputsType a letter into a plain HTML <input> and the browser just handles it: the DOM element...
- 8. Effects with useEffectA component's job, so far, has been to look at its current props and state and answer one...
- 9. Data FetchingAlmost no real app can get by showing only data the user already has on their screen. At...
- 10. Component CompositionYou have built a card with a border and a shadow, and it looks good. Now you need the...
- 11. Context and useContextYour app has a dark mode toggle. The toggle lives in the settings panel, but the thing...
- 12. useReducerA checkout form starts simple. There is a value, so you add useState. Then it needs an...
- 13. Custom HooksYou wrote a drawer that opens and closes. Three useState lines and a handler that flips a...
- 14. Performance and MemoizationYour app has a table with two thousand rows and a search box above it. Every keystroke...
- 15. Routing with React RouterEverything you have built so far lives at one address. There is a single page, and...
- 16. Testing React ComponentsYou change one line in a shared component and then spend twenty minutes clicking around...
- 17. Capstone: Todo AppEvery lesson so far handed you one idea at a time with a small example around it. Real...
- 1. The Shell and First CommandsWelcome. If you have never used a terminal before, you are in the right place. A terminal...
- 2. Filesystem and NavigationIn the last lesson you ran a handful of commands and read their output, but you never...
- 3. Files and PermissionsYou can now find your way around the filesystem, but so far you have only looked at files...
- 4. Text Tools: grep, sed, awkAlmost everything on a Linux system is text. Configuration files are text. Logs are text....
- 5. Pipes and RedirectionIn the last lesson you built small pipelines with | almost in passing, sending the output...
- 6. Processes and SignalsType a command and press Enter, and something has to actually be running to carry it out....
- 7. Users and GroupsEvery command you have run so far, you ran as one particular account without ever being...
- 8. Package ManagementSomeone tells you to "just install htop". On Windows or a Mac you would go find a...
- 9. Networking Basics"The site is down." You open it and it works fine from your laptop but not from the...
- 10. Shell ScriptingYou have worked out a sequence of six commands that does something useful: check a...
- 11. systemd ServicesYou wrote a script that works. You run it, it does its job, and then you close your...
- 12. SSH and Remote AccessThe machine you actually need is somewhere else. It is a server in a data centre, a...
- 13. Logs and JournalsA service that was working yesterday is not working now. Nobody changed anything, or so...
- 14. Disks and Storage"No space left on device." The service stops writing, the database refuses connections,...
- 15. Cron and Scheduled TasksYou wrote a backup script and it works beautifully, right up until the evening you forget...
- 16. Performance and MonitoringSomeone messages you: "the server feels slow." That is all you get. Slow could be a...
- 17. Capstone: Server SetupEverything so far has been one idea at a time. Real work is never one idea at a time....
- 1. What Is DockerYou build something on your own computer, and it works. You send it to a teammate, or put...
- 2. Your First ContainerYou now know, in theory, that an image is a sealed package and a container is what...
- 3. Images and the DockerfileSo far you have only opened bags that someone else sealed: hello-world, ubuntu, alpine....
- 4. Building Custom ImagesThe Dockerfile from the last lesson only ever installed software, it never brought any of...
- 5. Container NetworkingYou have run a web server in a container, watched it report that it is listening on port...
- 6. Volumes and PersistenceRun a database in a container, add some rows, remove the container, start it again, and...
- 7. Docker ComposeBy now, starting a realistic application takes four commands and none of them are short....
- 8. Multi-Stage BuildsBuild a container image for a compiled program the obvious way and you get something...
- 9. Environment Variables and SecretsYour image works on your laptop. Now it needs to run in staging with a different...
- 10. Healthchecks and Restart PoliciesYour stack is up. docker ps says everything is running, and the site returns errors. You...
- 11. Image Optimization and SecurityAlmost no production incident involving Docker is a Docker bug. The recurring pattern is...
- 12. Registries and PublishingEvery image you have built so far exists in exactly one place: the Docker daemon on your...
- 13. Capstone: Shipping a StackEvery lesson so far taught one thing against a container that printed a string. That is...
- 1. Init and Your First CommitImagine you are writing an essay in a text editor, and every time you make a meaningful...
- 2. Status, Diff, and LogYou made a commit in the last lesson, and that is exactly one snapshot. Real work...
- 3. Branches and MergingEvery commit you have made so far sits on one single line of history called main. Real...
- 4. Resolving Merge ConflictsThe first time Git refuses to finish a merge, it can feel like something broke. Nothing...
- 5. Remotes: Push, Pull, FetchEverything you have done so far lives only on your own machine. That is fine for...
- 6. Stash and Cherry-pickYou are halfway through a change, files edited, nothing finished, when a teammate...
- 7. RebasingYou branched off main on Monday to add a search box. It is now Thursday, you have three...
- 8. Interactive Rebase and SquashingReal work does not happen in one clean commit. You commit, then you commit again five...
- 9. Tags and ReleasesA branch like main is a moving bookmark. It points at whatever the latest commit happens...
- 10. Branching WorkflowsEverything you have learned so far, branching, merging, rebasing, tagging, tells you what...
- 11. Recovering Lost WorkAt some point you will type a command, press Enter, watch the terminal print something...
- 12. HooksEvery team has a rule that everyone agrees with and everyone forgets. Run the formatter...
- 13. Capstone: A Full Pull Request FlowEverything so far has been one piece at a time: a commit here, a branch there, a rebase...
- 1. What is KubernetesWelcome. If you have used Docker once or twice and now you keep hearing the word...
- 2. Your First PodIn the last lesson you talked to a cluster, but you never asked it to run anything. That...
- 3. Deployments and ReplicaSetsYou saw it yourself at the end of the last lesson: delete a bare Pod, or let it crash,...
- 4. ServicesYou have a Deployment keeping three Pods alive, which solves the problem of Pods dying...
- 5. Probes and Self-HealingA process that has crashed is easy to deal with. It is gone, the operating system...
- 6. ConfigMaps and SecretsRight now, if your container needs a setting, such as a log level or a database username,...
- 7. Volumes and Persistent StorageEverything you have deployed so far has been amnesiac on purpose. A Pod starts, does its...
- 8. Namespaces and LabelsA cluster with six Pods in it is easy. You run kubectl get pods, you see everything, and...
- 9. IngressYou can already get traffic into the cluster. NodePort opens a high-numbered port on...
- 10. Helm BasicsWrite your fifth web application for Kubernetes and you will notice something...
- 11. Scaling and HPAPicture a supermarket with ten checkout lanes but only two cashiers on duty. At nine in...
- 12. RBACEvery command you have run in this course went out as you, the cluster administrator, and...
- 13. ObservabilityAt three in the morning something is wrong. Users are seeing errors. You have a cluster...
- 14. Capstone: Deploy a StackEvery lesson so far has taught one object at a time, and every one of them was...
- 1. What Is AnsibleWelcome. If you have never automated a server in your life, you are in the right place....
- 2. Inventory and Ad Hoc CommandsYou now know Ansible connects to machines over SSH and describes desired state instead of...
- 3. Your First PlaybookAd hoc commands are great for a quick check or a one-off fix, but they do not scale to a...
- 4. Tasks, Modules, and HandlersPicture a playbook that manages a web server. It has three tasks that each touch a...
- 5. Variables and FactsWrite a playbook with the port number, the site name, and the package versions typed...
- 6. Templates with Jinja2Copying a static file to every machine works fine right up until one machine needs a...
- 7. Loops and ConditionalsA playbook that installs one package has one task. A playbook that installs ten packages...
- 8. Roles and GalaxySooner or later you end up with two playbooks that both install nginx, both drop the same...
- 9. Vault and SecretsEverything you have written so far has been safe to show anybody. Inventories, templates,...
- 10. Tags and DebuggingYour playbook started at six tasks and you ran it constantly. Now it is fifty tasks...
- 11. Collections and PluginsEvery module name in this course has carried a prefix you may have been quietly ignoring:...
- 12. Capstone: Multi Host DeployEvery lesson so far taught one piece in isolation: an inventory here, a role there, a...
- 1. What Is BashWelcome. If you have never opened a terminal in your life, you are in the right place....
- 2. Shebang and Your First ScriptIf the word "script" still sounds like something only real programmers write, relax. A...
- 3. Variables and QuotingIf you have never used a variable before, do not worry. It is one of the simplest ideas...
- 4. Conditionals and TestsEvery script you have written so far runs the same lines no matter what. Real scripts...
- 5. LoopsSo far every script you have written runs each line exactly once, top to bottom. That is...
- 6. FunctionsBy now your scripts are starting to repeat themselves. Maybe you log a timestamped...
- 7. ArraysSo far, one variable has held one value. name="Ada" holds one string. If you wanted to...
- 8. String and Arithmetic ExpansionYou will constantly find yourself with a variable that holds almost, but not quite, what...
- 9. IO Redirection and PipesEvery command you run in Bash is, underneath, hooked up to three separate channels,...
- 10. Error Handling and TrapsEvery script you have written so far assumes things go right. A command that cannot find...
- 11. Debugging and Best PracticesAt some point a script you wrote will do something you did not ask it to do. It will...
- 12. Capstone: Server Bootstrap ScriptA brand new server is a machine with nothing on it. Somebody has to install the web...
- 1. What Is HelmWelcome. This course assumes you have already met Kubernetes in our Kubernetes course (or...
- 2. Installing ChartsMost of the time you reach for Helm, you are not writing a chart. You are installing...
- 3. Chart StructureYou have installed someone else's chart and watched Helm turn it into running Pods. That...
- 4. Values and TemplatingLook at templates/deployment.yaml in your scaffolded chart and you will notice it is not...
- 5. Helpers and Named TemplatesOpen a chart with more than one or two manifests and a pattern jumps out immediately: the...
- 6. Dependencies and SubchartsAlmost nothing you deploy actually stands alone. A web service usually wants a cache...
- 7. Release ManagementInstalling a chart the first time is the easy part. The real work starts afterward: a new...
- 8. Hooks and TestsSome work does not fit neatly into "render a manifest and apply it." A database schema...
- 9. Publishing ChartsYour chart works. You can run helm install myapp ./mychart and get a running application,...
- 10. Capstone: Your Own ChartEvery lesson so far handed you a chart and asked you to change one thing in it. That...
- 1. What Is CI/CDPicture a team that ships a web app the old way. Someone finishes a feature, runs the...
- 2. Your First PipelineYou now know the vocabulary: pipelines, stages, jobs, runners. Vocabulary is not the same...
- 3. Jobs and StagesYour pipeline from the last lesson had one job. Real projects never stay that small. A...
- 4. Variables and SecretsA pipeline that behaves exactly the same no matter who pushed it, or which branch they...
- 5. Artifacts and CachesEvery job in a pipeline starts from a clean checkout of your repository and runs inside a...
- 6. Rules and Conditional JobsEvery job you have written so far runs on every single push, no matter which branch it...
- 7. Docker Jobs and ServicesA pipeline runner is a bare machine, and by default it has no idea your project needs...
- 8. Environments and DeploymentsYour deploy job works. It runs scp or kubectl apply or an Ansible playbook, it goes...
- 9. Includes and TemplatesBy your third project, the .gitlab-ci.yml files start to rhyme. The same lint job. The...
- 10. RunnersEverything in this course so far has been a description of work. You wrote script: lines,...
- 11. Capstone: Build, Test, DeployEvery lesson in this course taught one keyword against a toy job. That is how you learn a...
- 1. What Is JenkinsOpen the careers page of almost any bank, telecom, hospital IT department, or game studio...
- 2. Your First Freestyle JobYou have read about what Jenkins is and why it stuck around. None of that matters until...
- 3. Your First Declarative PipelineGo back to the freestyle job you built in the last lesson and imagine six months have...
- 4. Stages, Steps, and Post BlocksYour first pipeline was one sh line, and it worked. A real one is a checkout, a build, a...
- 5. Artifacts and Test ResultsThe build went red at 2am and somebody has to work out why. They open the job, and the...
- 6. Environment and CredentialsYour pipeline needs to push an image to a registry, and the registry wants a password....
- 7. Parallel and Matrix BuildsFive stages, three minutes each, and the pipeline takes fifteen minutes. That number is...
- 8. Agents and DockerThe build passed on Tuesday and failed on Wednesday, with no change to the code. It turns...
- 9. Triggers and SchedulesA pipeline that only runs when somebody clicks Build Now is not continuous integration,...
- 10. Shared LibrariesOpen three Jenkinsfiles in your organisation and you will find the same fifteen lines of...
- 11. Capstone: Pipeline as Code for a Node.js AppTime to wire everything together. You are going to write one Jenkinsfile that does the...
- 1. What is PostgreSQLImagine you are keeping track of every customer, order, and product for a small shop in a...
- 2. psql and First CommandsYou now know what Postgres is for. The next problem is more practical: how do you...
- 3. Creating Databases and TablesSo far you have only looked around a server someone else set up. That is fine for...
- 4. Data TypesEvery column you have created so far has had a type attached to it, TEXT, SERIAL,...
- 5. SELECT and WHEREYou have a table with a few thousand rows in it and you need seven of them. Not all of...
- 6. JoinsYour data is not in one table, and it should not be. Users live in users, their posts...
- 7. Aggregates and GroupingSomebody asks you how the shop did last month. They do not want the four thousand order...
- 8. IndexesThe query worked fine on your laptop with two hundred test rows. In production, against...
- 9. Transactions and IsolationTwo UPDATE statements move money from Alice to Bob. The first one runs, the connection...
- 10. Functions and TriggersEvery table in your schema has an updated_at column, and every one of them is wrong. Not...
- 11. JSONB and ArraysSome data refuses to sit still in columns. A products table where laptops have a RAM...
- 12. EXPLAIN and Query TuningA page that used to load instantly now takes nine seconds, and the instinct is to start...
- 13. Backup and RestoreThe nightly job has been writing a file to disk for eight months and nobody has ever...
- 14. Capstone: Design a SchemaEvery lesson so far handed you a table and asked you to query it. Real work runs the...
- 1. What is MySQLWelcome. If you have never used a database before, you are in the right place. This...
- 2. The mysql CLI and First CommandsThe last lesson was all talk: what MySQL is, where it came from, why it exists. None of...
- 3. Creating Databases and TablesEverything you did last lesson was look. You connected, browsed the system databases, and...
- 4. Data TypesLook back at the products table from the last lesson and you will notice every column had...
- 5. SELECT and WHEREYour table has ten thousand products in it and you need the six that are out of stock in...
- 6. JoinsYour users live in one table and their orders live in another, and the only thread...
- 7. Aggregates and GroupingSomebody asks how the EU region did last quarter. They do not want four thousand rows,...
- 8. IndexesThe login endpoint worked fine with two hundred test users. In production, with four...
- 9. Transactions and Storage EnginesTwo UPDATE statements move twenty pounds from Ada to Bilal. The first runs, the...
- 10. Stored Procedures and TriggersEvery order in the system is supposed to be written to an audit log. Most of them are....
- 11. EXPLAIN and Query Tuning"This query is slow." You will hear that sentence for the rest of your career, and the...
- 12. mysqldump and RestoreThe nightly job has been writing a file to disk for eight months and nobody has ever...
- 13. Capstone: Design an Ecommerce SchemaEvery lesson so far handed you a table and asked you to query it. Real work runs the...
- 1. What Is The WebWelcome. If you have never thought about what actually happens when you type a URL into a...
- 2. HTTP vs HTTPSPicture yourself on the free wifi at a coffee shop. Someone else on that same network,...
- 3. Request and Response AnatomyYou already know that a browser sends a request and a server sends back a response. What...
- 4. Cookies, Sessions, and TokensHTTP has no memory. Every single request you send is treated by the server as if it had...
- 5. DNS ExplainedYou point a domain at a new server, the change goes in, and it works from your laptop and...
- 6. TLS and CertificatesTLS is the layer that turns plain HTTP into HTTPS. By the end of this lesson you will...
- 7. CORSYour frontend runs on localhost:3000, your API runs on localhost:8000, and the request...
- 8. REST API BasicsYou are asked to add an endpoint to an existing API and you freeze on the first decision:...
- 9. WebSockets and SSEYour feature is "show the new message the instant it arrives". Every tool you have...
- 10. Caching and CDNsYour homepage takes 900 milliseconds to build, and it builds the same thing for the ten...
- 11. Security HeadersA security review lands on your desk with fourteen items on it, and six of them turn out...
- 12. Rate Limiting and ThrottlingAt 09:14 your API starts timing out for everybody. Nothing was deployed. It turns out one...
- 13. Monitoring and LoggingIt is three in the morning and a customer says checkout is failing. You have a name, a...
- 14. Capstone: A Tiny Web ServerEvery lesson in this course explained a header from the outside. You learned what...
- 1. Hello, TypeScriptHere is a small JavaScript program that is completely broken, and that JavaScript will...
- 2. Type BasicsYou can already run a .ts file. Now let's meet the basic building blocks: the primitive...
- 3. Arrays and TuplesA single value is rarely enough. You have a list of temperatures, a list of names, a list...
- 4. Object Types and InterfacesPrimitives and arrays carry you a long way, but most real data has a shape: a user has a...
- 5. FunctionsFunctions are where most of the bugs live and where types pay off the most. A function's...
- 6. Union and Literal TypesSome values are not one thing. A function that looks up a user either finds one or does...
- 7. Type NarrowingA union says "this value is one of several types". Narrowing is the compiler's process of...
- 8. Type Aliases vs InterfacesYou have been writing object shapes inline, and it has been fine because the shapes were...
- 9. Optional, Readonly, and NullableThe single most common runtime error in JavaScript reads like this:
- 10. EnumsSome values come from a short, fixed list. An order is pending, shipped or delivered. A...
- 11. GenericsYou need a function that takes an array and returns its first element. Easy:
- 12. ClassesHere is a bank account written as a plain object:
- 13. Inheritance and Abstract ClassesYou have written three classes for a payments system: CardPayment, BankTransfer and...
- 14. ModulesEvery TypeScript file is its own module. The moment a file has an import or export, its...
- 15. Utility TypesTypeScript ships with a small library of generic types that take a type as input and...
- 16. Mapped and Conditional TypesThe utility types you just used (Partial, Pick, Record, ReturnType) are all built from...
- 17. Declaration Files and LibrariesYou install a library, import it, and your editor lights up with autocomplete, parameter...
- 18. tsconfig and the Compilertsconfig.json is the file the TypeScript compiler reads to figure out what to compile and...
- 1. The Vibe Coder MindsetYou have probably already had the experience. You ask an AI for a function, it produces...
- 2. Tools of the Trade: Setting Up for SuccessAsk ten people who are productive with AI coding tools what their setup is and you will...
- 3. Prompt Crafting: Talking to AI Like a ProYou will ask an AI for code hundreds of times a day, and the quality of what comes back...
- 4. From Autocomplete to ArchitectureAlmost everyone starts in the same place: AI as a very good autocomplete. Finish this...
- 5. Debugging with AI: When It Breaks, Fix It FastEveryone's code breaks. AI-assisted code breaks in a particular way that is worth naming:...
- 6. The Art of Refactoring AI CodeAI-generated code has a recognisable signature: it works, and it is a little worse than...
- 7. Performance, Scaling, and ReliabilityAt some point the code has to be fast enough, handle enough load, and stay up when things...
- 8. Building Full Systems with AIA function is easy. A system is many functions that have to agree with each other. This...
- 9. Team Vibes: Collaborating with AI and HumansWorking with an AI on your own project has one reader: you. The moment the same output...
- 10. Vibe Coding in the Real World: Projects, Clients, and Legacy CodeTutorials give you clean, empty files. Real work gives you a decade-old codebase nobody...
- 11. Staying Sharp: Learning, Adapting, and Leveling UpThere is a real risk hiding inside vibe coding: if the AI does all the thinking, your own...
- 12. The Future of Code and Where You Fit InYou have learned the mindset, the tools, the craft, and the cautions. This last lesson...
- 1. What a Prompt IsYou have probably typed into a chat box before: asked a question, gotten an answer, maybe...
- 2. How Large Language Models Generate TextYou now know what a prompt and a completion are, and that the same prompt can come back...
- 3. The Five Principles of PromptingYou already know what a prompt is, what a completion is, and that the model is writing a...
- 4. Standard Practices for Text GenerationLessons two and three gave you a feel for how the model actually produces text one token...
- 5. Prompt Templates and Function CallingIn lesson four you formatted a single prompt by hand: delimiters, roles, a few-shot...
- 6. Vector Databases and Retrieval-Augmented GenerationIn lesson 2 you saw why a model hallucinates: it predicts likely next tokens, it does not...
- 7. Autonomous Agents: Memory and ToolsIn lesson 5 you gave a model tools through function calling, and in lesson 6 you gave it...
- 8. How Diffusion Models Generate ImagesUntil now every prompt you wrote produced text. This lesson opens Part 3, where the same...
- 9. Standard Practices for Image GenerationThe previous lesson gave you the intuition for how a diffusion model turns a text prompt...
- 10. Advanced Image Techniques: Inpainting, Outpainting, and ControlNetIn the last two lessons you generated whole images from a text prompt and learned to...
- 11. Building AI-Powered ApplicationsThis is the capstone. Every earlier lesson taught one move: generating text, shaping...
- 1. AI Is Not MagicYou are about to build software by describing what you want to an AI, which will write...
- 2. Thinking Before PromptingIn the last lesson you saw that AI is a capable but fallible assistant, and that a vague...
- 3. Explaining Your IdeaIn the last two lessons you learned that AI is a capable but fallible assistant, and that...
- 4. Talking to AIIn the last lessons you learned to think before you prompt and to explain your idea...
- 5. Learning What You Don't KnowSo far you have practiced thinking, explaining, and holding a conversation with an AI....
- 6. Breaking Down Big ProblemsYou have an idea for something real now, maybe a whole app. The temptation is to describe...
- 7. Reviewing AI's WorkIn lesson 1 you learned that the AI is a fast, confident helper that is sometimes wrong,...
- 8. Build Your First ProductThis is the lesson everything so far was building toward. You have learned to think...
- 9. Fixing Problems with AIBy now you have built a real product with the AI. Sooner or later something will not...
- 10. Making It BetterIn the last two lessons you built a first version of a product and fixed the problems...
- 11. AI WorkflowsBy now you have built a product, fixed problems in it, and made it better, all by...
- 12. Becoming an AI BuilderThis is the last lesson, and it is the one where everything comes together. You have...
- 1. Preparing Your ProductWelcome to the second course. In the fundamentals course you built something that works,...
- 2. Building a Strong FoundationIn the last lesson you looked honestly at the project you built in the fundamentals...
- 3. Managing Users and AuthenticationThe project you built in the fundamentals course worked, but it treated everyone the...
- 4. Working with DataIn the last lesson you gave the project you built in the fundamentals course a way to...
- 5. Keeping Your Product SecureIn the last lessons you gave the project you built in the fundamentals course real...
- 6. Testing Before ReleaseSo far in this course you have added real sign-up and login, a proper data layer, and...
- 7. Working with Multiple AI AgentsSo far you have added real accounts, a data layer, security, and tests to the project you...
- 8. Deploying to ProductionSo far your product has lived on your screen. It runs in this workspace, you click...
- 9. Monitoring Your ProductYour product is live now. Real people can reach it, which means real things can go wrong...
- 10. Scaling Your ProductYour product is deployed at a real address and, thanks to the last lesson, you find out...
- 11. Maintaining and Improving Your ProductYour product is live. Real people can reach it, sign up, and use it. That is a milestone,...
- 12. Running a Real ProductThis is the last lesson of the course, and it is the one where everything comes together....
- 1. Thinking Like an Engineering LeaderIn the first two courses you learned to build a product and ship it to real users, all by...
- 2. Creating Specialized AI AgentsIn the last lesson you changed chairs, from builder to engineering leader who plans and...
- 3. Giving Every Agent a RoleIn the last lesson you designed a team: a product manager, an architect, a developer, a...
- 4. Managing AI CollaborationIn the last three lessons you designed a team of agents, gave each one a role, and...
- 5. AI Code ReviewsIn the last lesson you drove a small feature through a planner, a developer, and a...
- 6. AI Project ManagementSo far you have learned to lead a team of AI agents: giving each one a focused role,...
- 7. AI DevOpsYou already led a team of agents to build the product, review it, and run the project. In...
- 8. AI Security TeamsYou have a product in front of real users and a DevOps agent that ships it. In course 2...
- 9. AI OperationsYour product is live and real people are using it. That changes the job. Building was...
- 10. Building Your Own AI WorkflowAcross this course you have met every role a modern engineering team needs: a product...
- 11. Scaling AI TeamsYou have learned to lead a team of AI agents: giving each a focused role, handing work...
- 12. Becoming an AI Engineering LeaderThis is the last lesson of the advanced course and the last lesson of the whole...
- 1. Context Is The Whole GameAlmost every complaint about AI coding tools ("it hallucinated an API", "it rewrote code...
- 2. Pick The Right Brain, Pay The Right PriceModel selection is an engineering decision with the same shape as choosing a database or...
- 3. Spec-Driven DevelopmentThe fastest way to get correct code out of a model is to stop describing what you want...
- 4. Build Your HarnessEngineers who get consistently good results from models are rarely writing better prompts...
- 5. Verification Loops: Make It Prove ItselfA model will tell you its code is correct. It is not lying and it is not right; it has no...
- 6. Reading Generated Code Like A SeniorYou already know how to review code. What changes with generated code is the distribution...
- 7. Legacy ArchaeologyHanding a model a codebase nobody understands and asking "what does this do?" is one of...
- 8. Migrations At ScaleAsking a model to change four hundred files is the point where AI assistance either...
- 9. Debugging Code You Did Not WriteDebugging your own code starts with an advantage: you remember what you were trying to...
- 10. The Security Model Of An AgentAn agent with tools is a program that takes instructions from text and acts on your...
- 11. AI On A TeamIndividual productivity gains from AI are real and they do not automatically become team...
- 12. Judgment: Knowing When Not ToEvery lesson so far has been about doing this well. This one is about the decision that...
