ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
84% of students already use AI tools. Only 18% feel prepared to use them professionally. This curriculum closes that gap.
428 lessons. 20 phases. ~320 hours. Python, TypeScript, Rust, Julia. Every lesson ships a reusable artifact: a prompt, a skill, an agent, an MCP server. Free, open source, MIT.
You don't just learn AI. You build it. End-to-end. By hand.
How this works
Most AI material teaches in scattered pieces. A paper here, a fine-tuning post there, a flashy agent demo somewhere else. The pieces rarely line up. You ship a chatbot but can't explain its loss curve. You hook a function to an agent but can't say what attention does inside the model that's calling it.
This curriculum is the spine. 20 phases, 428 lessons, four languages: Python, TypeScript, Rust, Julia. Linear algebra at one end, autonomous swarms at the other. Every algorithm gets built from raw math first. Backprop. Tokenizer. Attention. Agent loop. By the time PyTorch shows up, you already know what it's doing under the hood.
Each lesson runs the same loop: read the problem, derive the math, write the code, run the test, keep the artifact. No five-minute videos, no copy-paste deploys, no hand-holding. Free, open source, and built to run on your own laptop.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The shape of the curriculum
Twenty phases stack on top of each other. Math is the floor. Agents and production are the roof. Skip ahead if you already know the lower layers, but don't skip and then wonder why something at the top is breaking.
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff','fontFamily':'JetBrains Mono','fontSize':'12px'}}}%%
flowchart TB
P0["Phase 0 β Setup & Tooling"] --> P1["Phase 1 β Math Foundations"]
P1 --> P2["Phase 2 β ML Fundamentals"]
P2 --> P3["Phase 3 β Deep Learning Core"]
P3 --> P4["Phase 4 β Vision"]
P3 --> P5["Phase 5 β NLP"]
P3 --> P6["Phase 6 β Speech & Audio"]
P3 --> P9["Phase 9 β RL"]
P5 --> P7["Phase 7 β Transformers"]
P7 --> P8["Phase 8 β GenAI"]
P7 --> P10["Phase 10 β LLMs from Scratch"]
P10 --> P11["Phase 11 β LLM Engineering"]
P10 --> P12["Phase 12 β Multimodal"]
P11 --> P13["Phase 13 β Tools & Protocols"]
P13 --> P14["Phase 14 β Agent Engineering"]
P14 --> P15["Phase 15 β Autonomous Systems"]
P15 --> P16["Phase 16 β Multi-Agent & Swarms"]
P14 --> P17["Phase 17 β Infrastructure & Production"]
P15 --> P18["Phase 18 β Ethics & Alignment"]
P16 --> P19["Phase 19 β Capstone Projects"]
P17 --> P19
P18 --> P19
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The shape of a lesson
Each lesson lives in its own folder, with the same structure across the entire curriculum:
phases/<NN>-<phase-name>/<NN>-<lesson-name>/
βββ code/ runnable implementations (Python, TypeScript, Rust, Julia)
βββ docs/
β βββ en.md lesson narrative
βββ outputs/ prompts, skills, agents, or MCP servers this lesson produces
Every lesson follows six beats. The Build It / Use It split is the spine β you implement the algorithm from scratch first, then run the same thing through the production library. You understand what the framework is doing because you wrote the smaller version yourself.
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#fafaf5','primaryTextColor':'#1a1a1a','primaryBorderColor':'#3553ff','lineColor':'#3553ff','fontFamily':'JetBrains Mono','fontSize':'13px'}}}%%
flowchart LR
M["MOTTO<br/><sub>one-line core idea</sub>"] --> Pr["PROBLEM<br/><sub>concrete pain</sub>"]
Pr --> C["CONCEPT<br/><sub>diagrams & intuition</sub>"]
C --> B["BUILD IT<br/><sub>raw math, no frameworks</sub>"]
B --> U["USE IT<br/><sub>same thing in PyTorch / sklearn</sub>"]
U --> S["SHIP IT<br/><sub>prompt Β· skill Β· agent Β· MCP</sub>"]
Getting started
Three ways in. Pick one.
Option A β read. Open any completed lesson on aiengineeringfromscratch.com or expand a phase under Contents. No setup, no cloning.
Option B β clone and run.
git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
python phases/01-math-foundations/01-linear-algebra-intuition/code/vectors.py
Option C β find your level (recommended). Skip ahead intelligently. Inside Claude, Cursor, Codex, OpenClaw, Hermes, or any agent with SkillKit installed:
/find-your-level
Ten questions. Maps your knowledge to a starting phase, builds a personalized path with hour estimates. After each phase:
/check-understanding 3 # quiz yourself on phase 3
ls phases/03-deep-learning-core/05-loss-functions/outputs/
# βββ prompt-loss-function-selector.md
# βββ prompt-loss-debugger.md
Prerequisites
- You can write code (any language; Python helps).
- You want to understand how AI actually works, not just call APIs.
Built-in agent skills (SkillKit / Claude, Cursor, Codex, OpenClaw, Hermes)
| Skill | What it does |
|---|---|
/find-your-level | Ten-question placement quiz. Maps your knowledge to a starting phase and produces a personalized path with hour estimates. |
/check-understanding <phase> | Per-phase quiz, eight questions, with feedback and specific lessons to review. |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Every lesson ships something
Other curricula end with "congratulations, you learned X." Each lesson here ends with a reusable tool you can install or paste into your daily workflow.
<table> <tr> <th align="left" width="25%"><img src="site/assets/figures/001-a-prompts.svg" width="96" height="96" alt="FIG_001.A prompts"/><br/><sub>FIG_001 Β· A</sub><br/><b>PROMPTS</b></th> <th align="left" width="25%"><img src="site/assets/figures/001-b-skills.svg" width="96" height="96" alt="FIG_001.B skills"/><br/><sub>FIG_001 Β· B</sub><br/><b>SKILLS</b></th> <th align="left" width="25%"><img src="site/assets/figures/001-c-agents.svg" width="96" height="96" alt="FIG_001.C agents"/><br/><sub>FIG_001 Β· C</sub><br/><b>AGENTS</b></th> <th align="left" width="25%"><img src="site/assets/figures/001-d-mcp-servers.svg" width="96" height="96" alt="FIG_001.D MCP servers"/><br/><sub>FIG_001 Β· D</sub><br/><b>MCP SERVERS</b></th> </tr> <tr> <td valign="top">Paste into any AI assistant for expert-level help on a narrow task.</td> <td valign="top">Drop into Claude, Cursor, Codex, OpenClaw, Hermes, or any agent that reads <code>SKILL.md</code>.</td> <td valign="top">Deploy as autonomous workers β you wrote the loop yourself in Phase 14.</td> <td valign="top">Plug into any MCP-compatible client. Built end-to-end in Phase 13.</td> </tr> </table>Install the lot with SkillKit. Real tools, not homework. By the end of the curriculum, you have a portfolio of 428 artifacts you actually understand because you built them.
FIG_002 Β· A worked sample
Phase 14, lesson 1: the agent loop. ~120 lines of pure Python, no dependencies.
<table> <tr> <td valign="top" width="50%">code/agent_loop.py Β <sub><i>build it</i></sub>
def run(query, tools):
history = [user(query)]
for step in range(MAX_STEPS):
msg = llm(history)
if msg.tool_calls:
for call in msg.tool_calls:
result = tools[call.name](**call.args)
history.append(tool_result(call.id, result))
continue
return msg.content
raise StepLimitExceeded
</td>
<td valign="top" width="50%">
outputs/skill-agent-loop.md Β <sub><i>ship it</i></sub>
---
name: agent-loop
description: ReAct-style loop for any tool list
phase: 14
lesson: 01
---
Implement a minimal agent loop that...
outputs/prompt-debug-agent.md
You are an agent debugger. Given the trace
of an agent run, identify the step where
the agent went wrong and explain why...
</td>
</tr>
</table>
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
<a id="contents"></a>
Contents
Twenty phases. Click any phase to expand its lesson list.
<a id="phase-0"></a>
Phase 0: Setup & Tooling 12 lessons
Get your environment ready for everything that follows.
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Dev Environment | Build | Python, TypeScript, Rust |
| 02 | Git & Collaboration | Learn | β |
| 03 | GPU Setup & Cloud | Build | Python |
| 04 | APIs & Keys | Build | Python, TypeScript |
| 05 | Jupyter Notebooks | Build | Python |
| 06 | Python Environments | Build | Python |
| 07 | Docker for AI | Build | Python |
| 08 | Editor Setup | Build | β |
| 09 | Data Management | Build | Python |
| 10 | Terminal & Shell | Learn | β |
| 11 | Linux for AI | Learn | β |
| 12 | Debugging & Profiling | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Linear Algebra Intuition | Learn | Python, Julia |
| 02 | Vectors, Matrices & Operations | Build | Python, Julia |
| 03 | Matrix Transformations & Eigenvalues | Build | Python, Julia |
| 04 | Calculus for ML: Derivatives & Gradients | Learn | Python |
| 05 | Chain Rule & Automatic Differentiation | Build | Python |
| 06 | Probability & Distributions | Learn | Python |
| 07 | Bayes' Theorem & Statistical Thinking | Build | Python |
| 08 | Optimization: Gradient Descent Family | Build | Python |
| 09 | Information Theory: Entropy, KL Divergence | Learn | Python |
| 10 | Dimensionality Reduction: PCA, t-SNE, UMAP | Build | Python |
| 11 | Singular Value Decomposition | Build | Python, Julia |
| 12 | Tensor Operations | Build | Python |
| 13 | Numerical Stability | Build | Python |
| 14 | Norms & Distances | Build | Python |
| 15 | Statistics for ML | Build | Python |
| 16 | Sampling Methods | Build | Python |
| 17 | Linear Systems | Build | Python |
| 18 | Convex Optimization | Build | Python |
| 19 | Complex Numbers for AI | Learn | Python |
| 20 | The Fourier Transform | Build | Python |
| 21 | Graph Theory for ML | Build | Python |
| 22 | Stochastic Processes | Learn | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | What Is Machine Learning | Learn | Python |
| 02 | Linear Regression from Scratch | Build | Python |
| 03 | Logistic Regression & Classification | Build | Python |
| 04 | Decision Trees & Random Forests | Build | Python |
| 05 | Support Vector Machines | Build | Python |
| 06 | KNN & Distance Metrics | Build | Python |
| 07 | Unsupervised Learning: K-Means, DBSCAN | Build | Python |
| 08 | Feature Engineering & Selection | Build | Python |
| 09 | Model Evaluation: Metrics, Cross-Validation | Build | Python |
| 10 | Bias, Variance & the Learning Curve | Learn | Python |
| 11 | Ensemble Methods: Boosting, Bagging, Stacking | Build | Python |
| 12 | Hyperparameter Tuning | Build | Python |
| 13 | ML Pipelines & Experiment Tracking | Build | Python |
| 14 | Naive Bayes | Build | Python |
| 15 | Time Series Fundamentals | Build | Python |
| 16 | Anomaly Detection | Build | Python |
| 17 | Handling Imbalanced Data | Build | Python |
| 18 | Feature Selection | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | The Perceptron: Where It All Started | Build | Python |
| 02 | Multi-Layer Networks & Forward Pass | Build | Python |
| 03 | Backpropagation from Scratch | Build | Python |
| 04 | Activation Functions: ReLU, Sigmoid, GELU & Why | Build | Python |
| 05 | Loss Functions: MSE, Cross-Entropy, Contrastive | Build | Python |
| 06 | Optimizers: SGD, Momentum, Adam, AdamW | Build | Python |
| 07 | Regularization: Dropout, Weight Decay, BatchNorm | Build | Python |
| 08 | Weight Initialization & Training Stability | Build | Python |
| 09 | Learning Rate Schedules & Warmup | Build | Python |
| 10 | Build Your Own Mini Framework | Build | Python |
| 11 | Introduction to PyTorch | Build | Python |
| 12 | Introduction to JAX | Build | Python |
| 13 | Debugging Neural Networks | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Audio Fundamentals: Waveforms, Sampling, FFT | Learn | Python |
| 02 | Spectrograms, Mel Scale & Audio Features | Build | Python |
| 03 | Audio Classification | Build | Python |
| 04 | Speech Recognition (ASR) | Build | Python |
| 05 | Whisper: Architecture & Fine-Tuning | Build | Python |
| 06 | Speaker Recognition & Verification | Build | Python |
| 07 | Text-to-Speech (TTS) | Build | Python |
| 08 | Voice Cloning & Voice Conversion | Build | Python |
| 09 | Music Generation | Build | Python |
| 10 | Audio-Language Models | Build | Python |
| 11 | Real-Time Audio Processing | Build | Python, Rust |
| 12 | Build a Voice Assistant Pipeline | Build | Python |
| 13 | Neural Audio Codecs β EnCodec, SNAC, Mimi, DAC | Learn | Python |
| 14 | Voice Activity Detection & Turn-Taking | Build | Python |
| 15 | Streaming Speech-to-Speech β Moshi, Hibiki | Learn | Python |
| 16 | Voice Anti-Spoofing & Audio Watermarking | Build | Python |
| 17 | Audio Evaluation β WER, MOS, MMAU, Leaderboards | Learn | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Why Transformers: The Problems with RNNs | Learn | Python |
| 02 | Self-Attention from Scratch | Build | Python |
| 03 | Multi-Head Attention | Build | Python |
| 04 | Positional Encoding: Sinusoidal, RoPE, ALiBi | Build | Python |
| 05 | The Full Transformer: Encoder + Decoder | Build | Python |
| 06 | BERT β Masked Language Modeling | Build | Python |
| 07 | GPT β Causal Language Modeling | Build | Python |
| 08 | T5, BART β Encoder-Decoder Models | Learn | Python |
| 09 | Vision Transformers (ViT) | Build | Python |
| 10 | Audio Transformers β Whisper Architecture | Learn | Python |
| 11 | Mixture of Experts (MoE) | Build | Python |
| 12 | KV Cache, Flash Attention & Inference Optimization | Build | Python |
| 13 | Scaling Laws | Learn | Python |
| 14 | Build a Transformer from Scratch | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Generative Models: Taxonomy & History | Learn | Python |
| 02 | Autoencoders & VAE | Build | Python |
| 03 | GANs: Generator vs Discriminator | Build | Python |
| 04 | Conditional GANs & Pix2Pix | Build | Python |
| 05 | StyleGAN | Build | Python |
| 06 | Diffusion Models β DDPM from Scratch | Build | Python |
| 07 | Latent Diffusion & Stable Diffusion | Build | Python |
| 08 | ControlNet, LoRA & Conditioning | Build | Python |
| 09 | Inpainting, Outpainting & Editing | Build | Python |
| 10 | Video Generation | Build | Python |
| 11 | Audio Generation | Build | Python |
| 12 | 3D Generation | Build | Python |
| 13 | Flow Matching & Rectified Flows | Build | Python |
| 14 | Evaluation: FID, CLIP Score | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | MDPs, States, Actions & Rewards | Learn | Python |
| 02 | Dynamic Programming | Build | Python |
| 03 | Monte Carlo Methods | Build | Python |
| 04 | Q-Learning, SARSA | Build | Python |
| 05 | Deep Q-Networks (DQN) | Build | Python |
| 06 | Policy Gradients β REINFORCE | Build | Python |
| 07 | Actor-Critic β A2C, A3C | Build | Python |
| 08 | PPO | Build | Python |
| 09 | Reward Modeling & RLHF | Build | Python |
| 10 | Multi-Agent RL | Build | Python |
| 11 | Sim-to-Real Transfer | Build | Python |
| 12 | RL for Games | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Prompt Engineering: Techniques & Patterns | Build | Python |
| 02 | Few-Shot, CoT, Tree-of-Thought | Build | Python |
| 03 | Structured Outputs | Build | Python, TypeScript |
| 04 | Embeddings & Vector Representations | Build | Python |
| 05 | Context Engineering | Build | Python, TypeScript |
| 06 | RAG: Retrieval-Augmented Generation | Build | Python, TypeScript |
| 07 | Advanced RAG: Chunking, Reranking | Build | Python |
| 08 | Fine-Tuning with LoRA & QLoRA | Build | Python |
| 09 | Function Calling & Tool Use | Build | Python |
| 10 | Evaluation & Testing | Build | Python |
| 11 | Caching, Rate Limiting & Cost | Build | Python |
| 12 | Guardrails & Safety | Build | Python |
| 13 | Building a Production LLM App | Build | Python |
| 14 | Model Context Protocol (MCP) | Build | Python |
| 15 | Prompt Caching & Context Caching | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | The Tool Interface | Learn | Python |
| 02 | Function Calling Deep Dive | Build | Python |
| 03 | Parallel and Streaming Tool Calls | Build | Python |
| 04 | Structured Output | Build | Python |
| 05 | Tool Schema Design | Learn | Python |
| 06 | MCP Fundamentals | Learn | Python |
| 07 | Building an MCP Server | Build | Python |
| 08 | Building an MCP Client | Build | Python |
| 09 | MCP Transports | Learn | Python |
| 10 | MCP Resources and Prompts | Build | Python |
| 11 | MCP Sampling | Build | Python |
| 12 | MCP Roots and Elicitation | Build | Python |
| 13 | MCP Async Tasks | Build | Python |
| 14 | MCP Apps | Build | Python |
| 15 | MCP Security I β Tool Poisoning | Learn | Python |
| 16 | MCP Security II β OAuth 2.1 | Build | Python |
| 17 | MCP Gateways and Registries | Learn | Python |
| 18 | MCP Auth in Production β DCR + JWKS on iii | Build | Python |
| 19 | A2A Protocol | Build | Python |
| 20 | OpenTelemetry GenAI | Build | Python |
| 21 | LLM Routing Layer | Learn | Python |
| 22 | Skills and Agent SDKs | Learn | Python |
| 23 | Capstone β Tool Ecosystem | Build | Python |
| # | Lesson | Type | Lang |
|---|---|---|---|
| 01 | Managed LLM Platforms β Bedrock, Azure OpenAI, Vertex AI | Learn | Python |
| 02 | Inference Platform Economics β Fireworks, Together, Baseten, Modal | Learn | Python |
| 03 | GPU Autoscaling on Kubernetes β Karpenter, KAI Scheduler | Learn | Python |
| 04 | vLLM Serving Internals β PagedAttention, Continuous Batching, Chunked Prefill | Learn | Python |
| 05 | EAGLE-3 Speculative Decoding in Production | Learn | Python |
| 06 | SGLang and RadixAttention for Prefix-Heavy Workloads | Learn | Python |
| 07 | TensorRT-LLM on Blackwell with FP8 and NVFP4 | Learn | Python |
| 08 | Inference Metrics β TTFT, TPOT, ITL, Goodput, P99 | Learn | Python |
| 09 | Production Quantization β AWQ, GPTQ, GGUF, FP8, NVFP4 | Learn | Python |
| 10 | Cold Start Mitigation for Serverless LLMs | Learn | Python |
| 11 | Multi-Region LLM Serving and KV Cache Locality | Learn | Python |
| 12 | Edge Inference β ANE, Hexagon, WebGPU, Jetson | Learn | Python |
| 13 | LLM Observability Stack Selection | Learn | Python |
| 14 | Prompt Caching and Semantic Caching Economics | Learn | Python |
| 15 | Batch APIs β the 50% Discount as Industry Standard | Learn | Python |
| 16 | Model Routing as a Cost-Reduction Primitive | Learn | Python |
| 17 | Disaggregated Prefill/Decode β NVIDIA Dynamo and llm-d | Learn | Python |
| 18 | vLLM Production Stack with LMCache KV Offloading | Learn | Python |
| 19 | AI Gateways β LiteLLM, Portkey, Kong, Bifrost | Learn | Python |
| 20 | Shadow, Canary, and Progressive Deployment | Learn | Python |
| 21 | A/B Testing LLM Features β GrowthBook and Statsig | Learn | Python |
| 22 | Load Testing LLM APIs β k6, LLMPerf, GenAI-Perf | Build | Python |
| 23 | SRE for AI β Multi-Agent Incident Response | Learn | Python |
| 24 | Chaos Engineering for LLM Production | Learn | Python |
| 25 | Security β Secrets, PII Scrubbing, Audit Logs | Learn | Python |
| 26 | Compliance β SOC 2, HIPAA, GDPR, EU AI Act, ISO 42001 | Learn | Python |
| 27 | FinOps for LLMs β Unit Economics and Multi-Tenant Attribution | Learn | Python |
| 28 | Self-Hosted Serving Selection β llama.cpp, Ollama, TGI, vLLM, SGLang | Learn | Python |
| # | Project | Combines | Lang |
|---|---|---|---|
| 01 | Terminal-Native Coding Agent | P0 P5 P7 P10 P11 P13 P14 P15 P17 P18 | TypeScript, Python |
| 02 | RAG over Codebase (Cross-Repo Semantic Search) | P5 P7 P11 P13 P17 | Python, TypeScript |
| 03 | Real-Time Voice Assistant (ASR β LLM β TTS) | P6 P7 P11 P13 P14 P17 | Python, TypeScript |
| 04 | Multimodal Document QA (Vision-First) | P4 P5 P7 P11 P12 P17 | Python, TypeScript |
| 05 | Autonomous Research Agent (AI-Scientist Class) | P0 P2 P3 P7 P10 P14 P15 P16 P18 | Python |
| 06 | DevOps Troubleshooting Agent for Kubernetes | P11 P13 P14 P15 P17 P18 | Python, TypeScript |
| 07 | End-to-End Fine-Tuning Pipeline | P2 P3 P7 P10 P11 P17 P18 | Python |
| 08 | Production RAG Chatbot (Regulated Vertical) | P5 P7 P11 P12 P17 P18 | Python, TypeScript |
| 09 | Code Migration Agent (Repo-Level Upgrade) | P5 P7 P11 P13 P14 P15 P17 | Python, TypeScript |
| 10 | Multi-Agent Software Engineering Team | P11 P13 P14 P15 P16 P17 | Python, TypeScript |
| 11 | LLM Observability & Eval Dashboard | P11 P13 P17 P18 | TypeScript, Python |
| 12 | Video Understanding Pipeline (Scene β QA) | P4 P6 P7 P11 P12 P17 | Python, TypeScript |
| 13 | MCP Server with Registry and Governance | P11 P13 P14 P17 P18 | Python, TypeScript |
| 14 | Speculative-Decoding Inference Server | P3 P7 P10 P17 | Python |
| 15 | Constitutional Safety Harness + Red-Team Range | P10 P11 P13 P14 P18 | Python |
| 16 | GitHub Issue-to-PR Autonomous Agent | P11 P13 P14 P15 P17 | Python, TypeScript |
| 17 | Personal AI Tutor (Adaptive, Multimodal) | P5 P6 P11 P12 P14 P17 P18 | Python, TypeScript |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The toolkit
Every lesson produces a reusable artifact. By the end you have:
outputs/
βββ prompts/ prompt templates for every AI task
βββ skills/ SKILL.md files for AI coding agents
βββ agents/ agent definitions ready to deploy
βββ mcp-servers/ MCP servers built during the course
Install them with SkillKit. Plug them into Claude, Cursor, Codex, OpenClaw, Hermes, or any MCP-compatible agent. Real tools, not homework.
Where to start
| Background | Start at | Estimated time |
|---|---|---|
| New to programming and AI | Phase 0 β Setup | ~306 hours |
| Know Python, new to ML | Phase 1 β Math Foundations | ~270 hours |
| Know ML, new to deep learning | Phase 3 β Deep Learning Core | ~200 hours |
| Know deep learning, want LLMs and agents | Phase 10 β LLMs from Scratch | ~100 hours |
| Senior engineer, only want agent engineering | Phase 14 β Agent Engineering | ~60 hours |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Why this matters now
<table> <tr> <th align="left" width="50%"><sub>FIG_003 Β· A</sub><br/><b>THE INDUSTRY SIGNAL</b></th> <th align="left" width="50%"><sub>FIG_003 Β· B</sub><br/><b>FOUNDATIONAL PAPERS COVERED</b></th> </tr> <tr> <td valign="top">"The hottest new programming language is English."<br/> β Andrej Karpathy (tweet)
"Software engineering is being remade in front of our eyes."<br/> β Boris Cherny, creator of Claude Code
</td> <td valign="top">"Models will keep getting better. The skill that compounds is knowing what to build."<br/> β Industry consensus, 2026
- Attention Is All You Need β Vaswani et al., 2017 β Phase 7
- Language Models are Few-Shot Learners (GPT-3) β Phase 10
- Denoising Diffusion Probabilistic Models β Phase 8
- InstructGPT / RLHF β Phase 10
- Direct Preference Optimization β Phase 10
- Chain-of-Thought Prompting β Phase 11
- ReAct: Reasoning + Acting in LLMs β Phase 14
- Model Context Protocol β Anthropic β Phase 13
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Contributing
| Goal | Read |
|---|---|
| Contribute a lesson or fix | CONTRIBUTING.md |
| Fork for your team or school | FORKING.md |
| Lesson template | LESSON_TEMPLATE.md |
| Track progress | ROADMAP.md |
| Glossary | glossary/terms.md |
| Code of conduct | CODE_OF_CONDUCT.md |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Sponsor the work
Free, MIT-licensed, 428 lessons. The curriculum is maintained on sponsorship alone. Cash only.
Reach (verified 2026-05-14): 55,593 monthly visitors Β· 90,709 page views Β· 7.5K stars Β· Twitter/X is the #1 acquisition channel.
| Tier | $/mo | What you get |
|---|---|---|
| Backer | $25 | Name in BACKERS.md |
| Bronze | $250 | Text-only row in README sponsor block + launch-day tweet |
| Silver | $750 | Small logo in README + listed as one supported provider in API lessons |
| Gold | $2,000 | Medium logo in README + sponsor page + quarterly X / LinkedIn co-feature |
| Platinum | $5,000 | Hero logo above the fold + one dedicated integration lesson, max 1 partner |
Full rate card, hard rules, pricing anchors, and reach data: SPONSORS.md. Sign up via GitHub Sponsors.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Star history
<a href="https://star-history.com/#rohitg00/ai-engineering-from-scratch&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=rohitg00/ai-engineering-from-scratch&type=Date&theme=dark"> <img alt="Star history" src="https://api.star-history.com/svg?repos=rohitg00/ai-engineering-from-scratch&type=Date" width="100%"> </picture> </a>If this manual helped you, star the repo. It keeps the project alive.
License
MIT. Use it however you want β fork it, teach it, sell it, ship it. Attribution appreciated, not required.
Maintained by Rohit Ghumare and the community.
<sub> <a href="https://x.com/ghumare64">@ghumare64</a> Β· <a href="https://aiengineeringfromscratch.com">aiengineeringfromscratch.com</a> Β· <a href="https://github.com/rohitg00/ai-engineering-from-scratch/issues/new/choose">Report / Suggest</a> </sub>