rohitg00/ai-engineering-from-scratch

Learn it. Build it. Ship it for others.

54,174

stars

1,676

commits

Python

primary language

Sep 7, 2026

updated

aiengineeringfromscratch.com
agents
ai
ai-agents
ai-engineering
computer-vision
course
deep-learning
from-scratch
generative-ai
llm
machine-learning
mcp
nlp
python
reinforcement-learning
rust
swarm-intelligence
transformers
tutorial
typescript

README

AI Engineering from Scratch — reference manual banner

Read in your language: Español · Français · Português · Deutsch · Italiano · 简体中文 · 日本語 · 한국어 · हिन्दी · العربية · Русский · Türkçe
Translated landing pages, committed to the repo. English is canonical; lesson pages are machine-translated on the translations branch. See docs/i18n.md.

MIT License 503 lessons 20 phases GitHub stars Website

From the creator of Agent Memory - #1 Persistent memory ⭐ GitHub stars which naturally works with any agents or chat assistants.

░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

84% of students already use AI tools. Only 18% feel prepared to use them professionally. This curriculum closes that gap.

503 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.

150,639 readers  ·  241,669 page views in the last 30 days  ·  as of 2026-06-07

Start learning in 30 seconds

Your coding agent becomes your tutor. Two commands, no clone, no setup:

npx skills add rohitg00/ai-engineering-from-scratch

Then, inside your agent:

/start-learning

A ten-question placement quiz maps what you already know to a starting phase and saves a personalized study plan to LEARNING.md. From there, /learn teaches one lesson per session — concept, math, code, quiz — streaming lessons straight from this repo, and /course-guide <topic> jumps you to the exact lesson that covers anything you are stuck on.

Works with Claude Code, Cursor, Codex, OpenClaw, Hermes, or any agent that reads a SKILL.md directory — the installer asks which agents to set up. No agent? Read the same lessons at aiengineeringfromscratch.com.

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, 503 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 &amp; 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 &amp; 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 &amp; Protocols"]
  P13 --> P14["Phase 14 — Agent Engineering"]
  P14 --> P15["Phase 15 — Autonomous Systems"]
  P15 --> P16["Phase 16 — Multi-Agent &amp; Swarms"]
  P14 --> P17["Phase 17 — Infrastructure &amp; Production"]
  P15 --> P18["Phase 18 — Ethics &amp; 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 &amp; 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 — learn in your terminal (recommended). Install the learning skills into any agent and let the course drive itself:

npx skills add rohitg00/ai-engineering-from-scratch
/start-learning     # interview + placement quiz -> personalized plan in LEARNING.md
/learn              # next lesson, taught interactively: concept -> math -> code -> quiz
/course-guide rag   # "which lessons teach X?" -> exact lessons + links

Lessons stream from this repo as you go — no clone needed. Progress lives in LEARNING.md in your project, so every session resumes where you left off.

Option B — read. Open any completed lesson on aiengineeringfromscratch.com or expand a phase under Contents. No setup, no cloning.

Option C — 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

Cloning also auto-loads the learning skills in Claude Code, and gives every lesson's code to /learn for real execution instead of read-along.

Prerequisites

  • You can write code (any language; Python helps).
  • You want to understand how AI actually works, not just call APIs.

Prepare for Claude certifications

The Claude Certification Academy is a free, open-source preparation program for all four official Claude certification tracks: Associate Foundations, Developer Foundations, Architect Foundations, and Architect Professional. Each route combines blueprint-mapped lessons, runnable labs, a diagnostic, capstone work, and a full-length original practice exam.

Use the AI-native GitHub onboarding guide with Claude Code, Codex, ChatGPT, Cursor, or another agent. Run /claude-certification to choose a track, create a persistent route in CLAUDE-CERTIFICATION.md, learn one step at a time, execute the real labs, and get artifact-based feedback. The same curriculum remains available on the certification website.

The academy is independent study material based on public exam objectives. It is not affiliated with Anthropic, does not reproduce live exam questions, and cannot guarantee a passing score.

The learning skills (any agent: Claude, Cursor, Codex, OpenClaw, Hermes, …)

SkillWhat it does
/start-learningOne-time onboarding: why you're learning, placement quiz, personalized plan saved to LEARNING.md.
/learnThe tutor loop. Warm-up recall, then the next lesson taught interactively, then its quiz; records progress and a review queue.
/course-guideTopic router. "Where do I learn attention?" or "my loss is NaN" → the exact lessons, with links.
/claude-certificationCertification tutor. Chooses CCAO-F, CCDV-F, CCAR-F, or CCAR-P; teaches each lesson; runs labs; reviews artifacts; administers diagnostics and mocks; saves progress.
/find-your-levelTen-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.
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Read the core curriculum as a book

The 20-phase core curriculum under phases/ compiles into a six-volume book series. EPUB and PDF are built by CI from the same core lesson sources and attached to every GitHub release; the links below always resolve to the newest release. Volume numbers index the series, not versions: each copy carries a dated edition stamp, and older editions stay downloadable from their release.

Certification curricula are intentionally not converted into the books. Their AI tutor state, runnable labs, interactive figures, diagnostics, and timed mocks remain first-class on GitHub and the website.

VolTitlePhasesDownload
1Foundations · Math, Tooling, and Classical Machine Learning00-02EPUB · PDF
2Deep Learning · Networks, Vision, and Speech03, 04, 06EPUB · PDF
3Language · NLP Foundations and the Transformer05, 07EPUB · PDF
4Large Language Models · Generation, Reinforcement, Pretraining, and Engineering08-11EPUB · PDF
5Agents · Multimodality, Protocols, Autonomy, and Swarms12-16EPUB · PDF
6Production · Infrastructure, Safety, and Capstones17-19EPUB · PDF

The book is the snapshot; this repository is the living edition. Every chapter ends with links back to the lesson's animated figures, quiz, and runnable code. Build locally with python3 scripts/build_book.py (pandoc required); pipeline details in book/README.md.

░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

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.

FIG_001.A prompts
FIG_001 · A
PROMPTS
FIG_001.B skills
FIG_001 · B
SKILLS
FIG_001.C agents
FIG_001 · C
AGENTS
FIG_001.D MCP servers
FIG_001 · D
MCP SERVERS
Paste into any AI assistant for expert-level help on a narrow task.Drop into Claude, Cursor, Codex, OpenClaw, Hermes, or any agent that reads SKILL.md.Deploy as autonomous workers — you wrote the loop yourself in Phase 14.Plug into any MCP-compatible client. Built end-to-end in Phase 13.

Install the lot with python3 scripts/install_skills.py <target>. Real tools, not homework. By the end of the curriculum, you have a portfolio of 503 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.

code/agent_loop.py   build it

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

outputs/skill-agent-loop.md   ship it

---
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...
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Contents

Twenty phases. Click any phase to expand its lesson list.

Phase 0: Setup & Tooling 12 lessons

Get your environment ready for everything that follows.

#LessonTypeLang
01Dev EnvironmentBuildPython
02Git & CollaborationLearn
03GPU Setup & CloudBuildPython
04APIs & KeysBuildPython
05Jupyter NotebooksBuildPython
06Python EnvironmentsBuildShell
07Docker for AIBuildDocker
08Editor SetupBuild
09Data ManagementBuildPython
10Terminal & ShellLearn
11Linux for AILearn
12Debugging & ProfilingBuildPython
Phase 1 — Math Foundations  22 lessons  The intuition behind every AI algorithm, through code.
Phase 2 — ML Fundamentals  18 lessons  Classical ML — still the backbone of most production AI.
Phase 3 — Deep Learning Core  13 lessons  Neural networks from first principles. No frameworks until you build one.
Phase 4 — Computer Vision  28 lessons  From pixels to understanding — image, video, 3D, VLMs, and world models.
Phase 5 — NLP: Foundations to Advanced  29 lessons  Language is the interface to intelligence.
Phase 6 — Speech & Audio  17 lessons  Hear, understand, speak.
Phase 7 — Transformers Deep Dive  16 lessons  The architecture that changed everything.
Phase 8 — Generative AI  15 lessons  Create images, video, audio, 3D, and more.
Phase 9 — Reinforcement Learning  12 lessons  The foundation of RLHF and game-playing AI.
#LessonTypeLang
01MDPs, States, Actions & RewardsLearnPython
02Dynamic ProgrammingBuildPython
03Monte Carlo MethodsBuildPython
04Q-Learning, SARSABuildPython
05Deep Q-Networks (DQN)BuildPython
06Policy Gradients — REINFORCEBuildPython
07Actor-Critic — A2C, A3CBuildPython
08PPOBuildPython
09Reward Modeling & RLHFBuildPython
10Multi-Agent RLBuildPython
11Sim-to-Real TransferBuildPython
12RL for GamesBuildPython
Phase 10 — LLMs from Scratch  24 lessons  Build, train, and understand large language models.
Phase 11 — LLM Engineering  17 lessons  Put LLMs to work in production.
Phase 12 — Multimodal AI  25 lessons  See, hear, read, and reason across modalities — from ViT patches to computer-use agents.
Phase 13 — Tools & Protocols  23 lessons  The interfaces between AI and the real world.
Phase 14 — Agent Engineering  42 lessons  Build agents from first principles — loop, memory, planning, frameworks, benchmarks, production, workbench.
#LessonTypeLang
01The Agent LoopBuildPython
02ReWOO and Plan-and-ExecuteBuildPython
03Reflexion and Verbal Reinforcement LearningBuildPython
04Tree of Thoughts and LATSBuildPython
05Self-Refine and CRITICBuildPython
06Tool Use and Function CallingBuildPython
07Agent Memory — Virtual Context and Memory PagingBuildPython
08Memory Blocks and Sleep-Time ComputeBuildPython
09Hybrid Memory — Vector + Graph + KVBuildPython
10Skill Libraries and Lifelong Learning (Voyager)BuildPython
11Planning with HTN and Evolutionary SearchBuildPython
12Anthropic's Workflow PatternsBuildPython
13Stateful Graph Orchestration — Durable Execution and CheckpointsBuildPython
14The Actor Model for AgentsBuildPython
15Role-Based Agent Teams — Roles, Tasks, ProcessesBuildPython
16OpenAI Agents SDK — Handoffs, Guardrails, TracingBuildPython
17The Harness as a Library — Subagents and Session StoreBuildPython
18Production Agent RuntimesLearnPython
19Benchmarks — SWE-bench, GAIA, AgentBenchLearnPython
20Benchmarks — WebArena and OSWorldLearnPython
21Computer Use — Claude, OpenAI CUA, GeminiBuildPython
22Voice Agents — Pipecat and LiveKitBuildPython
23OpenTelemetry GenAI Semantic ConventionsBuildPython
24Agent Observability — Langfuse, Phoenix, OpikLearnPython
25Multi-Agent Debate and CollaborationBuildPython
26Failure Modes — Why Agents BreakBuildPython
27Prompt Injection and the PVE DefenseBuildPython
28Orchestration Patterns — Supervisor, Swarm, HierarchicalBuildPython
29Production Runtimes — Queue, Event, CronLearnPython
30Eval-Driven Agent DevelopmentBuildPython
31Agent Workbench: Why Capable Models Still FailLearnPython
32The Minimal Agent WorkbenchBuildPython
33Agent Instructions as Executable ConstraintsBuildPython
34Repo Memory and Durable StateBuildPython
35Initialization Scripts for AgentsBuildPython
36Scope Contracts and Task BoundariesBuildPython
37Runtime Feedback LoopsBuildPython
38Verification GatesBuildPython
39Reviewer Agent: Separate Builder from MarkerBuildPython
40Multi-Session HandoffBuildPython
41The Workbench on a Real RepoBuildPython
42Capstone: Ship a Reusable Agent Workbench PackBuildPython

Each Phase 14 workbench lesson (31-42) ships a mission.md briefing the agent before it opens the full lesson docs.

Phase 15 — Autonomous Systems  22 lessons  Long-horizon agents, self-improvement, and the 2026 safety stack.
Phase 16 — Multi-Agent & Swarms  25 lessons  Coordination, emergence, and collective intelligence.
Phase 17 — Infrastructure & Production  28 lessons  Ship AI to the real world.
#LessonTypeLang
01Managed LLM Platforms — Bedrock, Azure OpenAI, Vertex AILearnPython
02Inference Platform Economics — Fireworks, Together, Baseten, ModalLearnPython
03GPU Autoscaling on Kubernetes — Karpenter, KAI SchedulerLearnPython
04Serving Engine Internals — PagedAttention, Continuous Batching, Chunked PrefillLearnPython
05EAGLE-3 Speculative Decoding in ProductionLearnPython
06Prefix-Cache Serving — RadixAttention and KV ReuseLearnPython
07Hardware-Specialized Inference Compilation — FP8 and NVFP4 on BlackwellLearnPython
08Inference Metrics — TTFT, TPOT, ITL, Goodput, P99LearnPython
09Production Quantization — AWQ, GPTQ, GGUF, FP8, NVFP4LearnPython
10Cold Start Mitigation for Serverless LLMsLearnPython
11Multi-Region LLM Serving and KV Cache LocalityLearnPython
12Edge Inference — ANE, Hexagon, WebGPU, JetsonLearnPython
13LLM Observability Stack SelectionLearnPython
14Prompt Caching and Semantic Caching EconomicsLearnPython
15Batch APIs — the 50% Discount as Industry StandardLearnPython
16Model Routing as a Cost-Reduction PrimitiveLearnPython
17Disaggregated Prefill/Decode — NVIDIA Dynamo and llm-dLearnPython
18Production Serving Stack — KV Offloading and Cache-Aware RoutingLearnPython
19AI Gateways — LiteLLM, Portkey, Kong, BifrostLearnPython
20Shadow, Canary, and Progressive DeploymentLearnPython
21A/B Testing LLM Features — GrowthBook and StatsigLearnPython
22Load Testing LLM APIs — k6, LLMPerf, GenAI-PerfBuildPython
23SRE for AI — Multi-Agent Incident ResponseLearnPython
24Chaos Engineering for LLM ProductionLearnPython
25Security — Secrets, PII Scrubbing, Audit LogsLearnPython
26Compliance — SOC 2, HIPAA, GDPR, EU AI Act, ISO 42001LearnPython
27FinOps for LLMs — Unit Economics and Multi-Tenant AttributionLearnPython
28Self-Hosted Serving Selection — Matching Engine to Hardware and ScaleLearnPython
Phase 18 — Ethics, Safety & Alignment  30 lessons  Build AI that helps humanity. Not optional.
Phase 19 — Capstone Projects  85 lessons  17 end-to-end products + 9 deep-build tracks. 20-40 hours per project; 4-12 lessons per track.
#ProjectCombinesLang
01Terminal-Native Coding AgentP0 P5 P7 P10 P11 P13 P14 P15 P17 P18Python
02RAG over Codebase (Cross-Repo Semantic Search)P5 P7 P11 P13 P17Python
03Real-Time Voice Assistant (ASR → LLM → TTS)P6 P7 P11 P13 P14 P17Python
04Multimodal Document QA (Vision-First)P4 P5 P7 P11 P12 P17Python
05Autonomous Research Agent (AI-Scientist Class)P0 P2 P3 P7 P10 P14 P15 P16 P18Python
06DevOps Troubleshooting Agent for KubernetesP11 P13 P14 P15 P17 P18Python
07End-to-End Fine-Tuning PipelineP2 P3 P7 P10 P11 P17 P18Python
08Production RAG Chatbot (Regulated Vertical)P5 P7 P11 P12 P17 P18Python
09Code Migration Agent (Repo-Level Upgrade)P5 P7 P11 P13 P14 P15 P17Python
10Multi-Agent Software Engineering TeamP11 P13 P14 P15 P16 P17Python
11LLM Observability & Eval DashboardP11 P13 P17 P18Python
12Video Understanding Pipeline (Scene → QA)P4 P6 P7 P11 P12 P17Python
13MCP Server with Registry and GovernanceP11 P13 P14 P17 P18Python
14Speculative-Decoding Inference ServerP3 P7 P10 P17Python
15Constitutional Safety Harness + Red-Team RangeP10 P11 P13 P14 P18Python
16GitHub Issue-to-PR Autonomous AgentP11 P13 P14 P15 P17Python
17Personal AI Tutor (Adaptive, Multimodal)P5 P6 P11 P12 P14 P17 P18Python

Deep-build tracks — multi-lesson series that build a complete subsystem from scratch.

#ProjectCombinesLang
20Agent Harness Loop ContractA. Agent harnessPython
21Tool Registry with Schema ValidationA. Agent harnessPython
22JSON-RPC 2.0 Over Newline-Delimited StdioA. Agent harnessPython
23Function Call DispatcherA. Agent harnessPython
24Plan-Execute Control FlowA. Agent harnessPython
25Verification Gates and Observation BudgetA. Agent harnessPython
26Sandbox Runner with Denylist and Path JailA. Agent harnessPython
27Eval Harness with Fixture TasksA. Agent harnessPython
28Observability with OTel GenAI Spans and Prometheus MetricsA. Agent harnessPython
29End-to-End Coding Agent on the HarnessA. Agent harnessPython
30BPE Tokenizer From ScratchB. NLP LLMPython
31Tokenized Dataset with Sliding WindowB. NLP LLMPython
32Token and Positional EmbeddingsB. NLP LLMPython
33Multi-Head Self-AttentionB. NLP LLMPython
34Transformer Block from ScratchB. NLP LLMPython
35GPT Model AssemblyB. NLP LLMPython
36Training Loop and EvaluationB. NLP LLMPython
37Loading Pretrained WeightsB. NLP LLMPython
38Classifier Fine-Tuning by Head SwapB. NLP LLMPython
39Instruction Tuning by Supervised Fine-TuningB. NLP LLMPython
40Direct Preference Optimization from ScratchB. NLP LLMPython
41Full Evaluation PipelineB. NLP LLMPython
42Large Corpus DownloaderC. Train end-to-endPython
43HDF5 Tokenized CorpusC. Train end-to-endPython
44Cosine LR with Linear WarmupC. Train end-to-endPython
45Gradient Clipping and Mixed PrecisionC. Train end-to-endPython
46Gradient AccumulationC. Train end-to-endPython
47Checkpoint Save and ResumeC. Train end-to-endPython
48Distributed Data Parallel and FSDP from ScratchC. Train end-to-endPython
49Language Model Evaluation HarnessC. Train end-to-endPython
50Hypothesis GeneratorD. Auto researchPython
51Literature RetrievalD. Auto researchPython
52Experiment RunnerD. Auto researchPython
53Result EvaluatorD. Auto researchPython
54Paper WriterD. Auto researchPython
55Critic LoopD. Auto researchPython
56Iteration SchedulerD. Auto researchPython
57End-to-End Research DemoD. Auto researchPython
58Vision Encoder PatchesE. Multimodal VLMPython
59Vision Transformer EncoderE. Multimodal VLMPython
60Projection Layer for Modality AlignmentE. Multimodal VLMPython
61Cross-Attention FusionE. Multimodal VLMPython
62Vision-Language PretrainingE. Multimodal VLMPython
63Multimodal EvaluationE. Multimodal VLMPython
64Chunking Strategies, ComparedF. Advanced RAGPython
65Hybrid Retrieval with BM25 and Dense EmbeddingsF. Advanced RAGPython
66Cross-Encoder RerankerF. Advanced RAGPython
67Query Rewriting: HyDE, Multi-Query, and DecompositionF. Advanced RAGPython
68RAG Evaluation: Precision, Recall, MRR, nDCG, Faithfulness, Answer RelevanceF. Advanced RAGPython
69End-to-End RAG SystemF. Advanced RAGPython
70Task Spec FormatG. Eval frameworkPython
71Classical MetricsG. Eval frameworkPython
72Code Exec MetricG. Eval frameworkPython
73Perplexity and CalibrationG. Eval frameworkPython
74Leaderboard AggregationG. Eval frameworkPython
75End-to-End Eval RunnerG. Eval frameworkPython
76Collective Ops From ScratchH. Distributed trainPython
77Data Parallel DDP From ScratchH. Distributed trainPython
78ZeRO Optimizer State ShardingH. Distributed trainPython
79Pipeline Parallel and Bubble AnalysisH. Distributed trainPython
80Sharded Checkpoint and Atomic ResumeH. Distributed trainPython
81End-to-End Distributed TrainingH. Distributed trainPython
82Jailbreak TaxonomyI. Safety harnessPython
83Prompt Injection DetectorI. Safety harnessPython
84Refusal EvaluationI. Safety harnessPython
85Content Classifier IntegrationI. Safety harnessPython
86Constitutional Rules EngineI. Safety harnessPython, YAML
87End-to-End Safety GateI. Safety harnessPython
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

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

Plug them into Claude, Cursor, Codex, OpenClaw, Hermes, or any agent that reads a SKILL.md / AGENTS.md directory. Real tools, not homework.

Install course skills into your agent

Two skill sets, two installers:

The learning skills (/start-learning, /learn, /course-guide, /claude-certification, /find-your-level, /check-understanding) live under skills/ and install into any agent with one command — no clone, no Python:

npx skills add rohitg00/ai-engineering-from-scratch

skills writes to whichever directory your agent picks up: .claude/skills/, .cursor/skills/, .codex/skills/, OpenClaw's skills folder, Hermes's bundle path, or any SKILL.md-aware tool. One command, every agent.

The lesson artifacts. The repo ships 388 skills and 99 prompts under phases/**/outputs/; install them via scripts/install_skills.py. Requires cloning the repo. Supports tag filters, dry-runs, and per-agent layouts:

python3 scripts/install_skills.py <target>                                 # every skill, default --layout skills (nested)
python3 scripts/install_skills.py <target> --layout skills                 # same as above, explicit
python3 scripts/install_skills.py <target> --type all                      # skills + prompts + agents
python3 scripts/install_skills.py <target> --phase 14                      # one phase only
python3 scripts/install_skills.py <target> --tag rag                       # filter by tag
python3 scripts/install_skills.py <target> --layout flat                   # flat files
python3 scripts/install_skills.py <target> --dry-run                       # preview without writing
python3 scripts/install_skills.py <target> --force                         # overwrite existing files

<target> is the skills directory for your agent (examples: ~/.claude/skills/, ~/.cursor/skills/, ~/.config/openclaw/skills/, .skills/, or any path your agent reads).

By default the script refuses to overwrite an existing destination and exits with code 1 after listing every colliding path. Use --dry-run to preview collisions or --force to overwrite. Every non-dry-run run writes a manifest.json in the target with the full inventory grouped by type and phase. Pick the layout your agent reads:

--layoutPath written
skills<target>/<name>/SKILL.md (nested convention, supported by Claude / Cursor / Codex / OpenClaw / Hermes)
by-phase<target>/phase-NN/<name>.md
flat<target>/<name>.md

Drop the agent workbench into your own repo

The Phase 14 capstone ships a reusable Agent Workbench pack (AGENTS.md, schemas, init / verify / handoff scripts). Scaffold it into any repo with:

python3 scripts/scaffold_workbench.py path/to/your-repo            # full pack + seeds
python3 scripts/scaffold_workbench.py path/to/your-repo --minimal  # skip docs/
python3 scripts/scaffold_workbench.py path/to/your-repo --dry-run  # preview only
python3 scripts/scaffold_workbench.py path/to/your-repo --force    # overwrite

You get the seven workbench surfaces wired up, a starter task_board.json, and a fresh agent_state.json at schema_version: 1. From there: edit the task, edit AGENTS.md, run scripts/init_agent.py, hand the contract to your agent. The pack source lives at phases/14-agent-engineering/42-agent-workbench-capstone/outputs/agent-workbench-pack/.

Browse the entire course as JSON

scripts/build_catalog.py walks every phase, every lesson, every artifact on disk and writes catalog.json at the repo root. One file, every course truth.

python3 scripts/build_catalog.py               # writes <repo>/catalog.json
python3 scripts/build_catalog.py --stdout      # to stdout, do not touch repo
python3 scripts/build_catalog.py --out path/to/file.json

The catalog is filesystem-derived, not README-derived, so counts always match what is actually on disk. Use it for site builds, downstream tooling, or to verify the README counts have not drifted. Schema is documented at the top of the script.

A GitHub Action (.github/workflows/curriculum.yml) rebuilds catalog.json on every PR and fails the build if the committed file is stale. After editing any lesson, run python3 scripts/build_catalog.py and commit the result, or CI will reject the PR. The same workflow runs audit_lessons.py in warn-only mode (so existing drift does not block contributors).

Smoke-check every lesson's Python code

scripts/lesson_run.py byte-compiles every .py file under each lesson's code/ directory. Default mode is syntax-check only — no execution, no API keys, no heavy ML deps required. Catches the regressions contributors introduce most often (bad indentation, broken f-strings, stray edits).

python3 scripts/lesson_run.py                  # syntax-check the whole curriculum
python3 scripts/lesson_run.py --phase 14       # one phase only
python3 scripts/lesson_run.py --json           # JSON report on stdout
python3 scripts/lesson_run.py --strict         # exit 1 if any lesson fails
python3 scripts/lesson_run.py --execute        # actually run, 10s timeout per lesson

--execute runs each lesson's code/main.py (or the first .py file) with a 10-second timeout. Lessons whose entry file starts with a # requires: pkg1, pkg2 comment listing non-stdlib deps are skipped with reason needs <deps>. The script is opt-in and not wired into CI.

Stdlib only, Python 3.10+. Set LINK_CHECK_SKIP=domain1,domain2 to override the default skip-list (twitter.com, x.com, linkedin.com, instagram.com, medium.com — domains that aggressively block automated HEAD/GET).

Where to start

BackgroundStart atEstimated time
New to programming and AIPhase 0 — Setup~306 hours
Know Python, new to MLPhase 1 — Math Foundations~270 hours
Know ML, new to deep learningPhase 3 — Deep Learning Core~200 hours
Know deep learning, want LLMs and agentsPhase 10 — LLMs from Scratch~100 hours
Senior engineer, only want agent engineeringPhase 14 — Agent Engineering~60 hours
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Why this matters now

FIG_003 · A
THE INDUSTRY SIGNAL
FIG_003 · B
FOUNDATIONAL PAPERS COVERED

"The hottest new programming language is English."
Andrej Karpathy (tweet)

"Software engineering is being remade in front of our eyes."
Boris Cherny, creator of Claude Code

"Models will keep getting better. The skill that compounds is knowing what to build."
— 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 ModelsPhase 8
  • InstructGPT / RLHFPhase 10
  • Direct Preference OptimizationPhase 10
  • Chain-of-Thought PromptingPhase 11
  • ReAct: Reasoning + Acting in LLMsPhase 14
  • Model Context Protocol — Anthropic → Phase 13
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Contributing

GoalRead
Contribute a lesson or fixCONTRIBUTING.md
Fork for your team or schoolFORKING.md
Lesson templateLESSON_TEMPLATE.md
Track progressROADMAP.md
Glossaryglossary/terms.md
Code of conductCODE_OF_CONDUCT.md

Before submitting a lesson, run the invariant check:

python3 scripts/audit_lessons.py           # full curriculum
python3 scripts/audit_lessons.py --phase 14  # single phase
python3 scripts/audit_lessons.py --json    # CI-friendly output

Exit code is non-zero when any rule fails. Rules (L001–L010) validate directory shape, docs/en.md presence + H1, code/ non-emptiness, quiz.json schema (rejects the legacy q/choices/answer keys that caused issue #102), and relative links inside lesson docs.

░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Free, MIT-licensed, 503 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.



Vercel OSS Program

Current sponsors: CodeRabbit · iii

Tier$/moWhat you get
Backer$25Name in BACKERS.md
Bronze$250Text-only row in README sponsor block + launch-day tweet
Silver$750Small logo in README + listed as one supported provider in API lessons
Gold$2,000Medium logo in README + sponsor page + quarterly X / LinkedIn co-feature
Platinum$5,000Hero 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

Star history

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.

@ghumare64  ·  aiengineeringfromscratch.com  ·  Report / Suggest

Contributors

rohitg00

1,558 commits

abhinav-m22

13 commits

thereisnotime

6 commits

rohitg00/ai-engineering-from-scratch

Learn it. Build it. Ship it for others.

54,174

stars

1,676

commits

Python

primary language

Sep 7, 2026

updated

aiengineeringfromscratch.com
agents
ai
ai-agents
ai-engineering
computer-vision
course
deep-learning
from-scratch
generative-ai
llm
machine-learning
mcp
nlp
python
reinforcement-learning
rust
swarm-intelligence
transformers
tutorial
typescript

README

AI Engineering from Scratch — reference manual banner

Read in your language: Español · Français · Português · Deutsch · Italiano · 简体中文 · 日本語 · 한국어 · हिन्दी · العربية · Русский · Türkçe
Translated landing pages, committed to the repo. English is canonical; lesson pages are machine-translated on the translations branch. See docs/i18n.md.

MIT License 503 lessons 20 phases GitHub stars Website

From the creator of Agent Memory - #1 Persistent memory ⭐ GitHub stars which naturally works with any agents or chat assistants.

░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

84% of students already use AI tools. Only 18% feel prepared to use them professionally. This curriculum closes that gap.

503 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.

150,639 readers  ·  241,669 page views in the last 30 days  ·  as of 2026-06-07

Start learning in 30 seconds

Your coding agent becomes your tutor. Two commands, no clone, no setup:

npx skills add rohitg00/ai-engineering-from-scratch

Then, inside your agent:

/start-learning

A ten-question placement quiz maps what you already know to a starting phase and saves a personalized study plan to LEARNING.md. From there, /learn teaches one lesson per session — concept, math, code, quiz — streaming lessons straight from this repo, and /course-guide <topic> jumps you to the exact lesson that covers anything you are stuck on.

Works with Claude Code, Cursor, Codex, OpenClaw, Hermes, or any agent that reads a SKILL.md directory — the installer asks which agents to set up. No agent? Read the same lessons at aiengineeringfromscratch.com.

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, 503 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 &amp; 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 &amp; 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 &amp; Protocols"]
  P13 --> P14["Phase 14 — Agent Engineering"]
  P14 --> P15["Phase 15 — Autonomous Systems"]
  P15 --> P16["Phase 16 — Multi-Agent &amp; Swarms"]
  P14 --> P17["Phase 17 — Infrastructure &amp; Production"]
  P15 --> P18["Phase 18 — Ethics &amp; 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 &amp; 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 — learn in your terminal (recommended). Install the learning skills into any agent and let the course drive itself:

npx skills add rohitg00/ai-engineering-from-scratch
/start-learning     # interview + placement quiz -> personalized plan in LEARNING.md
/learn              # next lesson, taught interactively: concept -> math -> code -> quiz
/course-guide rag   # "which lessons teach X?" -> exact lessons + links

Lessons stream from this repo as you go — no clone needed. Progress lives in LEARNING.md in your project, so every session resumes where you left off.

Option B — read. Open any completed lesson on aiengineeringfromscratch.com or expand a phase under Contents. No setup, no cloning.

Option C — 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

Cloning also auto-loads the learning skills in Claude Code, and gives every lesson's code to /learn for real execution instead of read-along.

Prerequisites

  • You can write code (any language; Python helps).
  • You want to understand how AI actually works, not just call APIs.

Prepare for Claude certifications

The Claude Certification Academy is a free, open-source preparation program for all four official Claude certification tracks: Associate Foundations, Developer Foundations, Architect Foundations, and Architect Professional. Each route combines blueprint-mapped lessons, runnable labs, a diagnostic, capstone work, and a full-length original practice exam.

Use the AI-native GitHub onboarding guide with Claude Code, Codex, ChatGPT, Cursor, or another agent. Run /claude-certification to choose a track, create a persistent route in CLAUDE-CERTIFICATION.md, learn one step at a time, execute the real labs, and get artifact-based feedback. The same curriculum remains available on the certification website.

The academy is independent study material based on public exam objectives. It is not affiliated with Anthropic, does not reproduce live exam questions, and cannot guarantee a passing score.

The learning skills (any agent: Claude, Cursor, Codex, OpenClaw, Hermes, …)

SkillWhat it does
/start-learningOne-time onboarding: why you're learning, placement quiz, personalized plan saved to LEARNING.md.
/learnThe tutor loop. Warm-up recall, then the next lesson taught interactively, then its quiz; records progress and a review queue.
/course-guideTopic router. "Where do I learn attention?" or "my loss is NaN" → the exact lessons, with links.
/claude-certificationCertification tutor. Chooses CCAO-F, CCDV-F, CCAR-F, or CCAR-P; teaches each lesson; runs labs; reviews artifacts; administers diagnostics and mocks; saves progress.
/find-your-levelTen-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.
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Read the core curriculum as a book

The 20-phase core curriculum under phases/ compiles into a six-volume book series. EPUB and PDF are built by CI from the same core lesson sources and attached to every GitHub release; the links below always resolve to the newest release. Volume numbers index the series, not versions: each copy carries a dated edition stamp, and older editions stay downloadable from their release.

Certification curricula are intentionally not converted into the books. Their AI tutor state, runnable labs, interactive figures, diagnostics, and timed mocks remain first-class on GitHub and the website.

VolTitlePhasesDownload
1Foundations · Math, Tooling, and Classical Machine Learning00-02EPUB · PDF
2Deep Learning · Networks, Vision, and Speech03, 04, 06EPUB · PDF
3Language · NLP Foundations and the Transformer05, 07EPUB · PDF
4Large Language Models · Generation, Reinforcement, Pretraining, and Engineering08-11EPUB · PDF
5Agents · Multimodality, Protocols, Autonomy, and Swarms12-16EPUB · PDF
6Production · Infrastructure, Safety, and Capstones17-19EPUB · PDF

The book is the snapshot; this repository is the living edition. Every chapter ends with links back to the lesson's animated figures, quiz, and runnable code. Build locally with python3 scripts/build_book.py (pandoc required); pipeline details in book/README.md.

░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

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.

FIG_001.A prompts
FIG_001 · A
PROMPTS
FIG_001.B skills
FIG_001 · B
SKILLS
FIG_001.C agents
FIG_001 · C
AGENTS
FIG_001.D MCP servers
FIG_001 · D
MCP SERVERS
Paste into any AI assistant for expert-level help on a narrow task.Drop into Claude, Cursor, Codex, OpenClaw, Hermes, or any agent that reads SKILL.md.Deploy as autonomous workers — you wrote the loop yourself in Phase 14.Plug into any MCP-compatible client. Built end-to-end in Phase 13.

Install the lot with python3 scripts/install_skills.py <target>. Real tools, not homework. By the end of the curriculum, you have a portfolio of 503 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.

code/agent_loop.py   build it

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

outputs/skill-agent-loop.md   ship it

---
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...
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Contents

Twenty phases. Click any phase to expand its lesson list.

Phase 0: Setup & Tooling 12 lessons

Get your environment ready for everything that follows.

#LessonTypeLang
01Dev EnvironmentBuildPython
02Git & CollaborationLearn
03GPU Setup & CloudBuildPython
04APIs & KeysBuildPython
05Jupyter NotebooksBuildPython
06Python EnvironmentsBuildShell
07Docker for AIBuildDocker
08Editor SetupBuild
09Data ManagementBuildPython
10Terminal & ShellLearn
11Linux for AILearn
12Debugging & ProfilingBuildPython
Phase 1 — Math Foundations  22 lessons  The intuition behind every AI algorithm, through code.
Phase 2 — ML Fundamentals  18 lessons  Classical ML — still the backbone of most production AI.
Phase 3 — Deep Learning Core  13 lessons  Neural networks from first principles. No frameworks until you build one.
Phase 4 — Computer Vision  28 lessons  From pixels to understanding — image, video, 3D, VLMs, and world models.
Phase 5 — NLP: Foundations to Advanced  29 lessons  Language is the interface to intelligence.
Phase 6 — Speech & Audio  17 lessons  Hear, understand, speak.
Phase 7 — Transformers Deep Dive  16 lessons  The architecture that changed everything.
Phase 8 — Generative AI  15 lessons  Create images, video, audio, 3D, and more.
Phase 9 — Reinforcement Learning  12 lessons  The foundation of RLHF and game-playing AI.
#LessonTypeLang
01MDPs, States, Actions & RewardsLearnPython
02Dynamic ProgrammingBuildPython
03Monte Carlo MethodsBuildPython
04Q-Learning, SARSABuildPython
05Deep Q-Networks (DQN)BuildPython
06Policy Gradients — REINFORCEBuildPython
07Actor-Critic — A2C, A3CBuildPython
08PPOBuildPython
09Reward Modeling & RLHFBuildPython
10Multi-Agent RLBuildPython
11Sim-to-Real TransferBuildPython
12RL for GamesBuildPython
Phase 10 — LLMs from Scratch  24 lessons  Build, train, and understand large language models.
Phase 11 — LLM Engineering  17 lessons  Put LLMs to work in production.
Phase 12 — Multimodal AI  25 lessons  See, hear, read, and reason across modalities — from ViT patches to computer-use agents.
Phase 13 — Tools & Protocols  23 lessons  The interfaces between AI and the real world.
Phase 14 — Agent Engineering  42 lessons  Build agents from first principles — loop, memory, planning, frameworks, benchmarks, production, workbench.
#LessonTypeLang
01The Agent LoopBuildPython
02ReWOO and Plan-and-ExecuteBuildPython
03Reflexion and Verbal Reinforcement LearningBuildPython
04Tree of Thoughts and LATSBuildPython
05Self-Refine and CRITICBuildPython
06Tool Use and Function CallingBuildPython
07Agent Memory — Virtual Context and Memory PagingBuildPython
08Memory Blocks and Sleep-Time ComputeBuildPython
09Hybrid Memory — Vector + Graph + KVBuildPython
10Skill Libraries and Lifelong Learning (Voyager)BuildPython
11Planning with HTN and Evolutionary SearchBuildPython
12Anthropic's Workflow PatternsBuildPython
13Stateful Graph Orchestration — Durable Execution and CheckpointsBuildPython
14The Actor Model for AgentsBuildPython
15Role-Based Agent Teams — Roles, Tasks, ProcessesBuildPython
16OpenAI Agents SDK — Handoffs, Guardrails, TracingBuildPython
17The Harness as a Library — Subagents and Session StoreBuildPython
18Production Agent RuntimesLearnPython
19Benchmarks — SWE-bench, GAIA, AgentBenchLearnPython
20Benchmarks — WebArena and OSWorldLearnPython
21Computer Use — Claude, OpenAI CUA, GeminiBuildPython
22Voice Agents — Pipecat and LiveKitBuildPython
23OpenTelemetry GenAI Semantic ConventionsBuildPython
24Agent Observability — Langfuse, Phoenix, OpikLearnPython
25Multi-Agent Debate and CollaborationBuildPython
26Failure Modes — Why Agents BreakBuildPython
27Prompt Injection and the PVE DefenseBuildPython
28Orchestration Patterns — Supervisor, Swarm, HierarchicalBuildPython
29Production Runtimes — Queue, Event, CronLearnPython
30Eval-Driven Agent DevelopmentBuildPython
31Agent Workbench: Why Capable Models Still FailLearnPython
32The Minimal Agent WorkbenchBuildPython
33Agent Instructions as Executable ConstraintsBuildPython
34Repo Memory and Durable StateBuildPython
35Initialization Scripts for AgentsBuildPython
36Scope Contracts and Task BoundariesBuildPython
37Runtime Feedback LoopsBuildPython
38Verification GatesBuildPython
39Reviewer Agent: Separate Builder from MarkerBuildPython
40Multi-Session HandoffBuildPython
41The Workbench on a Real RepoBuildPython
42Capstone: Ship a Reusable Agent Workbench PackBuildPython

Each Phase 14 workbench lesson (31-42) ships a mission.md briefing the agent before it opens the full lesson docs.

Phase 15 — Autonomous Systems  22 lessons  Long-horizon agents, self-improvement, and the 2026 safety stack.
Phase 16 — Multi-Agent & Swarms  25 lessons  Coordination, emergence, and collective intelligence.
Phase 17 — Infrastructure & Production  28 lessons  Ship AI to the real world.
#LessonTypeLang
01Managed LLM Platforms — Bedrock, Azure OpenAI, Vertex AILearnPython
02Inference Platform Economics — Fireworks, Together, Baseten, ModalLearnPython
03GPU Autoscaling on Kubernetes — Karpenter, KAI SchedulerLearnPython
04Serving Engine Internals — PagedAttention, Continuous Batching, Chunked PrefillLearnPython
05EAGLE-3 Speculative Decoding in ProductionLearnPython
06Prefix-Cache Serving — RadixAttention and KV ReuseLearnPython
07Hardware-Specialized Inference Compilation — FP8 and NVFP4 on BlackwellLearnPython
08Inference Metrics — TTFT, TPOT, ITL, Goodput, P99LearnPython
09Production Quantization — AWQ, GPTQ, GGUF, FP8, NVFP4LearnPython
10Cold Start Mitigation for Serverless LLMsLearnPython
11Multi-Region LLM Serving and KV Cache LocalityLearnPython
12Edge Inference — ANE, Hexagon, WebGPU, JetsonLearnPython
13LLM Observability Stack SelectionLearnPython
14Prompt Caching and Semantic Caching EconomicsLearnPython
15Batch APIs — the 50% Discount as Industry StandardLearnPython
16Model Routing as a Cost-Reduction PrimitiveLearnPython
17Disaggregated Prefill/Decode — NVIDIA Dynamo and llm-dLearnPython
18Production Serving Stack — KV Offloading and Cache-Aware RoutingLearnPython
19AI Gateways — LiteLLM, Portkey, Kong, BifrostLearnPython
20Shadow, Canary, and Progressive DeploymentLearnPython
21A/B Testing LLM Features — GrowthBook and StatsigLearnPython
22Load Testing LLM APIs — k6, LLMPerf, GenAI-PerfBuildPython
23SRE for AI — Multi-Agent Incident ResponseLearnPython
24Chaos Engineering for LLM ProductionLearnPython
25Security — Secrets, PII Scrubbing, Audit LogsLearnPython
26Compliance — SOC 2, HIPAA, GDPR, EU AI Act, ISO 42001LearnPython
27FinOps for LLMs — Unit Economics and Multi-Tenant AttributionLearnPython
28Self-Hosted Serving Selection — Matching Engine to Hardware and ScaleLearnPython
Phase 18 — Ethics, Safety & Alignment  30 lessons  Build AI that helps humanity. Not optional.
Phase 19 — Capstone Projects  85 lessons  17 end-to-end products + 9 deep-build tracks. 20-40 hours per project; 4-12 lessons per track.
#ProjectCombinesLang
01Terminal-Native Coding AgentP0 P5 P7 P10 P11 P13 P14 P15 P17 P18Python
02RAG over Codebase (Cross-Repo Semantic Search)P5 P7 P11 P13 P17Python
03Real-Time Voice Assistant (ASR → LLM → TTS)P6 P7 P11 P13 P14 P17Python
04Multimodal Document QA (Vision-First)P4 P5 P7 P11 P12 P17Python
05Autonomous Research Agent (AI-Scientist Class)P0 P2 P3 P7 P10 P14 P15 P16 P18Python
06DevOps Troubleshooting Agent for KubernetesP11 P13 P14 P15 P17 P18Python
07End-to-End Fine-Tuning PipelineP2 P3 P7 P10 P11 P17 P18Python
08Production RAG Chatbot (Regulated Vertical)P5 P7 P11 P12 P17 P18Python
09Code Migration Agent (Repo-Level Upgrade)P5 P7 P11 P13 P14 P15 P17Python
10Multi-Agent Software Engineering TeamP11 P13 P14 P15 P16 P17Python
11LLM Observability & Eval DashboardP11 P13 P17 P18Python
12Video Understanding Pipeline (Scene → QA)P4 P6 P7 P11 P12 P17Python
13MCP Server with Registry and GovernanceP11 P13 P14 P17 P18Python
14Speculative-Decoding Inference ServerP3 P7 P10 P17Python
15Constitutional Safety Harness + Red-Team RangeP10 P11 P13 P14 P18Python
16GitHub Issue-to-PR Autonomous AgentP11 P13 P14 P15 P17Python
17Personal AI Tutor (Adaptive, Multimodal)P5 P6 P11 P12 P14 P17 P18Python

Deep-build tracks — multi-lesson series that build a complete subsystem from scratch.

#ProjectCombinesLang
20Agent Harness Loop ContractA. Agent harnessPython
21Tool Registry with Schema ValidationA. Agent harnessPython
22JSON-RPC 2.0 Over Newline-Delimited StdioA. Agent harnessPython
23Function Call DispatcherA. Agent harnessPython
24Plan-Execute Control FlowA. Agent harnessPython
25Verification Gates and Observation BudgetA. Agent harnessPython
26Sandbox Runner with Denylist and Path JailA. Agent harnessPython
27Eval Harness with Fixture TasksA. Agent harnessPython
28Observability with OTel GenAI Spans and Prometheus MetricsA. Agent harnessPython
29End-to-End Coding Agent on the HarnessA. Agent harnessPython
30BPE Tokenizer From ScratchB. NLP LLMPython
31Tokenized Dataset with Sliding WindowB. NLP LLMPython
32Token and Positional EmbeddingsB. NLP LLMPython
33Multi-Head Self-AttentionB. NLP LLMPython
34Transformer Block from ScratchB. NLP LLMPython
35GPT Model AssemblyB. NLP LLMPython
36Training Loop and EvaluationB. NLP LLMPython
37Loading Pretrained WeightsB. NLP LLMPython
38Classifier Fine-Tuning by Head SwapB. NLP LLMPython
39Instruction Tuning by Supervised Fine-TuningB. NLP LLMPython
40Direct Preference Optimization from ScratchB. NLP LLMPython
41Full Evaluation PipelineB. NLP LLMPython
42Large Corpus DownloaderC. Train end-to-endPython
43HDF5 Tokenized CorpusC. Train end-to-endPython
44Cosine LR with Linear WarmupC. Train end-to-endPython
45Gradient Clipping and Mixed PrecisionC. Train end-to-endPython
46Gradient AccumulationC. Train end-to-endPython
47Checkpoint Save and ResumeC. Train end-to-endPython
48Distributed Data Parallel and FSDP from ScratchC. Train end-to-endPython
49Language Model Evaluation HarnessC. Train end-to-endPython
50Hypothesis GeneratorD. Auto researchPython
51Literature RetrievalD. Auto researchPython
52Experiment RunnerD. Auto researchPython
53Result EvaluatorD. Auto researchPython
54Paper WriterD. Auto researchPython
55Critic LoopD. Auto researchPython
56Iteration SchedulerD. Auto researchPython
57End-to-End Research DemoD. Auto researchPython
58Vision Encoder PatchesE. Multimodal VLMPython
59Vision Transformer EncoderE. Multimodal VLMPython
60Projection Layer for Modality AlignmentE. Multimodal VLMPython
61Cross-Attention FusionE. Multimodal VLMPython
62Vision-Language PretrainingE. Multimodal VLMPython
63Multimodal EvaluationE. Multimodal VLMPython
64Chunking Strategies, ComparedF. Advanced RAGPython
65Hybrid Retrieval with BM25 and Dense EmbeddingsF. Advanced RAGPython
66Cross-Encoder RerankerF. Advanced RAGPython
67Query Rewriting: HyDE, Multi-Query, and DecompositionF. Advanced RAGPython
68RAG Evaluation: Precision, Recall, MRR, nDCG, Faithfulness, Answer RelevanceF. Advanced RAGPython
69End-to-End RAG SystemF. Advanced RAGPython
70Task Spec FormatG. Eval frameworkPython
71Classical MetricsG. Eval frameworkPython
72Code Exec MetricG. Eval frameworkPython
73Perplexity and CalibrationG. Eval frameworkPython
74Leaderboard AggregationG. Eval frameworkPython
75End-to-End Eval RunnerG. Eval frameworkPython
76Collective Ops From ScratchH. Distributed trainPython
77Data Parallel DDP From ScratchH. Distributed trainPython
78ZeRO Optimizer State ShardingH. Distributed trainPython
79Pipeline Parallel and Bubble AnalysisH. Distributed trainPython
80Sharded Checkpoint and Atomic ResumeH. Distributed trainPython
81End-to-End Distributed TrainingH. Distributed trainPython
82Jailbreak TaxonomyI. Safety harnessPython
83Prompt Injection DetectorI. Safety harnessPython
84Refusal EvaluationI. Safety harnessPython
85Content Classifier IntegrationI. Safety harnessPython
86Constitutional Rules EngineI. Safety harnessPython, YAML
87End-to-End Safety GateI. Safety harnessPython
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

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

Plug them into Claude, Cursor, Codex, OpenClaw, Hermes, or any agent that reads a SKILL.md / AGENTS.md directory. Real tools, not homework.

Install course skills into your agent

Two skill sets, two installers:

The learning skills (/start-learning, /learn, /course-guide, /claude-certification, /find-your-level, /check-understanding) live under skills/ and install into any agent with one command — no clone, no Python:

npx skills add rohitg00/ai-engineering-from-scratch

skills writes to whichever directory your agent picks up: .claude/skills/, .cursor/skills/, .codex/skills/, OpenClaw's skills folder, Hermes's bundle path, or any SKILL.md-aware tool. One command, every agent.

The lesson artifacts. The repo ships 388 skills and 99 prompts under phases/**/outputs/; install them via scripts/install_skills.py. Requires cloning the repo. Supports tag filters, dry-runs, and per-agent layouts:

python3 scripts/install_skills.py <target>                                 # every skill, default --layout skills (nested)
python3 scripts/install_skills.py <target> --layout skills                 # same as above, explicit
python3 scripts/install_skills.py <target> --type all                      # skills + prompts + agents
python3 scripts/install_skills.py <target> --phase 14                      # one phase only
python3 scripts/install_skills.py <target> --tag rag                       # filter by tag
python3 scripts/install_skills.py <target> --layout flat                   # flat files
python3 scripts/install_skills.py <target> --dry-run                       # preview without writing
python3 scripts/install_skills.py <target> --force                         # overwrite existing files

<target> is the skills directory for your agent (examples: ~/.claude/skills/, ~/.cursor/skills/, ~/.config/openclaw/skills/, .skills/, or any path your agent reads).

By default the script refuses to overwrite an existing destination and exits with code 1 after listing every colliding path. Use --dry-run to preview collisions or --force to overwrite. Every non-dry-run run writes a manifest.json in the target with the full inventory grouped by type and phase. Pick the layout your agent reads:

--layoutPath written
skills<target>/<name>/SKILL.md (nested convention, supported by Claude / Cursor / Codex / OpenClaw / Hermes)
by-phase<target>/phase-NN/<name>.md
flat<target>/<name>.md

Drop the agent workbench into your own repo

The Phase 14 capstone ships a reusable Agent Workbench pack (AGENTS.md, schemas, init / verify / handoff scripts). Scaffold it into any repo with:

python3 scripts/scaffold_workbench.py path/to/your-repo            # full pack + seeds
python3 scripts/scaffold_workbench.py path/to/your-repo --minimal  # skip docs/
python3 scripts/scaffold_workbench.py path/to/your-repo --dry-run  # preview only
python3 scripts/scaffold_workbench.py path/to/your-repo --force    # overwrite

You get the seven workbench surfaces wired up, a starter task_board.json, and a fresh agent_state.json at schema_version: 1. From there: edit the task, edit AGENTS.md, run scripts/init_agent.py, hand the contract to your agent. The pack source lives at phases/14-agent-engineering/42-agent-workbench-capstone/outputs/agent-workbench-pack/.

Browse the entire course as JSON

scripts/build_catalog.py walks every phase, every lesson, every artifact on disk and writes catalog.json at the repo root. One file, every course truth.

python3 scripts/build_catalog.py               # writes <repo>/catalog.json
python3 scripts/build_catalog.py --stdout      # to stdout, do not touch repo
python3 scripts/build_catalog.py --out path/to/file.json

The catalog is filesystem-derived, not README-derived, so counts always match what is actually on disk. Use it for site builds, downstream tooling, or to verify the README counts have not drifted. Schema is documented at the top of the script.

A GitHub Action (.github/workflows/curriculum.yml) rebuilds catalog.json on every PR and fails the build if the committed file is stale. After editing any lesson, run python3 scripts/build_catalog.py and commit the result, or CI will reject the PR. The same workflow runs audit_lessons.py in warn-only mode (so existing drift does not block contributors).

Smoke-check every lesson's Python code

scripts/lesson_run.py byte-compiles every .py file under each lesson's code/ directory. Default mode is syntax-check only — no execution, no API keys, no heavy ML deps required. Catches the regressions contributors introduce most often (bad indentation, broken f-strings, stray edits).

python3 scripts/lesson_run.py                  # syntax-check the whole curriculum
python3 scripts/lesson_run.py --phase 14       # one phase only
python3 scripts/lesson_run.py --json           # JSON report on stdout
python3 scripts/lesson_run.py --strict         # exit 1 if any lesson fails
python3 scripts/lesson_run.py --execute        # actually run, 10s timeout per lesson

--execute runs each lesson's code/main.py (or the first .py file) with a 10-second timeout. Lessons whose entry file starts with a # requires: pkg1, pkg2 comment listing non-stdlib deps are skipped with reason needs <deps>. The script is opt-in and not wired into CI.

Stdlib only, Python 3.10+. Set LINK_CHECK_SKIP=domain1,domain2 to override the default skip-list (twitter.com, x.com, linkedin.com, instagram.com, medium.com — domains that aggressively block automated HEAD/GET).

Where to start

BackgroundStart atEstimated time
New to programming and AIPhase 0 — Setup~306 hours
Know Python, new to MLPhase 1 — Math Foundations~270 hours
Know ML, new to deep learningPhase 3 — Deep Learning Core~200 hours
Know deep learning, want LLMs and agentsPhase 10 — LLMs from Scratch~100 hours
Senior engineer, only want agent engineeringPhase 14 — Agent Engineering~60 hours
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Why this matters now

FIG_003 · A
THE INDUSTRY SIGNAL
FIG_003 · B
FOUNDATIONAL PAPERS COVERED

"The hottest new programming language is English."
Andrej Karpathy (tweet)

"Software engineering is being remade in front of our eyes."
Boris Cherny, creator of Claude Code

"Models will keep getting better. The skill that compounds is knowing what to build."
— 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 ModelsPhase 8
  • InstructGPT / RLHFPhase 10
  • Direct Preference OptimizationPhase 10
  • Chain-of-Thought PromptingPhase 11
  • ReAct: Reasoning + Acting in LLMsPhase 14
  • Model Context Protocol — Anthropic → Phase 13
░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Contributing

GoalRead
Contribute a lesson or fixCONTRIBUTING.md
Fork for your team or schoolFORKING.md
Lesson templateLESSON_TEMPLATE.md
Track progressROADMAP.md
Glossaryglossary/terms.md
Code of conductCODE_OF_CONDUCT.md

Before submitting a lesson, run the invariant check:

python3 scripts/audit_lessons.py           # full curriculum
python3 scripts/audit_lessons.py --phase 14  # single phase
python3 scripts/audit_lessons.py --json    # CI-friendly output

Exit code is non-zero when any rule fails. Rules (L001–L010) validate directory shape, docs/en.md presence + H1, code/ non-emptiness, quiz.json schema (rejects the legacy q/choices/answer keys that caused issue #102), and relative links inside lesson docs.

░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒░░░▒▒▒

Free, MIT-licensed, 503 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.



Vercel OSS Program

Current sponsors: CodeRabbit · iii

Tier$/moWhat you get
Backer$25Name in BACKERS.md
Bronze$250Text-only row in README sponsor block + launch-day tweet
Silver$750Small logo in README + listed as one supported provider in API lessons
Gold$2,000Medium logo in README + sponsor page + quarterly X / LinkedIn co-feature
Platinum$5,000Hero 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

Star history

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.

@ghumare64  ·  aiengineeringfromscratch.com  ·  Report / Suggest

Contributors

rohitg00

1,558 commits

abhinav-m22

13 commits

thereisnotime

6 commits

Languages

Python

54.4%

JavaScript

32.0%

TypeScript

5.5%

HTML

4.1%

Julia

1.9%

Rust

1.0%