# 4‑Month AI/LLM Engineering Curriculum — Learn by Building *ReviewLoop*

> **For:** a senior iOS/Swift architect (12 yrs) going from Python‑zero to production AI engineer.
> **Shape:** **Phase 0 (~2 wks Python)** + **16‑wk build track** · **~10–12 hrs/week** · every concept is applied to shipping the review engine (see `product-brief.md`).
> **New to Python? Start with Phase 0 below** — it's "Python for people who already code," not intro‑to‑coding.
> **Rule:** learn just enough of each layer to build the next milestone. Depth compounds; don't gold‑plate.
> **Every link is verified live (2026).** Each week gives you: 🎥 a **video/course to learn it**, 🔨 a **build task**, and 📖 **docs to reference**. Credentials → see `certifications.md`.

## How this is different from a tutorial marathon

You are **not** collecting certificates. Each month ends in a **milestone you could show in a job interview** *and* that moves the product forward. Two tracks run in parallel:

- **Build track** — the weekly engineering below.
- **Validation track** — the customer discovery in `go-to-market.md` (Phase 0), running Weeks 1–8. **Do them together.**

---

## 🎥 Start here — anchor courses & channels

**The one course to spine your first two months** (do it alongside Weeks 3–8):
- **[Building with the Claude API — Anthropic Academy](https://anthropic.skilljar.com/claude-with-the-anthropic-api)** · free · ~8h, 84 lessons — API fundamentals, prompt engineering, tool use, RAG, and agentic workflows with hands‑on projects. *The single best structured resource for your core skill.* (Also on [Coursera](https://www.coursera.org/learn/building-with-the-claude-api) with a certificate.)

**Watch one end‑to‑end build early** — to see the whole stack fit together before you go deep:
- [Complete Agentic AI Course in 10 Hours — LangChain, LangGraph, RAG, Guardrails, Evals (Krish Naik)](https://www.youtube.com/watch?v=rV3HJ4LEZ7k) · free · ~10h
- [Ship a Production‑Ready RAG App with FAISS + FastAPI (Guardrails, Evals, Fallbacks) — freeCodeCamp](https://www.freecodecamp.org/news/build-rag-app-faiss-fastapi/) · free · ~1–2h — *closest match to your backend architecture.*
- [Learn Generative AI in 30 Hours — freeCodeCamp](https://www.freecodecamp.org/news/learn-generative-ai-in/) · free · ~30h — the exhaustive option.
- [Build & Deploy a SaaS AI Agent Platform — Full Course 2025](https://www.youtube.com/watch?v=xEDCEmqyvC8) · free · ~5–6h — shipping a real product (auth, billing, deploy).

**Channels to subscribe to** (practical, current AI‑engineering follow‑alongs):
- [Dave Ebbelaar](https://www.youtube.com/@daveebbelaar) — production AI systems in plain Python (agents, RAG, no framework hype).
- [Cole Medin](https://www.youtube.com/@ColeMedin) — twice‑weekly production agent/RAG builds, all code on GitHub.
- [Sam Witteveen](https://www.youtube.com/@samwitteveenai) — agent frameworks, evals, what matters in production.
- [AI Jason](https://www.youtube.com/@AIJasonZ) — multi‑agent systems, architecture, evaluation.

### Model & tooling choices (verified current, 2026)

- **Conversational agent + insight extraction:** **Claude Sonnet 5** (`claude-sonnet-5`) — best speed/intelligence, intro $2/$10 per Mtok through Aug 31 2026.
- **High‑volume sentiment/classification:** **Claude Haiku 4.5** (`claude-haiku-4-5`) — $1/$5, fast and cheap.
- **Hard synthesis (occasional):** **Claude Opus 4.8** (`claude-opus-4-8`) — $5/$25.
- **Prompt caching** the per‑clinic system prompt to cut cost/latency.
- **Embeddings for RAG:** **Voyage AI** `voyage-4` (Anthropic has no first‑party embedding model and recommends Voyage), stored in **pgvector** or **Chroma**.

---

## 🐍 PHASE 0 — Learn Python first (~2 weeks, before Week 1)
*You're a senior programmer, not a programming beginner — so this is **"Python for people who already code,"** not intro‑to‑coding. Move fast; real fluency comes as you build in Month 1+.*

### ⭐ Recommended path (learn fast **+** earn a free credential)
1. **Day 1 — map the syntax:** skim [Learn Python in Y Minutes](https://learnxinyminutes.com/python/) (~1h) to translate Swift → Python (optionals→`None`, closures→lambdas, protocols→duck typing).
2. **Weeks 0–2 — go structured:** **[CS50P — Harvard's Introduction to Programming with Python](https://www.edx.org/learn/python/harvard-university-cs50-s-introduction-to-programming-with-python)** · free · moves fast into real idioms (functions, exceptions, OOP, regex, **pytest**, file I/O), auto‑graded, not condescending — and grants a **free Harvard certificate** at 70%+. *Doubles as your first certification.*
3. **Throughout — build fluency by doing:** live on the **[Exercism Python track](https://exercism.org/tracks/python)** (free, with human mentoring on *idiomatic* Python) + daily [Codewars](https://www.codewars.com/kata/search/python) reps.

### Alternatives (pick what fits your style)
- **Pure speed, no cert:** [official Python Tutorial](https://docs.python.org/3/tutorial/index.html) + [Google's Python Class](https://developers.google.com/edu/python) (built for engineers who already know another language) — a day or two, free.
- **Video:** [Mosh — Python Full Course (2025, ~2h)](https://www.youtube.com/watch?v=K5KVEU3aaeQ) at 1.5× for syntax → [Corey Schafer playlist](https://www.youtube.com/playlist?list=PL-osiE80TeTskrapNbzXhwoFUiLCjGgY7) for Pythonic idioms (comprehensions, decorators, generators) Swift doesn't have.
- **Fully‑free browser certificate:** [freeCodeCamp — Scientific Computing with Python](https://www.freecodecamp.org/learn/scientific-computing-with-python) (project‑based, free cert).
- **Later, to sound idiomatic (not "Swift‑in‑Python"):** [Real Python — Start Here](https://realpython.com/start-here/).

> ⏱️ **Timeline:** this adds ~2 weeks. To hold the 4‑month cap, front‑load it at **higher intensity** (Python comes fast to a 12‑year engineer). If a week slips later, this on‑ramp is the natural place to let the calendar flex.

> ➡️ **Then Week 1** picks up with *modern* Python idioms + async + Pydantic — now that fundamentals are in place.

---

## 🗓️ MONTH 1 — Foundations & your first LLM calls
*Goal: Python + async + FastAPI + first Claude calls. Bridge your Swift instincts (Pydantic ≈ Codable/structs, async/await ≈ Swift Concurrency).*

### Week 1 — Modern Python for a Swift developer
- 🎥 **Learn:**
  - [Asyncio in Python — Full Tutorial (Tech With Tim)](https://www.youtube.com/watch?v=Qb9s3UiMSTA) · free · ~30m
  - [Type Hints, the senior‑engineer take (ArjanCodes)](https://www.youtube.com/watch?v=0oBLMwHdZ2Y) · free · ~15m — maps your Swift static‑typing intuition onto Python.
  - [Next‑Level Concurrency with Asyncio (ArjanCodes)](https://www.youtube.com/watch?v=GpqAQxH1Afc) · free · ~25m — idiomatic patterns for an architect.
  - *(paid, optional deep‑dive)* [Async Techniques in Python — Talk Python](https://training.talkpython.fm/courses/details/async-in-python-with-threading-and-multiprocessing) · ~5h
- 🔨 **Build:** repo with `uv`; typed Pydantic models `IncomingMessage` / `Conversation`; a small async script.
- 📖 **Reference:** [uv](https://docs.astral.sh/uv/) · [Pydantic v2](https://docs.pydantic.dev/latest/) · [async/await explainer](https://fastapi.tiangolo.com/async/) · [Async IO — Real Python](https://realpython.com/async-io-python/) · [Type Checking — Real Python](https://realpython.com/python-type-checking/)

### Week 2 — FastAPI backend
- 🎥 **Learn:**
  - [FastAPI Course for Beginners — freeCodeCamp](https://www.youtube.com/watch?v=tLKKmouUams) · free · ~4h — quick on‑ramp.
  - [Python API Development — Comprehensive Course (freeCodeCamp)](https://youtu.be/0sOvCWFmrtA) · free · ~19h — the gold‑standard full build (Pydantic, Postgres, auth, pytest, Docker, CI/CD). *Skim/skip sections you don't need yet.*
  - *(paid, optional)* [TDD with FastAPI and Docker — TestDriven.io](https://testdriven.io/courses/tdd-fastapi/) · [Modern APIs with FastAPI — Talk Python](https://training.talkpython.fm/courses/modern-fastapi-apis) · [FastAPI Complete Course 2026 — Udemy](https://www.udemy.com/course/fastapi-the-complete-course/)
- 🔨 **Build:** a FastAPI `/webhook` endpoint that accepts a mock WhatsApp payload (Pydantic‑validated) and logs it.
- 📖 **Reference:** [FastAPI Tutorial](https://fastapi.tiangolo.com/tutorial/) · [Background Tasks](https://fastapi.tiangolo.com/tutorial/background-tasks/) · [Webhooks](https://fastapi.tiangolo.com/advanced/openapi-webhooks/)

### Week 3 — The Claude API & prompting
- 🎥 **Learn:** start the **[Anthropic Academy — Building with the Claude API](https://anthropic.skilljar.com/claude-with-the-anthropic-api)** course (Modules 1–3: API fundamentals + prompting). Quick complement: [Claude API Crash Course (video series)](https://www.youtube.com/watch?v=H7LZb20-fUY).
- 🔨 **Build:** the webhook calls **Claude Sonnet 5** to generate a warm reply; iterate the review‑ask prompt.
- 📖 **Reference:** [Messages API](https://platform.claude.com/docs/en/api/messages) · [Interactive Prompt Engineering Tutorial](https://github.com/anthropics/prompt-eng-interactive-tutorial) · [Claude Cookbooks](https://github.com/anthropics/claude-cookbooks)

### Week 4 — Tool use, structured outputs & prompt caching
- 🎥 **Learn:** continue **Anthropic Academy** (tool‑use modules) + [Agent Skills with Anthropic (DeepLearning.AI)](https://www.deeplearning.ai/courses/agent-skills-with-anthropic) · free · ~1h.
- 🔨 **Build:** classify sentiment (`happy|neutral|unhappy`) via structured output with **Haiku 4.5**; cache the per‑clinic system prompt.
- 📖 **Reference:** [Tool Use](https://docs.anthropic.com/en/docs/build-with-claude/tool-use) · [Prompt Caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)

> 🏁 **Milestone 1:** a FastAPI service that receives a (mock) WhatsApp message, generates a Claude reply, and classifies sentiment. *Interview‑showable.*

---

## 🗓️ MONTH 2 — The product engine: RAG + agent + real integrations
*Goal: turn it into the actual review loop, wired to real WhatsApp + Google.*

### Week 5 — RAG & vector databases
- 🎥 **Learn:**
  - [RAG From Scratch — LangChain engineer (freeCodeCamp / Lance Martin)](https://www.youtube.com/watch?v=sVcwVQRHIc8) · free · ~2.5h
  - [Python RAG over your PDFs — pixegami](https://www.youtube.com/watch?v=2TJxpyO3ei4) · free · ~20m — clean follow‑along with GitHub code.
  - [Production RAG with LangChain & Vector DBs — freeCodeCamp (2026)](https://www.youtube.com/watch?v=mHxLXzYjQRE) · free
  - *(paid, structured)* [RAG — DeepLearning.AI (Zain Hasan)](https://learn.deeplearning.ai/courses/retrieval-augmented-generation/information) · ~6–8h
- 🔨 **Build:** RAG over a clinic's FAQ/services (Voyage embeddings + pgvector); answer "do you do teeth whitening? hours?".
- 📖 **Reference:** [Pinecone RAG primer](https://www.pinecone.io/learn/retrieval-augmented-generation/) · [pgvector](https://github.com/pgvector/pgvector) · [Qdrant](https://qdrant.tech/documentation/) · [Chroma](https://docs.trychroma.com/)

### Week 6 — Agents & tool‑calling patterns
- 🎥 **Learn:**
  - [Agentic AI — Andrew Ng (DeepLearning.AI)](https://www.deeplearning.ai/courses/agentic-ai) · freemium — the four core agent patterns.
  - [Build Effective AI Agents in Pure Python — Dave Ebbelaar](https://www.youtube.com/@daveebbelaar) · free — no framework hype.
  - [AI Agents in LangGraph — Harrison Chase (DeepLearning.AI)](https://www.deeplearning.ai/courses/ai-agents-in-langgraph) · free · ~2h
  - [Hugging Face AI Agents Course (certified)](https://huggingface.co/learn/agents-course/en/unit0/introduction) · free
- 🔨 **Build:** the conversational review agent — multi‑turn, adaptive follow‑ups, a tool to log outcome + route.
- 📖 **Reference:** [Building Effective Agents — Anthropic](https://www.anthropic.com/research/building-effective-agents) · [Agent Patterns cookbook](https://github.com/anthropics/claude-cookbooks/tree/main/patterns/agents) · [Tool use overview](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview)

### Week 7 — WhatsApp Cloud API integration
- 🎥 **Learn:**
  - [Build AI WhatsApp Bots with Pure Python — Dave Ebbelaar (repo + video)](https://github.com/daveebbelaar/python-whatsapp-bot) · free — the most‑recommended follow‑along (Cloud API + webhooks + signature security).
  - [AI Chatbot for WhatsApp with Python, Twilio & LLM — official Twilio guide (FastAPI + Postgres)](https://www.twilio.com/en-us/blog/ai-chatbot-whatsapp-python-twilio-openai) · free — closest to your architecture.
  - [Connect an LLM to WhatsApp via Twilio (video)](https://www.youtube.com/watch?v=WGklRhIYvOc) · free · ~20m — fastest prototype path.
- 🔨 **Build:** connect a real WhatsApp number (Cloud API sandbox or Twilio); wire the agent to real inbound/outbound messages.
- 📖 **Reference:** [WhatsApp Cloud API — Get Started](https://developers.facebook.com/documentation/business-messaging/whatsapp/get-started) · [Pricing](https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing) · [Twilio WhatsApp Quickstart](https://www.twilio.com/docs/whatsapp/quickstart)

### Week 8 — Google Business Profile API
- 🎥 **Learn:** no single canonical video — reuse the WhatsApp/Twilio build tutorials' integration patterns (OAuth, REST calls). Follow the official reference below.
- 🔨 **Build:** pull a clinic's reviews, draft AI replies (`reviews.updateReply`, one‑tap approve), generate the "leave a review" link for happy customers. *(API can read + reply, not post reviews for users.)*
- 📖 **Reference:** [Work with review data — Google Business Profile API](https://developers.google.com/my-business/content/review-data)

> 🏁 **Milestone 2 (the working MVP core):** real WhatsApp conversation → sentiment → happy get a Google review link / unhappy alert the owner → RAG answers questions.

---

## 🗓️ MONTH 3 — Production AI discipline: evals, guardrails, compliance
*This month separates an AI engineer from a prompt‑wrapper. Do not skip it.*

### Week 9 — Eval harness & golden datasets
- 🎥 **Learn:**
  - [Evaluating AI Agents — DeepLearning.AI × Arize](https://www.deeplearning.ai/courses/evaluating-ai-agents) · free · ~1h10 — hands‑on: tracing + code‑based + LLM‑as‑judge + human evals.
  - *(paid, gold standard)* [AI Evals for Engineers & PMs — Hamel Husain & Shreya Shankar](https://maven.com/parlance-labs/evals) · cohort course — the definitive evals workflow. Pricey; the free DeepLearning.AI course covers the essentials to start.
- 🔨 **Build:** a ~30‑conversation golden set; eval sentiment + routing accuracy; LLM‑as‑judge for conversation quality.
- 📖 **Reference:** [Build evaluations — Claude Docs](https://docs.anthropic.com/en/docs/test-and-evaluate/develop-tests) · [LLM Evals FAQ — Hamel & Shreya](https://hamel.dev/blog/posts/evals-faq/) · [OpenAI Evals cookbook](https://developers.openai.com/cookbook/examples/evaluation/getting_started_with_openai_evals)

### Week 10 — Guardrails, prompt injection & the compliance guardrail
- 🎥 **Learn:**
  - [Red Teaming LLM Applications — DeepLearning.AI × Giskard](https://www.deeplearning.ai/courses/red-teaming-llm-applications) · free · ~1h — attack your own bot with injections.
  - [Automated Testing for LLMOps — DeepLearning.AI × CircleCI](https://www.deeplearning.ai/short-courses/automated-testing-llmops) · free · ~1h — evals in CI on every change.
- 🔨 **Build:** enforce "always offer the public review to everyone" (no gating) as a *tested* compliance guardrail with regression tests; add injection defenses.
- 📖 **Reference:** [Mitigate jailbreaks & prompt injections — Claude Docs](https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/mitigate-jailbreaks) · [LLM Guardrails guide](https://www.confident-ai.com/blog/llm-guardrails-the-ultimate-guide-to-safeguard-llm-systems)

### Week 11 — Insight extraction + human‑in‑the‑loop
- 🔨 **Build:** cluster themes across conversations into a simple dashboard ("Tuesday wait‑time complaints ×6"); add a human‑in‑the‑loop validation view (LLMs hallucinate themes / under‑weight minority views).

### Week 12 — Multi‑tenancy & data isolation
- 🔨 **Build:** per‑clinic tenancy + data isolation; onboarding = connect Google Business Profile + WhatsApp number.

> 🏁 **Milestone 3:** an eval'd, guardrailed, multi‑tenant product with an insights dashboard. *The "real production AI engineer" proof.*

---

## 🗓️ MONTH 4 — Observability, multilingual, ship
*Goal: deploy, go multilingual, get pilot clinics live.*

### Week 13 — Observability & tracing
- 🎥 **Learn:**
  - [10‑min Langfuse walkthrough (official)](https://www.youtube.com/watch?v=2E8iTvGo9Hs) · free — tracing, evals, prompt mgmt, datasets.
  - [Langfuse + backend, hands‑on build tutorial](https://encore.dev/blog/langfuse-tutorial) · free — instrument LLM calls, track cost across models.
  - [Phoenix (Arize) LLM Observability playlist](https://www.youtube.com/playlist?list=PL86ARIu_ElO5F3LCwM-k3ZDhvnuigxqbw) · free — vendor‑neutral, self‑hostable.
- 🔨 **Build:** Langfuse/OTel tracing across tenants; a cost/latency/quality dashboard.
- 📖 **Reference:** [Langfuse Docs](https://langfuse.com/docs/observability/overview) · [Get started tracing](https://langfuse.com/docs/observability/get-started) · [OpenTelemetry GenAI](https://opentelemetry.io/docs/specs/semconv/gen-ai/)

### Week 14 — Multilingual (Arabic + English)
- 🔨 **Build:** Arabic/English auto‑detection + responses; extend the eval harness to Arabic.

### Week 15 — Deploy & harden
- 🎥 **Learn:**
  - [Docker for Beginners — TechWorld with Nana](https://www.youtube.com/watch?v=3c-iBn73dDE) · free · ~3h — the gold‑standard Docker foundation.
  - [Containerize a FastAPI app with Docker (follow‑along)](https://www.youtube.com/watch?v=4AVJNWX-KwY) · free · ~30–45m
  - [Deploy FastAPI with Docker to the cloud + custom domain (2026)](https://www.youtube.com/watch?v=eqjngvKfabg) · free
- 🔨 **Build:** Dockerize; deploy to Railway/Render/Fly; managed Postgres; secrets/env; a security pass.
- 📖 **Reference:** [FastAPI Docker](https://fastapi.tiangolo.com/deployment/docker/) · [Railway](https://docs.railway.com/guides/fastapi) · [Fly.io](https://fly.io/docs/python/frameworks/fastapi/) · [Render + Postgres](https://www.freecodecamp.org/news/deploy-fastapi-postgresql-app-on-render/) · [pydantic-settings](https://docs.pydantic.dev/latest/concepts/pydantic_settings/)

### Week 16 — Onboard design partners + polish
- 🔨 **Build:** onboard 3–5 pilot clinics; weekly WhatsApp/email digest; a simple landing page (see `go-to-market.md`).

### Optional stretch — On‑device / MLX (your latent iOS moat)
*Only after the core ships. Run cheap sentiment/PII‑redaction on‑device to cut cost + offer a privacy story.*
- 🎥 [WWDC25: LLMs on Apple silicon with MLX](https://www.youtube.com/watch?v=tn2Hvw7eCsw) · free · ~20m ([Apple page](https://developer.apple.com/videos/play/wwdc2025/298/)) · [Fine‑tune with MLX + LoRA — Chris Hay](https://www.classcentral.com/course/youtube-apple-mlx-fine-tuning-guide-423741) · [Fine‑tune Llama 3.2 1B on Apple Silicon](https://www.youtube.com/watch?v=WWrFwePNpi0)
- 📖 [mlx-lm](https://github.com/ml-explore/mlx-lm) · [MLX Docs](https://ml-explore.github.io/mlx/) · [llm-mlx — Simon Willison](https://simonwillison.net/2025/Feb/15/llm-mlx/) · [Core ML Tools](https://apple.github.io/coremltools/docs-guides/)

> 🏁 **Milestone 4:** a deployed, multilingual, observable MVP live with pilot clinics + a validated pricing test. *Your portfolio centerpiece **and** the start of a real business.*

---

## What you'll be able to say at the end

*"I designed and shipped a multi‑tenant, production LLM application: async FastAPI backend, RAG over per‑tenant data, a tool‑calling conversational agent on WhatsApp, an eval harness with compliance guardrails, full observability, multilingual support, deployed on Docker — with paying pilot customers."* That sentence is a senior AI‑engineering hire, and a founded product, at the same time.
