Skip to content
CAI
Software that uses CAICheck a score

rohitg00/ai-engineering-from-scratch

48.8

Weak · 3 October 2026

165.9k

lines of production code

Python

with JavaScript, TypeScript

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is an older educational platform focused on project-based learning, currently undergoing significant structural and content enhancements. It features a site layer that supports interactive figures, lesson completion tracking, and newsletter integration, alongside a backend API managing certifications and markdown content. Recent efforts have introduced a new project build system, a dedicated Projects section with authoring contracts, and improved dependency management for scaffolding. The codebase also includes specific support for multimodal document QA within its capstone projects, indicating a focus on advanced, hands-on technical training.

Narrated so far: 2026-09-27 – 2026-09-29; history before 2026-09-27 not narrated yet.

How it got here

Week 39 of 2026 (21 Sep – 27 Sep) — not summarised yet

  • Updated documentation references and code examples — This release updates documentation links and code examples across multiple lessons to reflect current best practices and available resources. Key changes include updating the Wikipedia dataset version in data management, correcting reference links for academic papers and tools, and updating model identifiers and API usage in code examples (e.g., Depth Anything V2, DeBERTa-v3, MMAU-Pro benchmark). Additionally, quantization examples now use GPTQModel and LLM Compressor instead of archived AutoGPTQ and AutoAWQ, and speculative decoding examples use the new vLLM \--speculative-config\ flag. Some lessons also update model names and context window information for Gemini and Llama models. (phases, phases/19-capstone-projects/04-multimodal-document-qa/code/ts)
  • Site adds Substack newsletter signup and fixes theme storage errors — The site now includes a Substack newsletter signup form, dynamically injected via the header script and styled with new CSS/JS assets, with a corresponding update to the privacy policy. Additionally, the theme toggle logic in app.js and about.html now wraps localStorage reads and writes in try/catch blocks to prevent crashes when storage is unavailable or blocked, and the header.js version has been bumped across all pages to ensure the new newsletter code is loaded. (site)

This week

  • Add lesson completion tracking and UI — Users can now mark lessons as complete or incomplete via a new "Complete Lesson" button and status panel at the end of each lesson. This feature updates the user's progress state, allowing them to track their completion status and continue through the curriculum. The UI includes localized strings for completion messages and status updates in multiple languages. (site)
  • Added dependency manifests for new and existing project scaffolds — This change introduces dependency configuration files (package.json, go.mod, and requirements.txt) for a wide range of project templates, including agent-trace-debugger, browser-agent, changelog-writer-from-git, cloud-agent-with-aws-strands, distributed-eval-farm, doc-qa-with-citations, durable-agent-jobs, harness-bench, json-schema-output-guard, llm-gateway-with-fallbacks, mcp-at-scale, memory-server, multi-agent-code-review-panel, postmortem-writer, pr-review-reporter, skill-installer, skill-router, support-agent-with-google-adk, typed-workflow-agent-with-mastra, web-change-brief, and workflow-hooks. These files establish the base module definitions and specific library versions (such as @mastra/core 1.71.0, mcp 2.1.1, and google-adk 2.10.0) required for the starter and solution environments of these projects. ((dependencies))
  • Fix UTF-8 encoding for readiness test file reads — The \test\_agent\_readiness.py\ script now explicitly reads all input files (including \vercel.json\, HTML templates, JSON manifests, and API source files) using UTF-8 encoding. This change ensures the tests function correctly on systems where the default file encoding is not UTF-8, preventing potential \UnicodeDecodeError\ failures during the agent readiness checks. (scripts)
  • Introduce the Projects section with authoring contracts, a 100-project roadmap, and a starter template — The \projects\ area now provides the full scaffolding for a new learning track: \AUTHORING.md\ defines the contract for project metadata, stage structure, grader runners (Python, TypeScript, Rust, Go), mechanism figures, and completion certificates; \SUBMITTING.md\ and \VALIDATION.md\ document how to create, test, and validate projects; \ROADMAP.md\ and \PLAN.md\ outline 100 projects (48 ready, 52 planned) across five levels; and \projects/\_template/\ supplies a runnable starter scaffold with a sample Python stage, tests, and solution so contributors can begin building new projects immediately. (projects)
  • Refresh cached certification, lesson, and markdown API responses — The API endpoints for certifications, lessons, and markdown content now enforce stricter cache validation. The \max-age\ for public caching has been reduced from 300 seconds to 0, and the \stale-while-revalidate\ directive has been replaced with \must-revalidate\. This ensures that clients and intermediate caches check with the server for fresh content before serving a cached version, preventing users from seeing stale certification or lesson data. (api)
  • New project build system and interactive figures for site content — The site now uses a new \build-projects.js\ script to validate and bundle project data, ensuring that project manifests, stages, and assets meet strict structural requirements before being included in the generated \data.js\. This build process also integrates new interactive figures for several projects, including Agent Budget Planner, Agent Trace Debugger, Browser Agent, Calendar Focus Planner, Changelog Writer, and Cloud Agent, which provide users with hands-on, step-by-step visualizations of core concepts like budgeting, trace analysis, and scheduling. (site)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 49.

Lenses

  • Code Health 56
  • Architecture 95
  • Maturity 79
  • Readiness 28
  • Security 65
  • Accessibility 82
  • Performance 100

Changes since last survey

  • 300 commits — 195 feature/other, 105 fixes

By area

  • site/data.js — 66 commits
  • phases/13-tools-and-protocols — 55 commits
  • (repo) — 42 commits
  • (root) — 36 commits
  • phases/00-setup-and-tooling — 10 commits
  • phases/19-capstone-projects — 8 commits
  • phases/09-reinforcement-learning — 7 commits
  • phases/11-llm-engineering — 6 commits
  • .claude/skills — 5 commits
  • certifications/claude — 5 commits
  • site/about.html — 5 commits
  • .github/workflows — 4 commits
  • phases/14-agent-engineering — 4 commits
  • site/build.js — 4 commits
  • phases/01-math-foundations — 3 commits
  • phases/07-transformers-deep-dive — 3 commits
  • phases/08-generative-ai — 3 commits
  • phases/16-multi-agent-and-swarms — 3 commits
  • phases/18-ethics-safety-alignment — 3 commits
  • phases/02-ml-fundamentals — 2 commits

Notable commits

  • fix: Merge pull request #227 from rohitg00/fix/markdown-table-pipe-escapes
  • fix: Merge pull request #228 from rohitg00/fix/loose-primitive-usage
  • fix: Merge pull request #245 from rohitg00/site-fix-tables-diagrams
  • fix: fix(agent-skills): align route prerequisites
  • fix: fix(book): preserve literal tokens in EPUB and PDF (#458)
  • fix: fix(book): wrap inline code and fail incomplete PDF builds (#460)
  • fix: fix(book): wrap long code lines and reference URLs in PDFs (#459)
  • fix: fix(build): make syncReadme self-healing and surface stats errors
  • fix: fix(build): sync lessons badge alt text too (CodeRabbit #256)
  • fix: fix(cert-11): harden MCP integration contract
  • fix: fix(course): address review edge cases
  • fix: fix(course): keep one canonical MCP route
  • fix: fix(data-management): update canonical hugging face dataset paths and configs (#180)
  • fix: fix(figures): keep transformer-block labels inside their boxes (#269)
  • fix: fix(i18n): make translation publishing retry-safe (#401)
  • fix: fix(i18n): shard translation CI by phase + commit README translations + fix language picker (#387)
  • fix: fix(mcp): secure reproducible lesson state
  • fix: fix(mcp): tighten notification and redirect validation
  • fix: fix(mcp): use required lesson header comments
  • fix: fix(mcp-07): validate JSON-RPC request identifiers
  • …and 280 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

rohitg00/ai-engineering-from-scratch was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 3be078b37ffd8f0c04953c0678e48f5c6d0c7775 — the exact code this score is about.
  • Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-24c657e50118.