Jon Tiller
For builders, not computer scientists

Jon
Tiller

Most AI failures aren't model failures — they're system failures. This course teaches the mental models engineers develop over years: how systems behave under pressure, why integrations break in unexpected ways, and how that understanding changes what you build with AI.

12 Modules
182K Students
★ 4.9 Rating

Twelve modules

What every AI builder needs to understand

Thinking in Systems

Why systems behave in ways no individual part intended.

Data and State

What data is, how it changes, and why stale state breaks everything.

APIs and Communication

How services talk, what contracts mean, and why integrations fail silently.

Async and Concurrency

What happens when things don't run in order, and why timing matters.

Testing and Validation

How to know if something works, and the real cost of skipping it.

Reliability and Error Handling

What failure looks like in production, and how to design for it.

Scaling and Performance

Why performance matters before it becomes a problem, and what to watch.

Security Basics

What attackers look for, and the new attack surfaces AI systems introduce.

Module breakdown

Each module in detail

01 Foundation

Introduction

Why AI makes building easy but systems hard — and what separates a working demo from a system that holds up in the real world.

AI and systemsReal-world complexityCourse framing
Building with AI lowers the floor but raises the ceiling of what can go wrong.
02 Foundation

System Thinking

Everything you build is a system. Understanding components, interactions, data flow, and side effects is what lets you reason about behaviour before it surprises you in production.

ComponentsData flowSide effectsDependencies
Systems produce outcomes that no single component intended.
03 Foundation

Where Your Code Runs

Client, server, web, native — where code runs determines what it can do, what it can access, and who can be trusted. Most security and performance problems start with a misunderstanding here.

Client vs serverWeb vs nativeTrust boundariesTrade-offs
Misplaced trust boundaries are the root cause of most application security failures.
04 Foundation

Working Safely with AI

AI tools can write code faster than you can review it. Understanding how AI modifies code, what churn looks like, and how to iterate with control keeps you in charge of the system you're building.

AI code changesCode churnIterating safelyChange control
Speed without control produces technical debt faster than it produces features.
05 Foundation

Version Control and Testing

Commits, history, and tests are how you preserve the ability to change things safely. Without them, every change is a risk you cannot quantify and cannot reverse.

Version controlUnit testsIntegration testsRegressions
Without version control and tests, every change is a gamble with no undo.
06 Foundation

Data and State

What your system knows at any moment is determined by its state. Understanding persistent vs temporary data, consistency, and data quality is fundamental to building systems that behave predictably.

State managementData qualityConsistencyLifecycle
AI models are only as reliable as the data pipeline feeding them.
07 Production

APIs and Communication

Modern systems communicate through APIs. Understanding requests, responses, contracts, and the difference between synchronous and asynchronous communication is the basis for building reliable integrations.

RESTWebSocketSync vs asyncContracts
Silent API failures are the hardest class of bugs to diagnose.
08 Production

Reliability and Concurrency

Production systems fail. Multi-user systems run code simultaneously. Understanding error handling, retries, idempotency, and race conditions is what separates systems that recover from systems that don't.

Error handlingRetriesIdempotencyRace conditions
Concurrency bugs are non-deterministic — they disappear when you look for them.
09 Production

Security and Privacy

Security is not a feature you add at the end. From input validation to authentication, secrets management, and data exposure, understanding the attack surface of your system is a building requirement.

Input validationAuthenticationOWASPSecretsPrivacy
Most security incidents come from misplaced trust, not sophisticated attacks.
10 Production

Architecture and Dependencies

How you structure a system determines how it evolves. Monolith vs services, separation of concerns, and third-party dependencies all create constraints that compound over time.

Monolith vs servicesSeparation of concernsDependencies
Architectural decisions made early are the most expensive to reverse later.
11 Production

Deployment and Operations

Code that isn't in production isn't delivering value. Understanding CI/CD, environments, configuration, logging, and how to debug in production closes the loop between building and operating.

CI/CDEnvironmentsLoggingMonitoringDebugging
Most production failures are discovered by users, not monitoring — until you build it properly.
12 Production

Scaling, Performance and Cost

Systems that work for ten users often break for a thousand. Caching, performance basics, rate limiting, and cost awareness are what keep a growing system from becoming an expensive liability.

CachingPerformanceRate limitingCost awarenessGrowth
Performance problems found in production cost ten times more to fix than those found in design.
Structured progression

From guesswork
to grounded decisions.

The modules build on each other deliberately. Foundations first — how systems behave, how data flows, how services communicate. Then production realities: what fails, what slows, what exposes you to risk.

  • No prerequisite engineering knowledge
  • Focused on consequences, not implementation
  • Each module completes in under an hour
View full curriculum
Foundation
How systems behave
Modules 01 – 04 · ~3 hours
2
In progress
How systems fail
Modules 05 – 06 · ~2 hours
3
Up next
How to build confidently
Modules 07 – 08 · ~2 hours

Better understanding.
Better decisions.

Twelve focused modules. No prior engineering background required. Start for free — complete the first module and decide if it's for you.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.