# CodeTrain, the whole public site Generated from https://codetrain.ai. Every section below is one page, in the order it appears in https://codetrain.ai/sitemap.xml. The short version, with a when-to-use section, is https://codetrain.ai/llms.txt. [CodeTrain](https://codetrain.ai/) / Docs # CodeTrain documentation Everything published about how CodeTrain works, in one place. Pick the section that matches what you are doing. ## When to use CodeTrain Reach for CodeTrain when the goal is that a **person ends up able to do the work**, and reach for something else when the goal is that the work gets done. Good fits: - A developer has to learn an unfamiliar codebase, and reading a summary of it will not survive contact with the first ticket. Point CodeTrain at the repository and it teaches from the code that is really there. - A team lead needs evidence of what an engineer can do without help, for onboarding, for a promotion case, or after a stretch of heavy AI assistance. CodeTrain records unaided completion per step and reports "no data" rather than zero when nothing assessable happened. - Somebody wants to learn a specific concept by writing it rather than watching it. Name the topic and a lesson is written on the spot. - You want a stepwise lesson generated from any public repository, with secrets and ignored files refused rather than read. - A developer already works in Claude Code, or in OpenCode, and wants a tutor inside it. CodeTrain Open Skill, free and open source, installs with `npx skills add InferHaven/agent-skills --skill codetrain`: same rule that you write every line, no account. See [CodeTrain Open Skill](https://codetrain.ai/docs/open-source-skill/). Bad fits, and we would rather say so: - You want the code written. CodeTrain will not do it, by design and with a code-level guard on top of the prompt rule. Use a coding assistant. - You want a video course, a quiz, or a certificate. There are none. - You want to grade somebody without their knowledge. Every record here is attached to work the person did in front of them. ## Which CodeTrain is which? CodeTrain is one product with one account, and there are two ways in today: the website at codetrain.ai and the CodeTrain CLI on your own machine. CodeTrain Open Skill is a separate, free tool that needs no account. | | Best for | Who teaches | Where your code goes | Account needed | | --- | --- | --- | --- | --- | | CodeTrain website (codetrain.ai) | Learning in your browser, on any topic you name, on any public GitHub repository, or from curated courses. The homepage also runs a real lesson with no account. | CodeTrain's tutor, which writes the lesson. | Python and JavaScript run in your browser; languages a browser cannot run, such as bash, run on CodeTrain's servers. Code you submit, and files you attach, reach CodeTrain's servers and the model provider, and are stored in your lesson. | A CodeTrain account, with a free plan and no card. | | CodeTrain CLI | Working on the repository in your current folder, or on a practice project, from your own machine. | CodeTrain's tutor, running on your machine and serving its interface on `127.0.0.1`. | Your repository stays on your machine: the CodeTrain CLI reads the checkout in place, and only the prompt snippets needed for one tutoring turn go to the model provider. CodeTrain never copies or stores the repository. Lessons stay in your project folder. | Signs in to your CodeTrain account, and your plan's limits apply. With your own model key in its config file, model calls go straight to your provider. | | CodeTrain Open Skill | Learning inside the coding agent you already use, such as Claude Code or OpenCode. | Your agent's own model, teaching with CodeTrain's method: you write every line, and it sets the steps, gives hints and reviews your work. | The lesson page runs on `127.0.0.1`. Your agent sends what it reads, your code included, to its own model provider, as it does for any task. Python runs in your browser. | No account, and nothing goes to CodeTrain: no telemetry either. Free and open source, Apache 2.0. | ## Using the product - [The homepage](https://codetrain.ai/) runs a real lesson in the browser with no account. It is the fastest way to see what a step looks like and what happens when your code does not pass. - [The course catalog](https://codetrain.ai/learn/) lists every curated course and class. These are the starting point rather than the product: the tutor writes a lesson on any topic you name, or on any public repository you paste. - [How the Socratic method works here](https://codetrain.ai/learn/socratic-method/) is the exact contract the tutor keeps, quoted from the code that enforces it. - [Learning an unfamiliar codebase](https://codetrain.ai/learn/understand-a-codebase/) covers repo mode and what it refuses to read. - [CodeTrain Open Skill](https://codetrain.ai/docs/open-source-skill/) is the free, Apache 2.0 tutor you install into your own coding agent. It covers the install, what was tested where, and what leaves your machine. ## Building against CodeTrain - [Developer API](https://codetrain.ai/developers/): the public REST endpoints, rate-limit headers, the versioning policy, and how to install the command line tool. - [/llms.txt](https://codetrain.ai/llms.txt): when to reach for CodeTrain, and every page as markdown. Read this first if you are an agent. - Any page on this site serves markdown to a client that asks for it with `Accept: text/markdown`. ## Trust and data - [Security and data handling](https://codetrain.ai/security): where your code goes, what is stored, and how to report a vulnerability. - [Privacy policy](https://codetrain.ai/privacy): what we collect and how to have it deleted. - [Terms of service](https://codetrain.ai/terms). - [About CodeTrain](https://codetrain.ai/about/) and [how to reach a person](https://codetrain.ai/contact/). ## What is changing - [Changelog](https://codetrain.ai/changelog/): what shipped and when, newest first. - [Roadmap](https://codetrain.ai/roadmap/): what is being built, what is next, and what we are still thinking about. Shipped items link to the changelog entry that proves it. - [Comparisons](https://codetrain.ai/compare/): CodeTrain against five categories, general AI study modes, AI coding assistants, coding course platforms, AI course builders, and AI onboarding tools, with each page conceding where the other category wins. Two comparison pages name real products: a roundup of Socratic AI coding tutors, and alternatives to Copilot and Cursor for learning. - [Conductor Network](https://codetrain.ai/conductors/): the affiliate program. What a referral earns, what the rate ladder pays, and how payouts work. [Start free](https://codetrain.ai/app/) [Developer API](https://codetrain.ai/developers/) --- Source: https://codetrain.ai/docs/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Docs](https://codetrain.ai/docs/) / CodeTrain Open Skill # CodeTrain Open Skill, the free tutor CodeTrain Open Skill is a free, open-source Socratic coding tutor that runs as an Agent Skill inside your own coding agent, tested in Claude Code, OpenCode and Antigravity CLI. It is a folder with a `SKILL.md` file and helper scripts, published under Apache 2.0. You write every line of code yourself. Your agent sets small steps, gives hints, reviews what you wrote, and never puts the solution into the lesson. ## Install You need `python3` (standard library only, nothing to install with pip) and a web browser. Optional: `docker` or `podman`, for running bash steps from the page. ``` $ npx skills add InferHaven/agent-skills --skill codetrain ``` ``` $ git clone https://github.com/InferHaven/agent-skills $ cd agent-skills/codetrain $ ./install.sh ``` `npx skills add` runs the skills CLI from npm, which needs Node.js 22.20 or later. Check yours with `node --version`; on an older Node.js, the `git clone` commands install the same skill into `~/.claude/skills/codetrain` and need no Node.js at all. Then restart your agent and ask it something, for example "teach me this code" or "give me a practice exercise on recursion". Your agent gives you a local link to the lesson page. ## How a lesson goes 1. Your agent starts a small local web page and gives you its link. 2. You choose your level, your goal, and how much guidance you want. 3. Your agent writes one small step at a time. Each step has a task, hints, and, for Python and JavaScript, test cases. 4. You write the code in the page's editor and press Run. Your code is checked against those tests in your browser. 5. You press Send. Your agent reviews your code and either moves you on or asks you to try again. 6. At the end you get a recap, and your progress is saved on your machine. The tutor never puts your solution into the lesson, even if you ask for it there. If you want the answer written for you, ask your agent directly in its own chat; that is never refused there. There are two modes. Local code works on your real repository, with edits on your current branch and no commits made for you. Sandbox gives you a throwaway folder for practice. The tutor can also turn a diff, a commit, a branch or a GitHub pull request into a lesson where you rewrite each change yourself, starting from the code as it was before. Concepts you struggled with come back for review at widening intervals. ## Which agents it was tested in CodeTrain Open Skill was tested in four agents, and the results below are from those runs. | Agent | Version | Tested | Model in the test | Lesson started | Woke on Send by itself | Reviewed submitted code | Recorded the lesson | | --- | --- | --- | --- | --- | --- | --- | --- | | Claude Code | 2.1.291 | 2026-10-06 | `claude-opus-5-5` (account default) | yes, from a plain request | yes | yes | yes | | OpenCode | 1.18.34 | 2026-10-06 | `opencode/big-pickle` (free) | yes, from a plain request | yes | yes | yes | | Antigravity CLI | 1.3.0 | 2026-10-06 | `gemini-3.8-flash-high` (default) | yes, from a plain request | yes | yes | yes | | Codex CLI | 0.128.0 | 2026-10-06 | `openai/gpt-5.1-codex-mini` (earlier skill version) | when named, after one "check it" | no | no | not tested | Claude Code 2.1.291, OpenCode 1.18.34 and Antigravity CLI 1.3.0 each ran a full lesson from a plain request, with every stage passing without a nudge: the page was served, step 1 was written, submitted code was reviewed, and the end of the lesson was recorded. OpenCode asks before your agent uses `/tmp/codetrain-*`, where lessons live, so allow it. Codex CLI 0.128.0, on an earlier version of CodeTrain Open Skill with a small model, started a lesson only when CodeTrain Open Skill was named and after one "check it" in the chat, and did not review submitted code. In an agent that does not wake the tutor by itself when you press Send, as in the Codex test, type "check it" in your agent's chat after Send. Other agents that load Agent Skills were not tested. ## What leaves your machine The lesson page runs on 127.0.0.1. CodeTrain Open Skill sends nothing to CodeTrain or InferHaven: no account, no telemetry. Your agent sends what it reads, your code included, to its own model provider, as it does for any task. From your profile your agent gets only a short summary: your level, your languages, number of lessons, streak, number of concepts, last lesson date, latest goal, and concepts due for review. Strengths, notes, other gaps, older goals and past lesson summaries stay on your disk unless you ask the tutor to use them. In the three full test runs, marker words planted in a test profile's strengths, notes, later gaps, older goal and past lesson summary never appeared in the tested agent's transcript. Python runs in your browser through Pyodide, downloaded from the jsDelivr CDN the first time Python runs. Security and data handling for every mode is at [the security page](https://codetrain.ai/security). ## CodeTrain Open Skill and CodeTrain CodeTrain is not open source: the CodeTrain CLI and the CodeTrain website are two ways into the same product, with one account. The table below is the honest comparison, and [pricing](https://codetrain.ai/#pricing) has the numbers. | | CodeTrain Open Skill | CodeTrain CLI | CodeTrain website | | --- | --- | --- | --- | | License or source | Apache 2.0, open source | Free install, not open source | Managed service, not open source | | Where it runs | Inside your own coding agent | On your machine | In the browser | | Which model does the tutoring | Your agent's model | CodeTrain's service | CodeTrain's managed models | | Account | None | CodeTrain account | CodeTrain account | | Cost | Free; model usage billed by whoever already bills your agent | Uses your CodeTrain plan: free for ten lessons a month with no card, and paid plans | Free plan (ten lessons a month, no card) and paid plans | | How to start | `npx skills add InferHaven/agent-skills --skill codetrain` | `pip install codetrain-cli` | Sign up at [pricing](https://codetrain.ai/#pricing) | ## License and source CodeTrain Open Skill is published under Apache License 2.0. The source is at [InferHaven/agent-skills](https://github.com/InferHaven/agent-skills), in the [codetrain folder](https://github.com/InferHaven/agent-skills/tree/main/codetrain). ## Common questions ### Is CodeTrain Open Skill really free? Yes. CodeTrain Open Skill itself costs nothing and has no CodeTrain account. It uses your own agent and that agent's model account, so model usage is billed by whoever already bills your agent. ### Does it send my code anywhere? CodeTrain Open Skill itself sends nothing to CodeTrain or InferHaven: no account, no telemetry. Your agent sends what it reads, your code included, to its own model provider, as it does for any task. From your profile your agent gets only a short summary: level, languages, lessons taken, streak, concepts, last lesson date, latest goal, and concepts due for review. The rest of the profile stays on your disk unless you ask the tutor to use it. ### Does it work in Codex, OpenCode or Antigravity CLI? It was tested in all three, plus Claude Code. Claude Code, OpenCode and Antigravity CLI each ran a full lesson from a plain request: page served, step 1 written, submitted code reviewed, end of lesson recorded. OpenCode asks before your agent uses its lesson folders, so allow that when it asks. In Codex, on an earlier version of CodeTrain Open Skill with a small model, the lesson started only when CodeTrain Open Skill was named and after one "check it" in the chat, and the review of submitted code did not happen there. In an agent that does not wake the tutor by itself when you press Send, type "check it" once in the chat after Send. Other agents that load Agent Skills were not tested. ### Will it give me the answer? No. Before the lesson page shows the tutor's feedback or a hint, it checks each code span, and one that writes out the step you are on is hidden behind a "Show it anyway" button. These are the same rules as CodeTrain's hosted tutor. It is a second lock behind the tutor's instructions, not a proof. If you want the answer written for you, ask your agent directly in its own chat; that is never refused there. ### Can I use it on my own codebase? Yes. Local code mode works on your real repository, with edits on your current branch and no commits made for you. Sandbox mode gives you a throwaway folder when you would rather practice away from your files. ### How is it different from CodeTrain? CodeTrain Open Skill is single-player and uses your own agent. CodeTrain's plans add managed models with no setup, cross-device profile sync, and team features like dashboards and onboarding journeys. [All documentation](https://codetrain.ai/docs/) --- Source: https://codetrain.ai/docs/open-source-skill/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Developers # CodeTrain developer API A public, read-only HTTP API over the CodeTrain course catalog, changelog and roadmap. No account, no key, no signup. Base URL `https://api.codetrain.ai`. ## Quickstart ``` $ curl -s https://api.codetrain.ai/v1/catalog ``` That is the whole setup. Every endpoint below is a `GET`, returns JSON, and needs no credentials. If you would rather read prose than JSON, every page on this site also serves markdown: ask for it with `Accept: text/markdown`. ``` $ curl -s -H "Accept: text/markdown" https://codetrain.ai/learn/ ``` ## Endpoints | Method | Path | Returns | | --- | --- | --- | | `GET` | `/v1/health` | Liveness and the current API version. | | `GET` | `/v1/catalog` | Every published course, its classes and their lessons. | | `GET` | `/v1/courses/{course_id}` | One course with its live classes. | | `GET` | `/v1/lessons/{lesson_id}` | Metadata for one curated lesson: title, blurb, language and step count. Never the step content, because writing the steps is what the learner is here to do. | | `GET` | `/v1/changelog` | What shipped, newest first. The same entries as /changelog/. | | `GET` | `/v1/roadmap` | Roadmap items grouped by stage. The same data as /roadmap/. | | `GET` | `/v1/referrals/{code}` | Whether a Conductor Network referral code belongs to somebody. A bare boolean and nothing else: no name, no id. | ## Each endpoint in full ### `GET /v1/health` Liveness and the current API version. ``` $ curl -s https://api.codetrain.ai/v1/health {"status": "ok", "version": "v1"} ``` ### `GET /v1/catalog` Every published course, its classes and their lessons. ``` $ curl -s https://api.codetrain.ai/v1/catalog {"courses": [{"id": "python-intro", "title": "...", "classes": [...]}]} ``` ### `GET /v1/courses/{course_id}` One course with its live classes. ``` $ curl -s https://api.codetrain.ai/v1/courses/python-intro {"id": "python-intro", "title": "...", "classes": [...]} ``` ### `GET /v1/lessons/{lesson_id}` Metadata for one curated lesson: title, blurb, language and step count. Never the step content, because writing the steps is what the learner is here to do. ``` $ curl -s https://api.codetrain.ai/v1/lessons/python-basics {"id": "python-basics", "title": "...", "lang": "python", "steps": 4} ``` ### `GET /v1/changelog` What shipped, newest first. The same entries as /changelog/. ``` $ curl -s https://api.codetrain.ai/v1/changelog {"entries": [{"id": "open-skill-sync-2026-10-13", "date": "2026-10-13", "kind": "feature"}]} ``` ### `GET /v1/roadmap` Roadmap items grouped by stage. The same data as /roadmap/. ``` $ curl -s https://api.codetrain.ai/v1/roadmap {"stages": [{"key": "shipped", "label": "Shipped", "items": [...]}]} ``` ### `GET /v1/referrals/{code}` Whether a Conductor Network referral code belongs to somebody. A bare boolean and nothing else: no name, no id. ``` $ curl -s https://api.codetrain.ai/v1/referrals/ada {"valid": true} ``` ## Authentication The `/v1` endpoints listed above need none. Everything they return is already published as a web page on this domain, so putting a key in front of it would protect nothing and stop an agent reading it. CodeTrain does have an authenticated API behind the dashboard and the CLI, and it is **not part of this public contract**. It is versioned separately, changes without notice, and is not documented here on purpose: it is an implementation detail of our own clients rather than an integration surface. If you need something from it, write to [support@codetrain.ai](mailto:support@codetrain.ai) and tell us the job you are trying to do, and we will either add it to `/v1` or explain why not. ## Rate limits Read endpoints allow **120 requests per minute per IP address**, and how much of that you get depends on what kind of client you are. The referral lookup allows **60 per hour per IP address** whoever is asking, because it answers a question about real people to a stranger. | Client | Reads per minute | How we tell | | --- | --- | --- | | Verified agent | 480 | You signed the request with HTTP Message Signatures (RFC 9421) and a `Signature-Agent` whose key directory we could read. The most room, on purpose: a signed agent is one we can name. | | Declared agent | 120 | Your `User-Agent` says what you are. Honest and unproven, so the ordinary budget. | | Browser | 120 | A person, or a page a person has open. | | Anything else | 30 | No signature, no name. Slower, never blocked. Sign your requests or name yourself and this goes away. | Every response carries the current state of your budget, so a client can slow down before it is refused rather than after: | Header | Meaning | | --- | --- | | `RateLimit-Limit` | Requests allowed in the current window. | | `RateLimit-Remaining` | Requests left in the current window. | | `RateLimit-Reset` | Seconds until the window resets. | | `RateLimit-Policy` | The window itself, for example `120;w=60`. | | `Retry-After` | Sent only with a `429`. Seconds to wait. Honour this one and you will not see another 429. | ## Versioning and deprecation - The major version is in the path. `/v1` is the only version today. - **Additive changes ship without a version bump.** New endpoints and new fields on an existing response can appear at any time, so parse defensively and ignore what you do not recognise. - Nothing is removed or renamed inside a version. A breaking change means `/v2`, and `/v1` keeps working. - When an endpoint is on its way out it answers with a `Deprecation` header and a `Sunset` header giving the date it stops. The gap is **at least 90 days**, and the same notice goes in the [changelog](https://codetrain.ai/changelog/). - Errors are JSON with a `detail` string and a real HTTP status. A missing course or lesson is a `404`, never a `200` with an empty body. ## Which CodeTrain is which? CodeTrain is one product with one account, and there are two ways in today: the website at codetrain.ai and the CodeTrain CLI on your own machine. CodeTrain Open Skill is a separate, free tool that needs no account. | | Best for | Who teaches | Where your code goes | Account needed | | --- | --- | --- | --- | --- | | CodeTrain website (codetrain.ai) | Learning in your browser, on any topic you name, on any public GitHub repository, or from curated courses. The homepage also runs a real lesson with no account. | CodeTrain's tutor, which writes the lesson. | Python and JavaScript run in your browser; languages a browser cannot run, such as bash, run on CodeTrain's servers. Code you submit, and files you attach, reach CodeTrain's servers and the model provider, and are stored in your lesson. | A CodeTrain account, with a free plan and no card. | | CodeTrain CLI | Working on the repository in your current folder, or on a practice project, from your own machine. | CodeTrain's tutor, running on your machine and serving its interface on `127.0.0.1`. | Your repository stays on your machine: the CodeTrain CLI reads the checkout in place, and only the prompt snippets needed for one tutoring turn go to the model provider. CodeTrain never copies or stores the repository. Lessons stay in your project folder. | Signs in to your CodeTrain account, and your plan's limits apply. With your own model key in its config file, model calls go straight to your provider. | | CodeTrain Open Skill | Learning inside the coding agent you already use, such as Claude Code or OpenCode. | Your agent's own model, teaching with CodeTrain's method: you write every line, and it sets the steps, gives hints and reviews your work. | The lesson page runs on `127.0.0.1`. Your agent sends what it reads, your code included, to its own model provider, as it does for any task. Python runs in your browser. | No account, and nothing goes to CodeTrain: no telemetry either. Free and open source, Apache 2.0. | ## Command line The CodeTrain CLI runs the tutor locally and serves its own interface on `127.0.0.1`. Install it either way round: ``` $ pip install codetrain-cli $ curl -fsSL https://codetrain.ai/install.sh | sh ``` Both put the CodeTrain CLI in the same place and install the same launcher, so it does not matter which you pick, and using both does no harm. It keeps itself current: once a day it checks whether the published bundle changed and replaces its own copy if it did. There is nothing to reinstall to get a newer CodeTrain CLI. Four commands need no account at all, which makes them safe for a script to call before anything is set up: ``` $ codetrain doctor # is the service up, is this install healthy. --json, exit 0 or 1 $ codetrain version # installed agent bundle against the published one $ codetrain catalog # the curated courses $ codetrain update # fetch the newest bundle now ``` The installer checks the bundle against a published SHA-256 before it unpacks anything. The bundle and its checksum are at [/dist/codetrain-agent.tar.gz](https://codetrain.ai/dist/codetrain-agent.tar.gz). The CLI needs Python and nothing else, and it talks to `https://api.codetrain.ai` by default. It keeps itself current. Once a day it checks whether the published bundle has changed, and replaces its own copy if it has, verifying the checksum the same way the installer does. To force it, run `codetrain update`. To switch it off, set `CODETRAIN_NO_UPDATE=1` and update by hand. ## Machine-readable - [OpenAPI 3.1 document](https://api.codetrain.ai/openapi.json) for the public API. - [Interactive reference](https://api.codetrain.ai/docs), generated from the same document. - [/llms.txt](https://codetrain.ai/llms.txt), which says when to reach for CodeTrain and links every page in markdown. - [/llms-full.txt](https://codetrain.ai/llms-full.txt), the whole public site as one markdown file. - [/sitemap.xml](https://codetrain.ai/sitemap.xml) for the canonical URL list. [Open the API reference](https://api.codetrain.ai/docs) [All documentation](https://codetrain.ai/docs/) --- Source: https://codetrain.ai/developers/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / About # About CodeTrain CodeTrain is a Socratic AI coding tutor for engineering teams. It teaches a developer on the codebase they actually work in, and it never writes their code for them. ## What the product does You point CodeTrain at a task, a topic or a repository. It breaks the work into small steps, explains the part you need before you attempt it, and then asks you to write the code. Each step runs. If it does not pass, the step does not advance, and the tutor asks a question instead of handing over the answer. At the end you have a record of which steps you wrote unaided, which is a different thing from a completion percentage. The reason it works this way is narrow and it is the whole product. An assistant that writes the code produces working code and no new skill. A team that ships code nobody on it can explain has a problem that shows up months later, in review, in an incident, or when the person who prompted the change leaves. CodeTrain is built for the opposite outcome: slower on the first task, and the engineer can do the second one. ## Who builds it CodeTrain is built by [Ethan Ludwig](https://inferhaven.com/authors/ethan-ludwig/), the founder of [InferHaven](https://inferhaven.com), a research studio for privacy and local-first AI in Michigan, United States. He builds it solo and in the open. InferHaven's other product is [Bulkhead](https://inferhaven.com/bulkhead/), a self-hostable private AI coding server whose source is public on GitHub. The studio publishes each study with its data, code and every raw reply, under open licenses, with a DOI; the [first one](https://inferhaven.com/research/socratic-pressure-v1/) tested CodeTrain's published tutor rules. CodeTrain is in beta, and every page says so rather than burying it, because a team deciding whether to put their engineers on it deserves to know how young it is. ## Three things we will not do - We will not write the learner's code. The tutor may quote your own code, your run output and the wording of the step, and there is a code guard sitting on top of that rule, so a snippet you could paste and pass with is removed before it reaches you. - We will not report progress we did not measure. A skill is solid, under review, or being learned, and there is no "not started" state at all: reporting one needs a fixed list of concepts to subtract from, and ours grows out of what you actually do. A receipt with nothing assessable on it says exactly that instead of showing a zero. - We will not send your prompts or your code to our error tracker. Stack frame locals are switched off at the client rather than filtered somewhere downstream. The full data handling story is on the [security page](https://codetrain.ai/security), and what we collect is in the [privacy policy](https://codetrain.ai/privacy). ## Talk to us Support, sales, security reports and press all have addresses on the [contact page](https://codetrain.ai/contact/). If you want to see the product before you talk to anybody, there is a lesson running on the [homepage](https://codetrain.ai/) that needs no account. [Start free](https://codetrain.ai/app/) [Read the docs](https://codetrain.ai/docs/) --- Source: https://codetrain.ai/about/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Contact # Contact CodeTrain Every address below is read by a person. There is no contact form, because a form gives you no copy of what you sent and no address to follow up on. ## Where to write | Address | Use it for | | --- | --- | | [support@codetrain.ai](mailto:support@codetrain.ai) | Anything about using the product: a lesson that misbehaved, billing, your account, a feature you wish existed. | | [sales@codetrain.ai](mailto:sales@codetrain.ai) | Team plans, pilots, invoicing, purchase orders, and questions about team size. | | [security@codetrain.ai](mailto:security@codetrain.ai) | Vulnerability reports and anything you would rather not put in a public issue. Disclosure terms are on the [security page](https://codetrain.ai/security). | | [privacy@codetrain.ai](mailto:privacy@codetrain.ai) | Data access, correction and deletion requests, and questions about the [privacy policy](https://codetrain.ai/privacy). | CodeTrain is built by one person, so every inbox here reaches the same person. We do not publish a response time we cannot promise on a bad week. What we will say is that these are real inboxes a person reads, not a ticket queue, and that security@ is the one watched most closely. ## The company CodeTrain is a product of InferHaven, a research studio for privacy and local-first AI founded by Ethan Ludwig, who builds CodeTrain himself. - **CodeTrain by InferHaven** - PO Box 145 - Bessemer, MI 49911 - United States - [https://codetrain.ai](https://codetrain.ai/) - [https://inferhaven.com](https://inferhaven.com) A post office box rather than a street, because we work remotely and there is no office to turn up at. It is the same address on the bottom of any email we send you, and post sent to it does reach us. Email is faster by days. ## If you are an agent or a script Machine-readable contact details are in the Organization schema on the [homepage](https://codetrain.ai/) and repeated on the [about page](https://codetrain.ai/about/). For programmatic access to the catalog, the changelog and the roadmap, use the [public API](https://codetrain.ai/developers/) rather than scraping these pages, and read [llms.txt](https://codetrain.ai/llms.txt) first. [Email support](mailto:support@codetrain.ai) [Developer API](https://codetrain.ai/developers/) --- Source: https://codetrain.ai/contact/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Roadmap # Roadmap What has shipped since launch, what is being built right now, and what is being considered. Shipped items carry the date they reached production. Nothing ahead of today carries a date, because promising one would be guessing. ## CodeTrain launches July 2026 A Socratic coding tutor that refuses to write your code for you, released as a free open-source skill, a local agent and a managed tutor in the browser. Since launch10 Live for everyone, free tier included unless noted. ### ▸The course mapCoursesJul 2026 Courses became lines, classes became stops and lessons became steps along them, so it is obvious what follows what instead of being a flat list of topics. ### ▸How LLMs Actually WorkCoursesJul 2026 Four classes and eighteen lessons building a working transformer in pure NumPy, with live demos for tokenisation and attention rather than diagrams of them. ### ▸Lessons from any public repo, freeYour codeJul 2026 Point the free tier at a public repository and the lesson is built from the code that is actually in it. Secrets and gitignored files are never read. ### ▸Competency receiptsTeamsJul 2026 A record of what someone wrote unaided, for onboarding sign-off. It reports no data as no data and never as a zero, because it is a claim about a real person. ### ▸Spaced reviewLearningJul 2026 Concepts you got stuck on come back at widening intervals, as a fresh drill built from what you got wrong rather than a replay of the lesson. ### ▸A guided first lessonGetting startedAug 2026 The first lesson is on us and walks through the screen as you go, so nobody has to work out what a Socratic tutor wants from a blank editor. ### ▸Concepts that say what is solidLearningAug 2026 Progress splits what you have practised into due for review, still learning and solid. There is deliberately no not-yet-started: we would have to invent a syllabus you never chose in order to report it. ### ▸Try a lesson without an accountGetting startedAug 2026 A real lesson on the front page: real editor, real execution in your browser, real checks, and a tutor whose replies are written in advance and labelled as such. Asked for by testers who wanted to feel the product before signing up. ### ▸Public roadmap and changelogTrustAug 2026 This page, and a changelog at /changelog/ carrying every release note. Both are generated from the same source the in-app What's New card reads, so they cannot drift from what actually shipped. ### ▸The Conductor NetworkGetting startedAug 2026 Every account has a link, free tier included. You earn a fifth of the plan price for anyone who joins through it, every month they keep paying, and five people on Pro covers a plan of your own. Bring more and the rate rises. When they stop paying, so does the earning, and the dashboard shows you that the day it happens. You are here Building now2 Actively in progress. ### ▸Learning your own network, read onlyTeams Operations teams should be able to learn their own network the way engineers learn a repository: from the real thing, and without the risk. The shape is a connector the team runs themselves, holding their own credentials and exposing a fixed set of read-only commands, so CodeTrain reads real output and never holds a credential, never runs anything else, and never changes a device. Lessons and troubleshooting practice get built from what it finds, and when it cannot reach part of the network it says so instead of filling the gap in. Being built now. The connector, the read-only command set, the record of what was and was not reached, and a sandbox with a real router in it all exist and have been run against real hardware. None of it has been released, and no team has used it yet, which is the part that decides when it moves. ### ▸Real-world lesson examplesYour code Worked examples on the marketing site showing what CodeTrain pulls out of recognisable open-source repositories, quoted from actual runs rather than written to look good. Next6 Committed, not started. Order is roughly the order they will land in. ### ▸Skill progression you can seeLearning Streaks, levels and a sense of a concept getting stronger over time, built on the existing review schedule. One definition of solid across the learner view and the team dashboard, so gamification cannot quietly invent a second one. ### ▸An architecture and security pageTrust A diagram of what crosses which boundary: what stays on 127.0.0.1 with the open agent, what the managed tutor sends and where, and what the sandbox host runs. The answer already exists in the privacy policy; it deserves a picture. ### ▸The Backend, Web and Data coursesCourses Three lines already showing as coming soon on the course map: SQL, APIs and Git; HTML, CSS and the DOM; pandas and analysis. ### ▸Rust in the sandbox, then a courseCourses Rust will run in the same sandbox the other server-side languages run in: the learner's code is compiled and run in its own offline container, starting with the standard library only. No crates, no network, no way for a lesson to reach past the container. A Rust course follows once the language runs. ### ▸SQL in the browserCourses SQL will run in the learner's browser, the way Python and JavaScript already do, on SQLite compiled to WebAssembly. A query never reaches our servers to run. A SQL step is checked by running the learner's query and comparing the rows it returns, so the verdict is about results, not syntax. ### ▸Docker and Kubernetes labsCourses A Docker or Kubernetes lab needs more than today's sandbox allows, because every run has no network and no Linux capabilities. The first step is a measured test of a stronger isolation layer, and we will say what it measured before building on it. One rule is already fixed: in those labs, docker and kubectl commands talk to a real engine and a real Kubernetes API server, never a simulation of one. Exploring5 Wanted, and not yet proven worth the complexity. Say so if one of these is the thing standing between you and using CodeTrain. ### ▸Conductors who teach, and conductors who helpTeams The Conductor Network has one track today: you share CodeTrain and earn a share of what the people you bring in pay. Two more are wanted and neither is designed yet. An educator track, so a teacher can bring a class into a real environment and see how they are actually doing rather than whether they submitted. And a community track, for the people who answer questions and keep others going, which is work that deserves the same recognition as bringing somebody in. Say so if you would use either, because that is what decides which gets built. ### ▸CI and test-suite integrationTeams Raised by testers: have CodeTrain meet the code where it already runs. A check that turns a pull request into a lesson for whoever is about to review it, or a failing suite into a drill on the thing that broke. It would share the repo reading that repo mode already does, and feed the onboarding journeys a Team lead can already build today. ### ▸Lessons that involve a networkCourses Every runtime today is deliberately offline, which is why a free lesson costs nothing to run and why nothing a learner writes can call out. That also rules out a whole category worth teaching: sessions and cookies, retries and timeouts, and status codes. The likely shape is endpoints we serve ourselves that behave like the real thing, so a lesson stays reproducible and offline-safe rather than depending on somebody else's uptime. Learning a team's own real network is a different idea with different rules, and it has its own entry above. Wanted, not yet designed. ### ▸A status pageTrust Honestly deferred rather than planned. An all-green status page with no monitoring behind it is decoration, so this waits until there is real uptime history worth publishing. ### ▸In-app messages and pollsLearning Messages and polls would let us ask learners a question, run a short poll, or ask whether they are happy to be quoted, shown on their dashboard. Answers stay private unless the learner agrees to be quoted, and a quote is used word for word. The line keeps going. If something you need is missing from it, [say so](mailto:hello@codetrain.ai) and it gets considered on the spot. There are few enough people using this that one email genuinely moves the order. ## Every release, in full This page is the shape of things. The [changelog](https://codetrain.ai/changelog/) is the detail: every user-facing change since launch, newest first, the same notes that appear in the product. [Start free, no card](https://codetrain.ai/app/)[Read the changelog](https://codetrain.ai/changelog/) --- Source: https://codetrain.ai/roadmap/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Stack # What CodeTrain runs on Notes on the tools behind this product, written by the person who picked them and pays for them. Everything on this page is something running in production right now. Where one of them costs us something, or nearly went wrong, that is in here too. Nothing here yet. The first ones being written are about the pieces this product could not run without. [Try it free, no card](https://codetrain.ai/app/) [How CodeTrain compares](https://codetrain.ai/compare/) --- Source: https://codetrain.ai/stack/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Conductors # Get paid every month the people you bring keep paying The Conductor Network is the CodeTrain affiliate program. You earn a share of everything we collect from anyone who joins through your link, for as long as they stay subscribed. It starts at 20% and rises to 25%. The credit never expires, and every CodeTrain account already has a link, free ones included. 20% to 25% of every payment they make, for as long as they keep paying $128.00 a month, from one referred team of twenty 5 referrals on Pro, and your own CodeTrain plan is covered [Get your link](https://codetrain.ai/app/#referrals)[See what CodeTrain does first](https://codetrain.ai/) ## What one referral is worth Your rate is set by how many of your referrals are currently paying, and it applies to every one of them at once. | People paying through you | Your rate | One Pro referral pays you | | --- | --- | --- | | 1 to 10 | 20% | $4.80 a month, $57.60 a year | | 11 to 25 | 22.5% | $5.40 a month, $64.80 a year | | 26 and up | 25% | $6.00 a month, $72.00 a year | A team counts for what a team is worth. One referred team of twenty learners is $128.00 a month from a single referral, which at the starting rate is as much as 26 Pro referrals. ## What it adds up to What any number of paying referrals is worth, at $24 a month for Pro. The rate steps up as you pass a rung. $48.00 a month 10 people paying through you, at 20% $576 a year Your own CodeTrain plan is covered, with $24 a month to spare. | People paying through you | Your rate | You earn | | --- | --- | --- | | 5 | 20% | $24.00 a month, $288 a year | | 10 | 20% | $48.00 a month, $576 a year | | 15 | 22.5% | $81.00 a month, $972 a year | | 25 | 22.5% | $135.00 a month, $1,620 a year | | 50 | 25% | $300.00 a month, $3,600 a year | | 100 | 25% | $600.00 a month, $7,200 a year | | 200 | 25% | $1,200.00 a month, $14,400 a year | ## Every new referral lifts the ones you already have Your rate is not applied to your newest referral. It is applied to all of them. So the referral that takes you from 10 to 11 is worth more than the 10 before it: your earnings go from $48.00 a month to $59.40, which is $11.40 a month from one person. The one that takes you from 25 to 26 is worth $21.00 a month. ## Why this pays better than it looks ### There is no attribution window Most programs stop crediting you 30 or 60 days after somebody clicks. We set no window at all. Your code is stored the moment they arrive and read when they open an account, however long that takes, and the first link wins so a later one never takes the credit from you. ### One referral can be a whole team Most programs pay the same for everybody who signs up. This one pays a share of the invoice, so a team of twenty on one account is $128.00 a month from a single conversation. ### Your link pays them as well as you Anyone who joins through you gets 20% off their first 3 months. It comes out of our side rather than yours, so a referral is worth the same $4.80 to you in month one as in month twelve. ### You keep earning if they start earning If somebody you brought in covers their own plan through referrals of their own, you keep earning from them at the rate you already had. Recruiting somebody that good should not cost you. ## How it works ### Pick your link Every account has one, free tier included, and you choose what it says: `codetrain.ai/r/sam`. Keep it short enough to say out loud, because you are more likely to say it than to send it. ### Put it where you already publish A newsletter, a README, a video description, a conference talk, or a message to the team you are onboarding. Nobody has to approve it first. ### Get paid every month they stay Your balance starts at their first invoice. The dashboard shows every referral and what each one has earned you, and it tells you the day one of them changes. ## Who does well with this ### Engineering leads and mentors You already recommend tools to the people you are bringing up. This pays for the conversation you were going to have anyway, and it keeps paying for as long as they use it. ### Newsletter and video creators People who try this product tend to keep paying for it, which is what makes a share of the invoice worth more over a year than a one-off bounty on the signup. ### Bootcamp and workshop operators Your students all need the same thing: somewhere to write code with something reading it as they go. An educator track is on the [roadmap](https://codetrain.ai/roadmap/) as well, still being explored rather than built, so say so if you would use one. ## Common questions ### Is this an affiliate program? Yes, and it is a recurring revenue share rather than a one-off bounty. You earn 20% of every payment the people you referred make, every month, for as long as they keep paying, and the rate rises to 25% as you bring more. Every CodeTrain account has a link, free accounts included, and there is nothing to apply for. ### What happens when one of my referrals cancels? You stop earning from them that month. Your rate follows how many of your referrals are currently paying, so it moves in both directions. Your dashboard shows you the day it happens rather than leaving you to notice a smaller number weeks later. ### When can I take the money out? Each accrual waits 60 days first, so that a refund can be reversed before it is paid, and then it is available. The cash-out threshold is $50. Below that your earnings come off your own CodeTrain bill. ### What does it cost to get paid? We pass Stripe's charges through at cost and add nothing to them. Stripe charges 0.25% plus 25c to send a payout to your bank, and $2 a month for each account it pays out to, so a $50 cash-out costs $2.37. The $2 is charged per month rather than per payout, so a second cash-out in the same month costs $0.37. Your dashboard shows the fee and what will actually land before you press anything. ### Does the discount they get come out of my commission? No. The 20% welcome discount your link gives them comes out of our side. A referral is worth the same $4.80 to you in month one as in month twelve. ### How long do I get credit for somebody who clicked my link? There is no window. Your code is stored in their browser when they arrive and read when they open an account, however long that takes. The first link wins, so somebody who came through you last month is still yours when they sign up. Referring yourself does not work. ## Your link already exists It is in your dashboard, whichever plan you are on, and choosing what it says takes a minute. [Get your link](https://codetrain.ai/app/#referrals)[See what CodeTrain does first](https://codetrain.ai/) --- Source: https://codetrain.ai/conductors/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Changelog # Changelog Every user-facing change since launch, newest first. These are the same notes that show up on your dashboard, so nothing here is written for the website. Oct 13, 2026feature ### Bring CodeTrain Open Skill progress into your account If you practised with CodeTrain Open Skill, run codetrain sync in the CodeTrain CLI, signed in to your CodeTrain account, and that practice reaches your account. The command joins the profile on your machine with the copy in your account, so neither one overwrites the other, and the joined copy stays on your machine too. Starting a lesson in the CodeTrain CLI now adds your account's profile to the one on your machine instead of replacing it: before this change, a lesson start replaced that profile, and codetrain sync read an older file, so CodeTrain Open Skill progress never reached your account. CodeTrain Open Skill still sends nothing on its own: the sync happens when you run the command, and a free account is enough. After a sync, the concepts you got stuck on come back for review on the website and in the CodeTrain CLI, on one review schedule. Oct 5, 2026feature ### Tables, lists and headings in tutor replies now show as what they are When a lesson step or a tutor reply included a table, the lesson screen showed it as rows of text with pipe characters on plain lines. Now it shows as a table. Bulleted lists, numbered lists, nested lists, headings and quotes also show as what they are, where before they were plain lines. Words the tutor marks for emphasis now show in italics instead of with asterisks around them. A table too wide for a phone screen scrolls sideways inside its own box, and the rest of the page stays where it is. The change covers everywhere the tutor's text appears in a lesson: the step explanation, the task, replies to a question or a submission, the list of questions asked, and the summary at the end. If you use the agent, replies look the same there as they do on codetrain.ai. Sep 21, 2026feature ### Run now starts from a clean slate every time Pressing Run on a Python lesson used to carry over every name you had defined earlier in that tab, across steps and across lessons. Most of the time you would never notice. When you did, it was bad: code that was right failed with an error naming something that was not in the file, and there was no way to clear it short of reloading the page. Each Run now executes only the file in front of you, so what you see is what runs. Lessons that pin a runtime also stay on it now, which means a lesson that says it runs in your browser really does. Sep 21, 2026feature ### Open any file the lesson mentions, without leaving the step A lesson built from a repository talks about the real code in it, and until now the only way to see the file it named was to go and find it yourself. Every path a lesson mentions is now a link: click it and the file opens over the step, highlighted and with line numbers, and Escape puts it away. Nothing is spent on opening one, so you can look at as many as you like. Only files that really are in the repository become links, which means a path with nothing behind it is visible for what it is. The same thing works in the agent against your own checkout. Separately, a step's opening question is now set apart from the explanation under it, so you can see what the step is asking before you read how it works. Sep 20, 2026feature ### Conductor earnings can now leave as cash The Referrals tab has a payout section now. Connect an account once, which Stripe hosts and which never shows us your bank details, and from then on your earnings can go to your bank instead of only coming off your own bill. Each accrual waits out the hold first, so a refund can be reversed before anything is sent, and there is a threshold below which a payout costs more to move than it is worth. Both numbers are on the Conductors page. Moving money costs something and we pass that on at cost rather than marking it up: your dashboard shows you the fee and the amount that will actually land before you press anything, and one part of it is charged once a month rather than once a payout, so cashing out twice in the same month costs less the second time. There is also a link into Stripe's own dashboard, where you can see your balance, every payout so far and when the next one arrives. Sep 19, 2026feature ### A page about the tools CodeTrain runs on There was nowhere on this site to write about anybody else's software. The compare pages are arguments about a category, the learn pages are our own courses, and across the whole site we linked out to three places, two of which were ours. So there is a new section for it. Everything that appears there is something running in production right now, including what it costs and where it has caught us out. Nothing gets a page because somebody asked for one, which is the only rule the section has and the reason it is worth reading. Sep 18, 2026feature ### Onboard someone onto your network, not just your codebase Onboarding could take a new engineer through a repository and had nothing to say to somebody joining the team that runs the network. It now builds the same kind of journey from the network: how it is put together, which protocols decide what, and the first real call they would be asked to take, ending in a written hand off rather than a change. Everything is read only. CodeTrain drives a connector you run yourself, holds no credential of yours, and changes nothing on any device. The part worth knowing is what happens when it cannot log in to something: the journey is refused rather than published, and it names the device and the reason. A journey that quietly skipped a router would teach a new starter something invented about a system they are about to be responsible for. You can publish anyway, and then the journey says plainly what it does not cover. Sep 18, 2026feature ### A real router you can type commands into Every other subject here is taught by writing the thing and running it, and networking was the exception. There is now an OpenWrt runtime alongside Python, JavaScript, Bash and the rest, and it is free like all of them. It is a real OpenWrt router rather than a simulation, with a real interface, a real address and a real routing table to read, and no route to anywhere else. A few things genuinely do not work there and the tutor knows which: ubus and logread need parts of the system the sandbox deliberately does not run, and OpenWrt's ip command is the BusyBox one, so the brief forms you might use on a desktop are not available. If a step ever asks for one of those, the tutor will tell you it is the step at fault rather than you. Sep 17, 2026feature ### The public API now gives signed agents more room Every client of the public API used to share one budget. An agent that signs its requests with HTTP Message Signatures now gets several times that, a client that names itself honestly in a User-Agent gets the ordinary amount, and one that does neither gets less. Nothing is blocked, and a browser is unaffected. The table and the current numbers are on the developers page, and every response still carries its own budget so a client can slow down before it is refused. robots.txt now also says what may be done with what is fetched: search and AI answers yes, model training no. Sep 17, 2026feature ### Click a word you do not know A tutor writing to a beginner has to use the words, and until now a learner who did not know one had two options: work it out, or leave the lesson to look it up. Terms like dot notation, dict, closure and exit status now carry a dotted underline. Clicking one opens a short definition, an example where that helps, and a link to the official documentation. It covers Python, JavaScript, Bash and the ideas that belong to no single language, and it only offers a word to a lesson written in a language that uses it. Nothing is sent anywhere to fetch a definition, so it works at the same speed as the rest of the page. Sep 17, 2026feature ### Pick what you want to get better at, and start there The dashboard used to name one first lesson and the study screen offered three different ones, so which lesson counted as your first depended on which button you pressed. Both doors now show the same four, each one a real lesson you can finish in five or ten minutes: finding a bug that a passing test hides, Python from the start, JavaScript from the start, or the terminal. Picking one is also the only question CodeTrain asks you, which is why it is the tile rather than a screen in front of it. Your first lesson is still free and still does not count against your monthly total, and the walkthrough now points things out beside your work instead of dimming the page first. Sep 16, 2026feature ### A new hire is only asked to change your repo at the first win An onboarding lesson opens with the real file's contents already in the editor, so a hire reading through a service could type over a module without meaning to, and at the end of that lesson the tutor offered to write it back to the repository. On a short file it could offer to replace the whole thing with one line of practice. Now only the first-win lesson can propose a change to your repository: the one the journey is built toward, and the one your team dashboard reports as the early win. Every other lesson stays in the sandbox copy. The guard behind it was widened at the same time, so a proposed change that would cut a file down to a fraction of itself is refused rather than offered, whatever the size of the file. Sep 11, 2026feature ### You can buy extra usage when a month runs out When a month's model usage ran out, the only ways forward were to bring your own API key or move up a plan, and neither suits somebody who just had one unusually busy week. The Plan and billing tab now takes any amount from five dollars and turns it into credits. They are the same credits contributors earn for donating lessons, they are spent automatically and only once you are past your monthly budget, and they do not expire. They cover model usage rather than your monthly lesson count, which the card says before you buy. A plan is still better value if you need the room every month. Sep 11, 2026feature ### Your plan now says when it resets and which account you are on A meter reading eight percent left told you nothing about when it refills, so the only way to find out was to wait. The Plan and billing tab now prints the moment your lessons and your usage come back, in your own time zone rather than ours, and the date of your next payment beside it where there is one. Those are two different dates and they are labelled as two different dates. The tab also shows the name and address the account is under, which sounds obvious and was genuinely not available anywhere in the product. Sep 11, 2026feature ### The tutor's diagrams work again, and read better If the tutor wrote one stray character in the wrong place, the whole reply stopped being readable and you got a wall of raw output where the review should have been, with no diagram and a confusing notice underneath it. The reply is now repaired where it can be, and where it cannot, you get one short line asking you to submit again rather than the machine output behind it. The diagrams have been redrawn too: boxes are sized to their labels instead of cutting them off, two arrows between the same pair no longer print their labels on top of each other, and the one box a step is actually about is marked. The note you see when the tutor holds back a line now says plainly that it might be a spoiler. Sep 7, 2026feature ### Every lesson step now opens with the question it answers CodeTrain is a Socratic tutor, but only the review half of it was actually asking you anything. The lesson text itself stated the concept and then handed you a task, so the question you were really answering was never put to you. Each step now opens with that question, in plain terms, before the explanation and the task that follow it. The question names the puzzle and never the fix: it will ask what happens when you reach into an object and a level is missing, not whether you should use a particular method. You already get this on every new lesson, with nothing to turn on. Sep 1, 2026feature ### The home page stops assuming you lead a team The home page opened with a headline about your engineers learning your codebase, which told anybody learning on their own that the product was for somebody else. There has always been a version written for individuals, but the link to it sat below the headline, the subheading and the buttons, so almost nobody reading the first line ever got that far. The opening lines now describe the product rather than an audience, and the two paths sit together right under the buttons: one for learning on your own, one for ramping a team. Nothing moved and nothing was removed. Both pages are where they were, and the page for individuals links back the same way. Aug 28, 2026feature ### The tutor can show you an example again The tutor has always refused to write your line for you, and it still does. What it was also doing was deleting any example at all: ask how to create an object and the reply came back as prose full of gaps, because the check counted names rather than asking whether the code had anything to do with your step. It now holds back only a line that writes the step you are on. An example built on names your task never mentions reaches you whole. When something is held back, it is no longer deleted either: the reply carries it behind a click, so you can read it if you decide you want it. And a reply that passes your step is no longer checked against the step you just finished, so the tutor can tell you what you could have written instead. Aug 26, 2026feature ### Donated lessons now show up on the public course pages When somebody donates a lesson and it is accepted, it joins a class in one of the courses. Until now it only appeared once you were signed in, because the public course pages, the class lesson counts and the sitemap were built from a separate list that never learned about it. They are now built from the same set of lessons the app serves. An accepted lesson is visible to anybody browsing the courses, including a whole course created by a donation, which previously had no public page at all. If you have contributed a lesson, it is on the site. Aug 26, 2026feature ### Repo lessons now pick a language that can actually run them Three things changed about lessons built from a repository URL. The language is now chosen from what is actually in the repo and what you asked to learn, instead of the single language GitHub tags the project with. If you point at a JavaScript project and ask about its build scripts, you get bash. Second, a lesson can no longer ask you to import something that is not there. Lessons about a library used to reach for the library itself, which cannot work in a browser tab with no package manager, so you would write the step correctly and still watch it fail. The tutor now teaches the idea the library implements, in plain code, checked against that project's own source, and it says which file it is modelling the step on. Third, a step now has to produce output you can see. Your code runs as one file and nothing calls your function for you, so a step that only asked you to define one printed nothing and left you with no way to tell whether it worked. A step that writes a function now also calls it and prints the result. Aug 26, 2026feature ### pip install codetrain-cli, and the CLI now updates itself You can install the CodeTrain CLI with pip now: pip install codetrain-cli. The curl installer still works and both put the agent in the same place, so it does not matter which you use and using both does no harm. The bigger change is that it stays current on its own. Once a day it checks whether a newer agent has been published and replaces its own copy if so, which means you no longer sit on whatever version you happened to install. Run codetrain update to do it on the spot, or set CODETRAIN_NO_UPDATE=1 if you would rather it left you alone. Four commands need no account: codetrain doctor tells you whether the service is reachable and whether this machine is set up correctly, and it will tell you if your login has expired rather than assuming it still works. codetrain version, codetrain catalog and codetrain update round it out, and all of them take --json. Aug 26, 2026feature ### A public API, a developer portal, and every page in markdown You can now read CodeTrain from a script instead of a browser. The course catalog, the changelog and the roadmap are available at api.codetrain.ai/v1 with no key, no account and no signup, and every response tells you how much of the rate limit you have left so a client can slow itself down rather than get refused. The full reference is at codetrain.ai/developers/, including the versioning promise: nothing inside /v1 is ever removed or renamed, and anything on its way out gets at least 90 days of warning. Alongside it, every public page now serves markdown to anything that asks for it with an Accept header, which is what an AI assistant reading about CodeTrain will use. There is a documentation index at /docs/, an about page and a contact page with the addresses that reach a real person. Lesson content is deliberately not in the API: the steps are yours to write. Aug 25, 2026feature ### The CodeTrain Conductor Network is open There is a Referrals tab on your dashboard now with your Conductor link in it, free tier included. Anyone who joins through it gets 20% off their first three months, and you earn 20% of the plan price for as long as they stay. On Pro that is $4.80 a month each, so five of them covers a Pro plan of your own and you stop paying for CodeTrain. Bring more and the rate goes up: 22.5% past ten paying referrals, 25% past twenty-five. Anything above your own plan is yours in cash. Two things worth knowing before you start rather than after. Your rate follows how many of your referrals are currently paying, so it moves both ways, and somebody who stops paying stops earning you anything. The tab shows every referral and what it is worth to you this month, so you can see that the day it happens. If one of the people you brought in earns their own free plan, you keep earning from them at the rate you already had. Names stay hidden unless the person chooses to show theirs, and cash payouts are not switched on yet: your balance is real and it keeps accruing, and we will ask you for payout details before we owe you anything. Aug 25, 2026feature ### The tutor can no longer hand you the line You write every line. Twice that did not hold: someone asked for help on a failing check and got back a working replacement they could paste into the editor and pass. The rule the tutor works from only covered handing the answer over as a question, and neither of those was a question, so it is now enforced in code as well as asked for. Most replies will look the same as before. The tutor can still quote your own code back at you, show you what the runtime printed, and name the method or flag you should be looking at, and it can still sketch the shape of an answer with the answer taken out of it. What it can no longer do is write a working line you have not written. If it tries, that line is gone before you read the reply, and a note underneath tells you it was removed. This covers hints, anything you type into the ask box, and the local agent as well as the browser. Aug 15, 2026feature ### Your tutor now has a voice you can pick Someone told us they kept asking for hints not because the code was hard but because they could not tell what the step wanted. That is a writing problem, so the fix is in the writing. There is a Tutor voice setting on the study screen now, and it changes how lessons are worded as well as how your work is reviewed. Plain is the new default and it is exactly what it sounds like: short sentences, a term defined the first time it turns up, and a task you can act on without asking what it meant. If you want something else, Coach notices what improved since your last attempt, the Analogist reaches for an everyday comparison before it reaches for jargon, the Socratic hardliner answers almost nothing and just keeps asking, and the drill sergeant is as blunt as it sounds and will not pretend unfinished work is fine. OG model turns all of it off and leaves the model talking the way it normally does. Your pick is saved to your account, so the local agent uses it too. Aug 15, 2026feature ### The study screen finally says which box to type in The start screen had a topic box and a repo box stacked on top of each other, with the repo read-depth options showing underneath both of them even when you had not typed a repo. You had to read the placeholder text to work out which half of the page was yours. There is a switch at the top now, and it shows you one door at a time. Language, model, tutor voice, difficulty and guidance always applied to both doors, but they rendered below the repo box and read like repo settings, so they have moved into one Options group that stays out of the way until you open it. Popular topics and the full course map are still there under everything, always. The screen remembers which door you used last. Aug 15, 2026feature ### Lessons that use a library, and a tutor that knows what it can run Two things, and the second one is a bug we should have caught sooner. The rules about what each runtime can do were only ever shown to the model that writes a lesson, never to the one reviewing your code mid-lesson. So a tutor could walk you through requiring lodash in a browser runtime that has no module system at all, which is not something you could have done and was never your mistake. It has both halves of that now. If you do try an import in the browser runtime you get a sentence explaining there is no module system rather than a parser error about module declarations. And because some lessons really are about a library, there is a Node option that runs on the server where require works, with lodash and dayjs installed. The tutor is told exactly which packages exist, so it will not send you after one that does not. Aug 15, 2026feature ### Gemini keys, and the models a paid plan actually unlocks Bring-your-own-key now takes a Google Gemini API key alongside Anthropic, Amazon Bedrock, OpenRouter, Ollama and any OpenAI-compatible endpoint. The local agent takes one too. Google also renamed Vertex AI to the Gemini Enterprise Agent Platform, so that option is relabelled, and both entries now say which credential they want: the enterprise one runs Claude on your own Google Cloud project and needs service-account JSON, while a plain API key only ever works with Gemini. Separately, the model picker used to hide the experimental models from other labs unless you were already paying, which meant the one place you would naturally find out about them said nothing. They are listed for everyone now, marked as needing Pro. Aug 15, 2026feature ### See the name on your contributed lessons, and a form worth filling in The switch for putting your name on lessons you contribute governed a name you had never been shown and could not edit. It came from your sign-in once, at account creation, and often was not there at all, so plenty of people were turning on an attribution they could not predict. There is a name field beside the switch now, and a line under it showing the exact sentence a lesson will print, fallback included. Feedback got the same treatment from the other side: both the dashboard form and the report button inside a lesson start with a short template asking what you did, what you expected and what happened instead. Every line is editable and you can delete any of it. Switching between bug and feature never overwrites something you have already started typing. Aug 14, 2026feature ### The first lesson now walks with you instead of talking at you The first lesson used to open with five explanation boxes about the screen and then go quiet, which left you looking at a file of code with no particular reason to think pressing Run was the next move. It is a walkthrough now. Three short boxes cover the brief, the editor and the Run button, and after that it responds to what you actually do: it points at Run, then at the output once there is output to read, then it notices when you have written the line the step asked for and tells you to try it. What it says about your work comes from watching your code run, never from guessing, so it only sounds certain when it has seen the thing happen. If you go quiet for a minute it reminds you what the step wanted, and if you are still stuck it shows you where to ask. It is marked as a tutorial throughout, and there is a way to replay the tour if you skipped it. Aug 14, 2026feature ### The walkthrough now covers every first lesson, and knows when you are stuck Three things. The walkthrough used to live on one lesson, so whichever of the four starting lessons you picked decided how much help you got; all four now run the same way, worded for their own first step. It also waits for a finished line before it says anything, rather than piping up halfway through one being typed. And it watches what your runs actually do: run the code twice without getting there and it tells you what is still missing, and if that does not land it shows you where to ask, which is the one place it will explain the idea without writing the line. Milestones arrive as you go, so you can see how much of the lesson is behind you. Aug 13, 2026feature ### The tutor can draw you a picture Some things are hard to say in a paragraph and easy to see. Two changes. A lesson can now start a step with a small diagram of how the pieces relate, which file calls which, what happens in what order, which is the thing you most want when the codebase is new to you. And when you submit, the review can come back with a picture next to the words: a trace you step through frame by frame to watch each value change, or a side by side of what your code did against what the step asked for. The diagram at the top names the parts and never the answer, exactly like the explanation above it always has. The picture that shows your values only arrives once you have written something, because working it out is the part that teaches you. Aug 13, 2026feature ### Close your account yourself, without emailing anyone Account deletion used to mean emailing us and waiting. You can now do it yourself from Plan and billing, and it takes effect at once rather than joining a queue. Your lessons and everything you wrote inside them, your saved concepts and revision schedule, your API tokens, your linked devices and your name and email address are all erased. Anonymised usage totals stay, because they are our accounting records, with nothing identifying left attached to them. The privacy policy now spells out how long every category of data is kept, including how long a deleted lesson can still sit in a backup before it ages out. Aug 13, 2026feature ### A light theme, and a dashboard that opens on your next lesson There is a theme control in the header of every page now, including the study screen and this dashboard. It remembers your choice across the whole site, so picking light on the marketing pages and then signing in no longer drops you back into dark halfway through. Dark is still what you get by default. The dashboard also opens on a Learn tab holding your next lesson and this card, with plan, seats, keys and billing moved into their own tab, so the first thing you see when you arrive is the thing you came to do. Aug 13, 2026lesson ### A new first lesson: the bug a passing test cannot see New accounts now start on a leaderboard whose top-three function passes its test and still scrambles which score belongs to which person. You find the damage, fix it without changing what the function returns, write the check that would have caught it in the first place, then go looking for the same trap in a different method. It replaces a print-a-greeting exercise as the first thing you meet, because sorting out a real defect in code that looks fine is closer to the work than printing Hello is. The beginner track is still there and still one click away if you are starting from zero. Aug 11, 2026feature ### JavaScript lessons stay inside what your browser can actually run JavaScript lessons run in your own browser, which is what keeps the free tier free, and that runtime has no package manager in it. Asking about a library used to produce a step that called that library, which then could not run. Those lessons now teach the idea the library implements and have you write it in plain JavaScript, checked against how the project's own source does it, which is the better lesson anyway: you understand what next() does by writing the chain, not by importing it. Python lessons are unchanged and still import anything Pyodide can load. Aug 6, 2026feature ### A public roadmap and a public changelog Everything on this card now also lives on a page anyone can read, at codetrain.ai/changelog, so you can point a teammate or a manager at what CodeTrain has actually done without them needing an account. Alongside it there is a roadmap drawn the same way the course map is, one line running from launch through what is shipped, what is in progress, and what is still being weighed up. Shipped items carry the date they went live and nothing ahead of today carries a date, because that would be a guess. If something you need is missing from the line, replying to say so genuinely moves the order. Aug 6, 2026feature ### Send someone a lesson without asking them to sign up The homepage carries a working lesson now. It is a real editor running real JavaScript in the visitor's own browser with real checks, on a bug that looks like it passed and did not, so a person can find out what a Socratic step actually feels like before deciding whether to sign up. The tutor's replies there are written in advance and the page says so plainly, because the one thing a preview must not do is pretend to be the model. Useful if you have ever tried to explain CodeTrain to a colleague and wished you could just hand them a link. Aug 5, 2026feature ### Your concepts now say which ones are actually solid The Progress tab used to show every concept you had touched as one flat row of tags, which told you what you had seen but nothing about what you could still do. It now splits them three ways: due for review, still learning, and solid. Solid means you beat it in review, not that you met it once. Concepts also stop showing up twice because the tutor worded them slightly differently on two days, so the list is shorter and truer than it was. If you lead a team, the members table gains the same signal per person, showing how many concepts are due for review right now. Aug 3, 2026feature ### Your first lesson is on us, and it walks you through the screen Opening CodeTrain for the first time used to mean a blank box asking what you wanted to learn, which is a hard question before you know what a lesson looks like. Now a new account gets three short beginner lessons to choose from, Python, JavaScript or the terminal, and while you work through the first one the editor, the Run button, the review and the checks are pointed out as you reach them. It is a real lesson, reviewed the same way every other lesson is, not a demo. We cover the cost of that first one, and it does not count against your ten free lessons a month. If you would rather just browse, the walkthrough is one click to skip and it will not ask again. Jul 30, 2026feature ### Leaving a lesson no longer costs you the work Close the tab and come back tomorrow, or pick the lesson up on another machine: your code is waiting. Every step you submit is saved, so resuming puts you back on the right step with your own work in the editor, and the earlier steps sit one click away under Your code from earlier steps. Your browser also holds on to whatever you typed but never submitted, so a reload in the middle of a thought no longer wipes it. Finishing a lesson clears that local copy. Jul 30, 2026feature ### Ask about the exact check that failed When a review comes back with a check unticked, there is now an Ask about this button next to it. The tutor sees the check you pointed at, what it told you last time, your code and your last run output, so the answer lands on your actual problem instead of a guess at it. Questions also stop overwriting each other: everything you asked during the lesson stays readable under Questions you asked in this lesson, and it is still there when you resume. Jul 30, 2026feature ### Curated lessons pick the right model for you Curated lessons no longer ask you to choose a model, because the lesson already knows what it needs. Straightforward steps use the quick model, which stretches your usage further. Lessons where the details bite, like the NumPy maths in How LLMs Actually Work, get the deeper model from the first attempt. If a step starts taking a few tries, CodeTrain brings in the deeper model on its own and says so, then drops back to the quick one on the next step. Hints and concept checks always use the quick model. You still pick the model for your own topics, repos and drills, and if you want a testing model on a curated lesson, choose it before you start. Jul 27, 2026feature ### Choose how deeply CodeTrain reads a repo Repo lessons now have a read-depth choice. Quick tour pulls a handful of key files and is the cheapest way to get the shape of a codebase. Deep read pulls far more of it, so the tutor can answer real questions about how things fit together. The surprising part: deep read costs more to start and then less per step, because once the context is large enough it gets reused between steps instead of re-sent in full every time. On a long lesson that works out cheaper than a tour. Both depths are available on the free tier, and the lesson header tells you which one you got and exactly which files it read. Jul 27, 2026feature ### CodeTrain now spots what you got stuck on, and brings it back While you work, the tutor notices which steps actually gave you trouble: where you needed hints, where you retried, where you skipped. Each of those becomes a tracked concept with a review date, and it comes back at widening intervals so it sticks instead of fading. Open Progress and any concept that's due has a Drill this button. The drill is a brand-new exercise built from what you specifically got wrong, not a replay of the lesson you already did. Get it clean and it moves further out; struggle again and it comes straight back tomorrow. Nail it enough times and it graduates to Beaten. If you also use the CodeTrain skill in Claude Code, both share one schedule. Jul 26, 2026feature ### Competency receipts Finish a lesson and you can download a receipt as JSON. It records which steps you wrote correctly first try with no help, where you took a hint or retried, which checks passed, and how long each step took. It is the honest version of a completion certificate: evidence of the work rather than a percentage. On Team plans, leads see the same numbers per member, including an Unaided column, because finishing a lesson and being able to do the thing are not the same claim. Jul 26, 2026feature ### Learn from any public repo, free There's a repo box on the study screen. Paste any public GitHub URL and the tutor reads a slice of the real source, then teaches you from that instead of a generic example. Type something in the topic box first and it aims there: 'how the API works', 'the auth flow', 'how tests are structured'. Leave the topic blank for a tour of the codebase. Secrets and lockfiles are never read, and the lesson shows you exactly which files it used. For private code, repo mode with the agent runs against your own checkout on your machine. Jul 22, 2026course ### New course: How LLMs Actually Work A hands-on path from a single neuron to a working transformer, all in pure NumPy that runs right in your browser. Four classes, 18 lessons: neural-net foundations, tokens and embeddings, the Transformer block, then training, sampling and fine-tuning. Along the way you get paper spotlights (Attention Is All You Need, GPT-2, InstructGPT) and interactive demos. Inspired by Syntax's video I Built an LLM From Scratch. Jul 22, 2026feature ### Richer lessons: paper spotlights, history & live demos Lessons are more than code steps now. They can pull in a paper spotlight next to the concept it introduced, a history timeline, and small interactive demos like a tokenizer playground and an attention-weight heatmap you can poke at. Reading-only steps advance for free, so exploring the history never spends your monthly usage. Jul 22, 2026feature ### New course map The starter courses are laid out like a transit map: each course is a line, each class is a stop, and every stop holds hands-on lessons you type yourself. Easier to see how the pieces fit and where to jump in. And you're never limited to the map: type any topic, or bring your own files, and CodeTrain builds a lesson on the spot. Jul 22, 2026lesson ### Three more starter lessons Three new curated starters joined the catalog: Object-Oriented Python (classes, methods, and the dunder basics), JavaScript functions and closures, and a first taste of Linux and Bash that runs live in a real sandbox. ## What is coming The [roadmap](https://codetrain.ai/roadmap/) covers what is being built now and what is under consideration, including the things deliberately not being built yet. [Start free, no card](https://codetrain.ai/app/)[See the roadmap](https://codetrain.ai/roadmap/) --- Source: https://codetrain.ai/changelog/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Learn # Every course, class by class These are the **curated** courses, written by hand as a place to start. A course is a line, each class is a stop along it, and every class is a set of hands-on lessons where you type each small step yourself. You are not limited to them: ask CodeTrain for **any topic** and it builds the lesson on the spot, or point it at **any public repository** and it teaches you that codebase instead. [Start free, no card](https://codetrain.ai/app/) ## Curated courses ### [Learn to Code in Python](https://codetrain.ai/learn/python-intro/) Start from zero and write real Python from your very first line. [Foundations](https://codetrain.ai/learn/python-intro/py-foundations/)[Collections](https://codetrain.ai/learn/python-intro/py-collections/)Writing robust code (soon) ### [Object-Oriented Python](https://codetrain.ai/learn/python-oop/) Model real things with classes, and learn when OOP earns its keep. [Classes & objects](https://codetrain.ai/learn/python-oop/oop-classes/)Inheritance & polymorphism (soon) ### [JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/) The language that runs the web: values, arrays, and control flow. [Values & arrays](https://codetrain.ai/learn/js-intro/js-values/)Control flow (soon) ### [JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/) Functions are values: pass them around, return them, and capture state. [Functions & closures](https://codetrain.ai/learn/js-functions/jsf-functions/)Async JavaScript (soon) ### [Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/) Stop fearing the shell. Move around, wire commands, automate the boring parts. [First commands](https://codetrain.ai/learn/bash-intro/sh-first/)[Text & pipes](https://codetrain.ai/learn/bash-intro/sh-text/) ### [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) From a single neuron to a working transformer, built from scratch in pure NumPy, in your browser. [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/)[Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/)[The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/)[Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/)[Running LLMs in Production](https://codetrain.ai/learn/llm-foundations/running-llms-in-production/) ### The Backend Course · coming soon ### The Web Course · coming soon ### Data with Python · coming soon ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Guides If you would rather understand the method, bring your own code, or read about learning itself than pick a course off the list. ### [How a Socratic coding tutor works](https://codetrain.ai/learn/socratic-method/) The rules the tutor runs under, quoted from the prompt, and what they do to a real step. ### [Learn any codebase in 30 minutes](https://codetrain.ai/learn/understand-a-codebase/) Paste a public repo and learn it by writing in it. The path, step by step, and what it refuses to read. ### [Why AI coding assistants stop you learning](https://codetrain.ai/learn/why-ai-assistants-stop-you-learning/) Reading a correct answer feels like understanding it. The two come apart weeks later, when the code breaks and none of it is truly yours. Looking for the tools this is built on rather than the courses? [That is over here](https://codetrain.ai/stack/). --- Source: https://codetrain.ai/learn/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / Compare # How CodeTrain compares Five comparisons, one habit: every page concedes where the other category wins before it argues for us. General AI study modes, AI coding assistants, coding course platforms, AI course builders, and AI onboarding tools, each against CodeTrain, each honest about the cases where the other tool is the right call. ### [General AI study modes](https://codetrain.ai/compare/ai-study-modes/) Free, very good, and Socratic by default. Where a conversation stops being enough for code specifically, and why somebody has to type it. ### [AI coding assistants](https://codetrain.ai/compare/ai-coding-assistants/) You already pay for one. Why a training tool is a separate line item, and how to use both without pretending they compete. ### [AI onboarding tools](https://codetrain.ai/compare/ai-onboarding-tools/) They hand a new engineer a map of the code fast. We make the engineer write code against it, and show you who can do the work. ### [Coding course platforms](https://codetrain.ai/compare/coding-course-platforms/) Great for fundamentals, and honestly better than us there. Where a fixed curriculum on an example project stops helping a working team. ### [AI course builders](https://codetrain.ai/compare/ai-course-builders/) Turn documents into courses in seconds. Why documents are the least reliable artifact in software, and what that does to the training built from them. Two pages in this section name real products: a roundup of Socratic tutors, and our alternatives to Copilot and Cursor for learning. Both were written the same way, with every product's facts checked against that product's own page. ### [A roundup of Socratic AI coding tutors](https://codetrain.ai/compare/socratic-ai-coding-tutors/) Six tutors that teach with questions instead of answers, from Code.org to CodeTrain, with who each one suits and how to get it. The facts were checked against each product's own page. ### [Copilot or Cursor alternatives for learning](https://codetrain.ai/compare/copilot-cursor-alternatives-for-learning/) Keep your assistant and change how you use it, or pick a tutor: ChatGPT study mode, Khanmigo, KodeKloud's AI Tutor, or CodeTrain on your own repo. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. These pages are about the category. If you want the tools CodeTrain itself runs on, and what each one has cost us, [that is a different page](https://codetrain.ai/stack/). [Try it free, no card](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/compare/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / AI study modes # CodeTrain vs general AI study modes The big assistants now ship a learning mode that breaks a problem into steps and asks you questions instead of handing over the answer. It is free, it is very good, and for most subjects you should just use it. This page is about the one subject where it stops short. ## What study modes are genuinely better at Almost everything. They will teach you chemistry, contract law, statistics or a language, in your language, on your phone, at no cost. They put diagrams and video inside the explanation, which is better teaching than a wall of text and something we do not do at all. The pedagogy behind them is real research, not a prompt somebody wrote on a Friday. If you are studying for an exam, close this tab and go use one. ## Where it stops, and why code is the exception Every one of those modes is a conversation. That is the right shape for most learning and the wrong shape for programming, because you do not learn to code by understanding code. You learn by writing something that does not work and finding out exactly how. In a study mode there is nowhere to type. Nothing you write is executed. Nothing tells you that your version is subtly wrong, because nothing ran it. You can follow a beautiful explanation of recursion all the way to the end and still not be able to write one, and the conversation has no way of knowing that happened. There is a second thing, and it is more awkward. The same product that refuses to give you the answer in one mode will write the entire function for you in another. That is not a criticism, it is a reasonable thing for a general assistant to offer. But it does mean the refusal is a setting rather than a design, and settings get switched off at exactly the moment the learning would have happened. ## Side by side | | General AI study modes | CodeTrain | | --- | --- | --- | | What it teaches from | A prompt, your notes, a slide deck or a video | Code that actually runs, including a public repo you paste in | | Who types the code | Nobody. The conversation explains it | You do, every line, in an editor that runs it | | When you get it wrong | You find out if you think to ask | The step does not advance until your code passes its criteria | | What progress means | How you answered the questions it asked you | Which steps you cleared unaided, and which concepts are due again | | Who else can read it | Nobody. It is your own account | A lead, as a record of what was done without help | | Asking it to just do it | Switch modes, or open a new chat, and it writes the code | There is no mode that does that. The step still needs code you wrote | ## The part that is not for the learner at all A study mode's progress view is built for the person studying. It shows how they did on the questions it asked them. Useful, and it ends there. If you run a team, the thing you need is a different artifact entirely: what did this person write themselves, against what tests, and where did they keep needing help. That is a claim about a real employee, so it has to come from work that was actually executed rather than from a quiz. No general study mode produces it, and none of them has anywhere to put it. ## When you should not use CodeTrain Worth saying plainly, because the wrong fit wastes your money and my time. - You are learning anything that is not code. Use a study mode. It is free and it is better. - You want the concept explained, not practiced. A conversation is the faster way to get that. - You are on a phone. Typing code on a phone is miserable and we have not pretended otherwise. - You want it in a language we do not support yet. They cover far more of the world than we do. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [Other comparisons](https://codetrain.ai/compare/) The honest test: ask a study mode to teach you a real repository, then paste the same repo URL into the free tier here and do a lesson on the part you understand least. Ten minutes, and you will not need anyone's comparison table. --- Source: https://codetrain.ai/compare/ai-study-modes/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / Coding assistants # CodeTrain vs AI coding assistants This is the comparison we get asked about most, and the honest answer is that it is not really a comparison. An assistant produces code. CodeTrain produces engineers who can read the code the assistant produced. Most teams that buy us keep paying for both. ## What assistants are genuinely better at Everything they claim, mostly. Boilerplate, test scaffolding, the third CRUD endpoint that looks like the other two, translating a function between languages, remembering an API you use twice a year. We use one daily to build CodeTrain, which would be an awkward thing to hide. If your problem is that shipping is too slow, buy an assistant and stop reading here. ## The bill that arrives later There is a moment most people who code with assistants recognize. Something breaks in production, the model's fix does not work, its second fix breaks something adjacent, and you are now debugging code that nobody understands, including the model that wrote it. The velocity was real. So is this. The quieter version shows up in review. A diff arrives, it looks plausible, it passes CI, and the reviewer approves it without being able to reproduce the reasoning. Do that for a year across a team and the codebase fills up with decisions nobody made. That is not an argument against assistants. It is an argument that producing code and understanding code came apart, and only one of them got a tool. ## Side by side | | AI coding assistants | CodeTrain | | --- | --- | --- | | Who types the code | The assistant, from your prompt | You do, every line, in an editor that runs it | | What you have afterwards | Working code, and a chat log | Working code you can explain, and a record of which steps you wrote unaided | | How it checks the work | You review the diff, or you don't | Your code runs against per-step criteria before the step advances | | When you're stuck | It writes more code | The step gets smaller, or the question gets sharper | | What a lead can prove | Throughput went up | This person changed this module unaided, and here is what passed | | Time it costs you | Saves minutes now | Costs twenty minutes now | ## Using both on purpose The split that works: let the assistant handle the code you will never need to reason about again, and run a lesson on the parts you would be in trouble explaining. Auth, billing, the module that pages you at 2am, whatever a new hire will touch in their first month. Twenty minutes of typing it yourself is cheap next to an outage in a file you cannot read. ## When you should not use CodeTrain Worth saying plainly, because the wrong fit wastes your money and my time. - You are shipping something today and the deadline is real. Learning is not an emergency tool. - The code in question is throwaway. A prototype you will delete does not deserve a lesson. - You already know this codebase cold. We have nothing to teach you about it. - You want an assistant that types faster. That is a different product and we are not it. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [Other comparisons](https://codetrain.ai/compare/) Point the free tier at a public repo you did not write and ask for a lesson on the part you understand least. That is the version of this argument you can check yourself in ten minutes. --- Source: https://codetrain.ai/compare/ai-coding-assistants/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / AI onboarding tools # CodeTrain vs AI onboarding tools A new engineer starts Monday, and the question you get asked is not "how do we teach them the codebase." It is "when can they safely change it." The tools recommended today, a coding agent that explains the repository plus tools that generate onboarding docs, answer the first question well and the second not at all. They orient a new hire fast, and we think you should keep them. What they do not produce is what a lead needs by Friday: evidence the person can do the work. ## What AI onboarding tools are genuinely good at We will concede this up front: this category is good at its job. Point a coding agent at the repository and a new engineer gets an architecture overview in minutes, an answer about any file on demand, and a generated wiki that replaces the onboarding doc nobody maintained. In a survey of 80+ engineers and managers (Swimm, via HackerNoon, 2020), a new engineer took 3-9 months to fully ramp up, and anything that shortens those months is worth having. Many teams now onboard exactly this way, and we would not talk them out of it. The map is real, it is fast, and for the first weeks it is what a new person needs. ## Where the map alone breaks The problem is not the map. A map of the code and the ability to change the code are different things, and this category produces just the first one. Nothing in it asks the new engineer to write code against the repository and checks that it runs. There is evidence for the gap. In a [randomized study](https://www.anthropic.com/research/AI-assistance-coding-skills) Anthropic published on 2026-01-29, 52 software engineers, mostly junior, learned Trio, a Python library new to them, either with AI assistance or by coding by hand. On a quiz right after the task, the AI group averaged 50% and the hand-coding group 67%. The largest gap was on debugging questions. The AI group finished about two minutes faster, and that difference was not statistically significant. The authors are careful: the sample was small, and the quiz came right after the task, so it measured comprehension shortly afterwards, not long-term skill. We are not claiming that study tested onboarding tools, or us. It tested neither. But it bears on the question a lead actually has: did the person learn it, or did they read it? ## Side by side | | AI onboarding tools | CodeTrain | | --- | --- | --- | | What the new hire gets | A map of the code, fast | Code they wrote, that runs | | Who types | Nobody, the tool explains | The engineer, every line | | Checked that it works | No, documents and answers | Every step runs and must pass | | What a lead can show | Docs were generated | Which steps each person did unaided | | When someone is stuck | Ask the agent again | The step gets smaller or the question gets sharper | | What is left afterwards | Documents, nothing else | Lessons, concepts, steps unaided | ## What a lead actually gets Here is what the lead running onboarding gets. You build the path from your own repository and standards: a tricky service, a first safe change, whatever they will touch in month one. The engineer works through it in small steps, and each step must run and pass before the next one opens. The tutor never writes their code, and a code-level guard removes a pasteable solution before it reaches them. On the team dashboard you see each person's finished lessons, the concepts they covered, and the steps they completed unaided. When nothing assessable happened, the record says "no data" rather than zero. Review and merges stay with your own people. ## When you should not use CodeTrain - The new person only needs a map. In the first weeks, read-only, the generated wiki is the right tool and we are not it. - You need compliance-style LMS tracking or SOC 2. We are in beta and not SOC 2 certified. For SSO, audit logs or self-hosting, talk to us about Enterprise. - The code is throwaway. A prototype you will delete does not deserve a lesson. - You want the tool to do the onboarding task itself. We make the person do the work, and that is slower on purpose. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [Other comparisons](https://codetrain.ai/compare/) Point the free tier at a public repository and ask for a lesson on the part you understand least. That is the version of this argument you can check yourself in about ten minutes, for nothing. --- Source: https://codetrain.ai/compare/ai-onboarding-tools/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / Copilot or Cursor alternatives for learning # Copilot or Cursor alternatives for learning to code If you use Copilot or Cursor every day, you have probably had the moment: a diff ships, the tests pass, and you could not rewrite it from scratch. The tools are good at their job. The question on this page is different: which tool helps you learn the code, not just produce it? The honest answer starts with the assistant you already have. Then there are real options beyond it, and we will take them one by one. ## Keep your assistant, change how you use it [GitHub Copilot](https://github.com/features/copilot) is "Your AI accelerator for every workflow, from the editor to the enterprise," with code completion, chat, agent mode in the IDE, and a cloud agent with code review. [Cursor](https://cursor.com) calls itself "your coding agent for building ambitious software." Copilot offers code explanations, and verified students can use the GitHub Copilot Student plan. Copilot Free includes 2,000 completions per month and a limited monthly allowance for chat and agent features. Claude Code's Learning output style does this: Claude handles routine implementation itself, and when it reaches a real design decision it leaves a few lines of code for you to write, then continues. ## Other options for learning [ChatGPT study mode](https://help.openai.com/en/articles/11780217-using-study-mode-in-chatgpt) guides you with questions instead of giving the answer right away, explains ideas step by step, and checks your understanding along the way. It is available across ChatGPT plans on web, iOS and Android. If you want to work through a concept in the evening, on a device you already have, this is the lightest way to start. [Khanmigo](https://www.khanmigo.ai/) is an AI tutor and teaching assistant from the nonprofit Khan Academy. It guides learners to find the answer themselves, and covers subjects including math, science and coding. Worth knowing before you sign up: Khanmigo for learners needs a monthly or annual payment, and the account holder must be 18 or older and live in the United States. [KodeKloud's AI Tutor](https://kodekloud.com/ai-tutor) gives real-time help inside KodeKloud's own labs and lessons, across topics including Kubernetes, Docker, Linux, Terraform, Python, AWS, Azure and Git, and it is free for all users. If your learning goal is infrastructure and DevOps tooling, and you want the help embedded in the lab you are already running, this is the one built for that path. CodeTrain is ours, so plain words. It builds a lesson from your own repository or any public one: it breaks a task into small steps, you type every line, and each step runs and must pass before the next one opens. Our tutor never writes your code: a code-level guard removes a pasteable solution before it reaches you. It records which steps you completed unaided, and a team lead sees it on the team dashboard. The free plan is ten lessons a month, no card. CodeTrain is in beta. ## Side by side | Option | Best for | What you do | | --- | --- | --- | | Copilot or Cursor as they are | Shipping, boilerplate, code you will never need to reason about | You prompt, the assistant writes | | Claude Code in its Learning style | Keeping your agent while writing the decisions yourself | It handles routine work and leaves the lines with a real design decision to you | | ChatGPT study mode | Learning concepts and syntax anywhere | It asks questions, explains step by step, and checks your understanding | | Khanmigo | School-style tutoring in math, science and coding | It guides you to find the answer yourself | | KodeKloud's AI Tutor | DevOps topics, inside its labs and lessons | It gives real-time help while you work the lab | | CodeTrain | Doing the work in your own codebase, proven step by step | You type every line, and each step runs and must pass | ## When the assistant is the right call To be fair, when the goal is shipping, boilerplate, or code you will never need to reason about, Copilot or Cursor as they are is the right call. That is a real category: config files, the fourth CRUD endpoint, scaffolding you will delete next week. The trouble starts when code you cannot explain is code you are on the hook for. That is the split: let the assistant ship, and learn the parts you would be stuck explaining. We checked every fact about other products on this page against those products' own pages on 2026-09-29. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [Other comparisons](https://codetrain.ai/compare/) --- Source: https://codetrain.ai/compare/copilot-cursor-alternatives-for-learning/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / A roundup of Socratic AI coding tutors # Which Socratic AI coding tutor is for you? We make CodeTrain, so you might expect this page to end with "use CodeTrain". It mostly will not. A tutor that teaches with questions instead of answers is a good idea whoever builds it, and more than one team has built one, each for a different learner. Here are the real options, what each does, and who it suits. If the one for you is not ours, use that one. | tutor | who it is for | how it teaches | how you get it | | --- | --- | --- | --- | | [Code.org AI Tutor](https://code.org/en-US/tools/ai-tutor) | Students in grades 6-12 on Code.org courses | Socratic questioning built into the course rather than answers | Inside select Code.org courses, in English | | [Khanmigo](https://www.khanmigo.ai/) | Learners working on math, science and coding | Guides you to find the answer yourself | Monthly or annual payment, account holder 18 or older, in the United States | | [ChatGPT study mode](https://help.openai.com/en/articles/11780217-using-study-mode-in-chatgpt) | People who want concepts explained and checked in a chat | Guides with questions, explains step by step, checks your understanding | Across ChatGPT plans on web, iOS and Android | | [CodeTeach](https://github.com/janabi54/codeteach-debug-tutor) | JavaScript debuggers who want to commit to a hypothesis | Asks for a written hypothesis before every hint | Open source, runs locally, with or without an Anthropic API key | | [KodeKloud AI Tutor](https://kodekloud.com/ai-tutor) | People learning Kubernetes, Docker, Linux, Terraform, Python, AWS, Azure and Git | Real-time help inside its labs and lessons | Free for all users | | CodeTrain | Developers who want to learn on their own repository by typing every line | Breaks a task into small steps that run and must pass | Free plan with ten lessons a month, no card, in beta | Pick [Code.org's AI Tutor](https://code.org/en-US/tools/ai-tutor) when the learner is in grades 6-12 and already on Code.org, or when a teacher is choosing a course. It is built into select courses and designed around Socratic questioning, so the questioning is part of the course rather than an add-on. It is in English, which is worth knowing before you plan a lesson around it. Pick [Khanmigo](https://www.khanmigo.ai/) when the learner is studying math, science or coding and wants a guide that leads them to the answer themselves. It comes from Khan Academy, a nonprofit. Note the terms before you sign up: the learner plan needs a monthly or annual payment, and the account holder must be 18 or older and live in the United States. Pick [ChatGPT study mode](https://help.openai.com/en/articles/11780217-using-study-mode-in-chatgpt) when you want the concepts explained step by step and your understanding checked, in a conversation. It guides you with questions instead of giving the answer right away, and it is available across ChatGPT plans on web, iOS and Android. If you are on your phone, pick this one and come back to the rest later. Pick [CodeTeach](https://github.com/janabi54/codeteach-debug-tutor) when you are debugging JavaScript and want to be forced to think before you get a hint. It requires a written hypothesis, "I think the bug is because ___", before every hint, and that discipline pays off. It is open source under MIT, runs locally, and works with or without an Anthropic API key. Pick [KodeKloud's AI Tutor](https://kodekloud.com/ai-tutor) when you are working through its labs and lessons on Kubernetes, Docker, Linux, Terraform, Python, AWS, Azure or Git and want help right where the exercise is. It gives real-time help inside those labs and lessons, and it is free for all users. Pick CodeTrain when the lesson is from your own repository or any public one. It breaks a task into small steps, you type every line; each step runs and must pass before the next opens. The tutor never writes your code, and a code-level guard removes a pasteable solution before it reaches you. It records the steps you completed unaided; a team lead sees that on the team dashboard. The free plan is ten lessons a month, no card. We are in beta. ## How to choose Start with where the learning happens. If it is a Code.org course, use the tutor built into it. If it is school subjects, Khanmigo covers math, science and coding. If it is a conversation you want, on your phone or laptop, study mode is there. If it is Kubernetes or its neighbours, KodeKloud's tutor is inside the labs and free. If it is your own repository, and the point is that you write the code, that is CodeTrain. The honest shortcut: pick the tutor that lives where you already practice, because the one you open is the one you keep using. We checked every fact about the other products against their own pages on 2026-09-29. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [Other comparisons](https://codetrain.ai/compare/) --- Source: https://codetrain.ai/compare/socratic-ai-coding-tutors/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / Course platforms # CodeTrain vs coding course platforms Interactive course platforms are good, some of them are excellent, and if you are learning your first language you should use one instead of us. The place they run out of road is narrow and specific: the codebase your team actually works in. ## What course platforms do better Fundamentals from zero, with a sequence somebody thought hard about. If you do not yet know what a function is, you want a curriculum, not a tutor improvising on your repo. They also have things we do not: a community of people stuck on the same exercise, a streak that keeps you honest, and years of editing that removed the confusing parts. Recommending one over us for a beginner is not modesty, it is the correct answer. ## Where the model breaks for a working team Their exercises run on an example project. It is clean, it was designed to teach one idea, and it is nothing like the service you inherited with four years of decisions in it. Someone can finish an entire track and still not know why your repo has two HTTP clients, which one is deprecated, or what breaks if they touch the billing module. Then there is what the completion tells a manager. Percent complete says a person sat through material. It does not say they can change your auth code without breaking checkout. Those are different claims and only one of them is worth a staffing decision. For onboarding specifically, that gap is the whole problem: the ramp is slow because the codebase is unfamiliar, not because the language is. ## Side by side | | Coding course platforms | CodeTrain | | --- | --- | --- | | Who chose the curriculum | Their instructional team, months ago | Your question, or the repo you pointed at | | What code you work on | A tidy example project built for teaching | The code your team actually ships | | How it's graded | Hidden tests against the expected solution | Your code runs, checked against the step's own criteria | | What a lead sees | Percent complete, and a certificate | Which steps were written unaided, on which parts of the codebase | | How it goes stale | Someone has to rewrite the course | It doesn't. The repo is the source and it moved this morning | | Price shape | Per learner, per year, whether or not they finish | Per learner, monthly. The place moves on when they finish, and the free tier runs in the browser | ## When you should not use CodeTrain Worth saying plainly, because the wrong fit wastes your money and my time. - You are learning to program for the first time. Use a real curriculum with a real sequence. - You want a certificate an employer recognizes. We produce evidence of work, not credentials. - You want the community and the streaks. We are a tutor, not a place to hang out. - Your team needs company-wide training rather than engineering training. Wrong category entirely, see [course builders](https://codetrain.ai/compare/ai-course-builders/). ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [See the courses](https://codetrain.ai/learn/) We do run structured courses too, on Python, JavaScript, bash, and how LLMs actually work. The difference is that finishing one is not the point, and you can point the same tutor at your own repository the moment you want to. --- Source: https://codetrain.ai/compare/coding-course-platforms/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Compare](https://codetrain.ai/compare/) / Course builders # CodeTrain vs AI course builders A wave of tools now turn a folder of documents into a full course in seconds. They are genuinely good at that. This page is about the one job they are not built for: getting an engineer productive in a specific codebase, and proving it happened. ## What course builders are actually good at If you need company-wide training, they are the right category and I would not argue otherwise. Compliance modules, security awareness, sales enablement, policy rollouts, new-hire orientation for the whole organization. That work is real, it has to reach thousands of people, and generating it from the documents you already have beats writing it by hand. Several of these tools also plug into the LMS you already run, which matters more than engineers tend to think. ## Where it breaks for engineering Two things. First, the input. A course builder reads your documents, and in software the documents are the least reliable artifact you own. Your onboarding wiki was accurate the week it was written; the repo moved this morning. Generating training from stale docs doesn't just repeat the staleness, it adds confidence to it. Second, the grading. Nothing executes. A model reads what the learner typed and scores it against a rubric, then reports a completion percentage. That tells you somebody sat through the material. It does not tell you they can open the auth module and change it without breaking billing. Those are different claims, and only one of them is worth a headcount decision. ## Side by side | | AI course builders | CodeTrain | | --- | --- | --- | | What it reads | Your documents, recordings, or just a topic | Your codebase, or a public repo you point it at | | Who writes the code | Nobody. You read about it and answer questions | You do. Every line, in a real editor | | How it's graded | A model judges your written answer against a rubric | Your code runs. If it doesn't pass, the step doesn't advance | | What the manager gets | A completion rate and a mastery score | Which steps were written unaided, with the checks that passed | | Where your material goes | Uploaded to their cloud to build the course | Your machine with CodeTrain Open Skill or the CodeTrain CLI, your own provider with your key, our servers with the browser tutor | | Stays current because | Someone maintains the source documents | The repo is the source, and it updates itself | ## When you should not use CodeTrain Worth saying plainly, because the wrong fit wastes your money and my time. - You need training for the whole company, not just engineers. Use a course builder. - Your records have to live in your LMS via SCORM or LTI today. We export the receipt as data, but we are not an LMS and will not pretend to be one. - What you actually need is a course about a policy document. That is their job, not ours. - You have one developer who is already senior on the codebase. They don't need us. ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Try it free, no card](https://codetrain.ai/app/) [See the courses](https://codetrain.ai/learn/) Paste a public repo on the free tier and it builds the lesson from that code. That is the fastest way to see whether the difference on this page is real. --- Source: https://codetrain.ai/compare/ai-course-builders/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) / The Socratic method # How a Socratic coding tutor works A Socratic coding tutor never writes your code. It asks a question, watches what you type, tells you what your code is actually doing, and hands you the next small step. You do the producing; it does the noticing. This page shows the exact rules CodeTrain's tutor follows and what they look like in a real lesson. [Try one lesson free](https://codetrain.ai/app/) No card. 10 lessons a month on the free tier. ## The difference in one line An AI coding assistant answers the question you asked. A Socratic coding tutor answers with the question you should have asked next. Both are useful. Only one of them leaves you able to do it again tomorrow without the tool open. ## The rules the tutor actually runs under These are not a description of the behaviour, they are quoted from the system prompt itself. The tutor is [CodeTrain Open Skill](https://github.com/InferHaven/agent-skills/tree/main/codetrain), free and open source, so you can read the whole thing rather than take our word for any of this. from the CodeTrain tutor system prompt 1. “You are CodeTrain, a hands-on Socratic coding tutor.” 2. “The learner writes every line. NEVER write or paste their solution, not even a ‘tiny’ line.” 3. “One tiny step at a time. Diagnose what their code is doing and why, ask one guiding question, and point at the next move.” Two more rules matter as much and are easier to miss. Failing code is treated as the best teaching moment available, so the tutor reviews a broken submission instead of refusing it. And it will not claim your code ran when it has no output to prove it did; a command with no run evidence gets reviewed as written, and says so. InferHaven's [first study](https://inferhaven.com/research/socratic-pressure-v1/) ran 8 models on 12 small Python exercises to measure how often a tutor, pushed for the answer, replies with code that passes. One of its two system prompts is CodeTrain's published tutor rules, the three quoted above. Result, in the study's own words: "the two small, code-specialized local models handed over passing code most often, and the paired test supports a drop with the published rules for Qwen2.5-Coder 7B and for Qwen3.5 9B, while for Qwen2.5-Coder 3B the drop is within chance. Four models returned no passing code in any reply." The study's limit: a prompt alone did not stop the small local models here, and the product's code-level guard was not tested. Conflict of interest, stated in the study: Ethan builds CodeTrain and ran it, and every raw reply is published. ## What that looks like on a real step Here is the first step of the free [Python foundations](https://codetrain.ai/learn/python-intro/py-foundations/) class, exactly as a learner receives it. step 1 of 4 · Python Basics ### Print a greeting Write a single line that prints `Hello, CodeTrain!`. Submit `print(Hello, CodeTrain!)` and a code assistant would hand back the corrected line. Following the rules above, the tutor cannot: it has to name what your code does (Python reads `Hello` as a variable that was never defined), ask the one question that gets you there (what marks a piece of text as text rather than a name?), and stop. You type the quotes. That is the whole difference, repeated a few hundred times until it is a habit. Then the step runs. It has to actually pass before the lesson advances, which is why what you finish with is a record of the steps you wrote unaided rather than a completion percentage. ## Why not just let it write the code? Because you are not trying to end up with the code. You already have a tool that produces code faster than you can read it. What you do not have is a way to still understand the result in six weeks, when it breaks and the person who generated it has moved teams. Producing the line yourself is the cheapest known way to keep that. The struggle is not a side effect of the method, it is the method. ## When a Socratic tutor is the wrong tool Worth saying plainly, because the wrong fit wastes your time. - You are shipping today and the deadline is real. Learning is not an emergency tool. Use the assistant. - The code is throwaway. A prototype you will delete does not deserve a lesson. - You already know this material cold. Being asked leading questions about something you can already do is just slower. - You want the answer, not the skill. That is a legitimate thing to want, and it is [a different category of tool](https://codetrain.ai/compare/ai-coding-assistants/). ## Common questions ### What is a Socratic AI coding tutor? A tutor that answers a question with the next question instead of with the code. It reads what you wrote, tells you what it actually does, asks the one thing that gets you to the fix, and stops there. You produce every line yourself. ### How is that different from an AI coding assistant? An assistant optimizes for the code existing. A tutor optimizes for you being able to write it again next week without the tool open. Both are useful and they are not substitutes: when the deadline is real and today, use the assistant. ### Will it ever just show me the answer? Not the line the step is asking for. It will show you an unrelated worked example, explain the concept, and quote your own code back at you. If a reply contains something that would write the step for you, it is held back behind a click rather than deleted, so the reply still makes sense. ### Is it slower than asking for the code? To get the code, yes, and that is the trade being made on purpose. The struggle is not a side effect of the method, it is the method: producing the line yourself is the cheapest known way to still understand it in six weeks. ### Does it work on my own codebase? Yes. Point it at any public repository and it authors the lesson from that code rather than from a curriculum, so the thing you practice on is the thing you actually have to work in. ## Where to try it [Learn to Code in Python](https://codetrain.ai/learn/python-intro/) [Learn any codebase in 30 minutes](https://codetrain.ai/learn/understand-a-codebase/) [Every course](https://codetrain.ai/learn/) [How CodeTrain compares](https://codetrain.ai/compare/) [Start free, no card](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/socratic-method/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) / Understand a codebase # Learn any codebase in 30 minutes Reading a summary of a repository does not teach you the repository. Paste a public repo URL into CodeTrain and it builds a lesson out of the code that is actually in it, then makes you write against that code one small step at a time. Free, no card, nothing to install. [Paste a repo and start](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Why a summary does not work Ask a chat tool to explain a codebase and you get a confident architecture overview. It is usually right, it is occasionally invented, and either way you cannot tell which by reading it. Worse, you retain almost none of it, because you did not do anything. Half an hour later you can quote the summary and still not know where to make the change. ## The thirty minute path step 1 ### Point it at the repo Paste any public repository URL. On Pro you point it at your own checkout instead and the edits land in your real branch, on 127.0.0.1. step 2 ### Say what you actually want Not "explain this repo". Say "how does the auth flow work" or "I need to add a field to the API". The intent decides which files get read and what the first step is, and a narrow intent produces a far better lesson than a broad one. step 3 ### Write the first small step It opens a real editor on a real file with a Run button. The first step is deliberately tiny. You type it, it runs, the tutor reviews what you wrote rather than what it expected. step 4 ### Get stuck on purpose Stuck is the useful part. Ask, and it shrinks the step or gives the next hint. It will not paste the solution, so the thing you end up with is yours. Thirty minutes in you will not know the whole system. You will know one path through it end to end, which is the thing that makes the second hour fast. ## Explore or change: pick one Repo mode has two intents and they behave differently. **Explore** is read only: you learn the code and nothing on disk moves. **Guided** means you are making a change, and the work comes back as a single reviewable patch at the end of the lesson rather than a trail of edits you have to untangle. Pick explore when you are onboarding, guided when you have a real task. ## What it will not read This matters more on a public repo than people expect, because public repos contain committed secrets more often than anyone would like. CodeTrain refuses a fixed denylist before anything reaches the model or your browser: `.env` and its variants, private keys and certificates, `.netrc`, `.npmrc`, `.pypirc`, `.git-credentials`, service account JSON, keystores, and VPN configs. Gitignored files are skipped too. The list is enforced in the CodeTrain CLI and on the server, and the two are kept in sync deliberately. ## When this will not help - The repository is enormous and your intent is vague. Narrow the question first. - You need an answer in five minutes for an incident. Ask an assistant, learn it later. - The code is generated or vendored. There is nothing there worth learning by hand. - You want documentation you can hand to someone else. This makes you understand it, not a written artifact about it. ## Related [How a Socratic coding tutor works](https://codetrain.ai/learn/socratic-method/) [Every course](https://codetrain.ai/learn/) [Versus AI coding assistants](https://codetrain.ai/compare/ai-coding-assistants/) [Start free, no card](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/understand-a-codebase/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) / Why AI coding assistants stop you learning # Why AI coding assistants stop you learning Reading a correct answer feels like understanding it. The two come apart weeks later, when the code breaks and none of it is truly yours. ## The step that does the learning Writing the line yourself is what builds the skill. An assistant removes that step and leaves everything around it in place, which is why a session with one still feels productive. You read the answer, it makes sense, you ship it. Six weeks later it breaks and you are reading it for the first time. None of that makes assistants bad. It makes them a tool with a specific job. ## What you keep and what you do not - You keep the code. That part is real and it arrived faster than you could have typed it. - You keep a vague sense of the shape of the solution. - You do not keep the ability to produce it again, because you never did produce it. The gap only shows up when the tool is not open: in a review, in an outage, in an interview, or in a file the model gets wrong and you cannot tell. what a Socratic tutor does instead It names what your code is actually doing, asks the one question that gets you to the fix, and stops. You type the line. ## When the assistant is the right call 1. The deadline is real and it is today. Learning is not an emergency tool. 2. The code is throwaway. A prototype you will delete does not deserve a lesson. 3. You already know the material cold and you are just saving keystrokes. Outside those, the question worth asking is whether you want the code or the ability. Both are legitimate. They cost different amounts of time and leave you with different things. ## The cheap test Close the tool. Write the same thing again from memory. If you cannot, you did not learn it, and nothing about how the first version felt changes that. [Try one lesson free](https://codetrain.ai/app/)[Read how the method works](https://codetrain.ai/learn/socratic-method/)No card. Ten lessons a month on the free tier. [How a Socratic coding tutor works](https://codetrain.ai/learn/socratic-method/)[How to tell you actually learned it](https://codetrain.ai/learn/how-to-tell-you-actually-learned-it/)[Every course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/why-ai-assistants-stop-you-learning/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # Learn to Code in Python Start from zero and write real Python from your very first line. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Foundations](https://codetrain.ai/learn/python-intro/py-foundations/) 1 lesson · free Variables, functions, and loops: the moves every program is built from. ### [Collections](https://codetrain.ai/learn/python-intro/py-collections/) 1 lesson · free Build, filter, and reshape groups of data the Pythonic way. ## Also coming to this course Writing robust code ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-intro/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [Learn to Code in Python](https://codetrain.ai/learn/python-intro/) # Foundations Variables, functions, and loops: the moves every program is built from. A class in Learn to Code in Python. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Python Basics python · 4 steps · free Variables, printing, and your first function. 1. Print a greeting 2. Store a value 3. Write a function 4. Loop a little [Start this lesson](https://codetrain.ai/app/study/?lesson=python-basics) ## Also coming to this class Conditionals & branchingWorking with strings ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of Learn to Code in Python [Collections](https://codetrain.ai/learn/python-intro/py-collections/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-intro/py-foundations/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [Learn to Code in Python](https://codetrain.ai/learn/python-intro/) # Collections Build, filter, and reshape groups of data the Pythonic way. A class in Learn to Code in Python. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### List comprehensions python · 3 steps · free Build and filter lists the Pythonic way. 1. Squares 2. Filter evens 3. Transform + filter [Start this lesson](https://codetrain.ai/app/study/?lesson=python-comprehensions) ## Also coming to this class DictionariesSets ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of Learn to Code in Python [Foundations](https://codetrain.ai/learn/python-intro/py-foundations/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-intro/py-collections/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # Object-Oriented Python Model real things with classes, and learn when OOP earns its keep. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Classes & objects](https://codetrain.ai/learn/python-oop/oop-classes/) 1 lesson · free Bundle data and behavior together into your own types. ## Also coming to this course Inheritance & polymorphism ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-oop/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [Object-Oriented Python](https://codetrain.ai/learn/python-oop/) # Classes & objects Bundle data and behavior together into your own types. A class in Object-Oriented Python. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Object-Oriented Python python · 4 steps · free Bundle data and behavior together with classes. 1. Define a class 2. Give it behavior 3. More state 4. Readable objects [Start this lesson](https://codetrain.ai/app/study/?lesson=python-oop) ## Also coming to this class Encapsulation ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/python-oop/oop-classes/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # JavaScript Fundamentals The language that runs the web: values, arrays, and control flow. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Values & arrays](https://codetrain.ai/learn/js-intro/js-values/) 2 lessons · free The data structures you'll touch in every JavaScript program. ## Also coming to this course Control flow ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/js-intro/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/) # Values & arrays The data structures you'll touch in every JavaScript program. A class in JavaScript Fundamentals. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### JavaScript: array methods javascript · 4 steps · free map, filter, and reduce without a loop in sight. 1. console.log 2. map 3. filter 4. reduce [Start this lesson](https://codetrain.ai/app/study/?lesson=js-arrays) ### The bug a passing test cannot see javascript · 4 steps · free A function returns the right answer and still corrupts your data. 1. Prove the damage 2. Fix it without changing what it returns 3. Write the check that would have caught it 4. The same trap, somewhere else [Start this lesson](https://codetrain.ai/app/study/?lesson=js-mutation-bug) ## Also coming to this class Variables & typesObjects ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/js-intro/js-values/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # JavaScript: Functions & Data Functions are values: pass them around, return them, and capture state. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Functions & closures](https://codetrain.ai/learn/js-functions/jsf-functions/) 1 lesson · free Higher-order functions and the closures that give them memory. ## Also coming to this course Async JavaScript ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/js-functions/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/) # Functions & closures Higher-order functions and the closures that give them memory. A class in JavaScript: Functions & Data. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### JavaScript: Functions & Data javascript · 4 steps · free Functions are values: pass them, return them, close over state. 1. Declare a function 2. Arrow functions 3. Functions that take functions 4. Closures [Start this lesson](https://codetrain.ai/app/study/?lesson=js-functions) ## Also coming to this class Callbacks in depth ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/js-functions/jsf-functions/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # Command the Terminal: Linux & Bash Stop fearing the shell. Move around, wire commands, automate the boring parts. Hands-on lessons where you write every line yourself and every step has to run. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [First commands](https://codetrain.ai/learn/bash-intro/sh-first/) 1 lesson · free Print, store, loop, and pipe, running live in a real sandbox. ### [Text & pipes](https://codetrain.ai/learn/bash-intro/sh-text/) 1 lesson · free ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/bash-intro/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/) # First commands Print, store, loop, and pipe, running live in a real sandbox. A class in Command the Terminal: Linux & Bash. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Linux & Bash: first commands bash · 5 steps · free Print, store, loop, and pipe: the shell's core moves. 1. Print a line 2. Variables & quoting 3. Loop over items 4. Pipe into a filter 5. Save to a file [Start this lesson](https://codetrain.ai/app/study/?lesson=bash-basics) ## Also coming to this class Navigating the filesystem ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of Command the Terminal: Linux & Bash [Text & pipes](https://codetrain.ai/learn/bash-intro/sh-text/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/bash-intro/sh-first/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/) # Text & pipes Text & pipes, a hands-on class in Command the Terminal: Linux & Bash. A class in Command the Terminal: Linux & Bash. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Linux Filesystem Fundamentals bash · 5 steps · free Practice the fundamentals of the Linux filesystem. 1. Navigate and list files with absolute and relative paths 2. Understand file permissions and ownership 3. Explore inodes and hard links 4. Work with symbolic links and understand their behavior 5. Inspect filesystem structure and disk usage [Start this lesson](https://codetrain.ai/app/study/?lesson=linux-filesystem-fundamentals) ## Also coming to this class Redirectsgrep, sed & awkPermissions ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of Command the Terminal: Linux & Bash [First commands](https://codetrain.ai/learn/bash-intro/sh-first/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/bash-intro/sh-text/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [CodeTrain](https://codetrain.ai/) / [Learn](https://codetrain.ai/learn/) # How LLMs Actually Work From a single neuron to a working transformer, built from scratch in pure NumPy, in your browser. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated classes in this course ### [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/) 4 lessons · free History, a trainable neuron, an N-gram model, and the RNN the transformer replaced. ### [Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/) 5 lessons · free Turn text into vectors: tokenizers, embeddings, similarity, and position. ### [The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/) 5 lessons · free Self-attention, causal masking, multi-head, LayerNorm, and the full block. ### [Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/) 4 lessons · free Assemble a GPT, learn the loss, sample text, and see how assistants are aligned. ### [Running LLMs in Production](https://codetrain.ai/learn/llm-foundations/running-llms-in-production/) 1 lesson · free ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## Other courses [Learn to Code in Python](https://codetrain.ai/learn/python-intro/)[Object-Oriented Python](https://codetrain.ai/learn/python-oop/)[JavaScript Fundamentals](https://codetrain.ai/learn/js-intro/)[JavaScript: Functions & Data](https://codetrain.ai/learn/js-functions/)[Command the Terminal: Linux & Bash](https://codetrain.ai/learn/bash-intro/) [Start this course free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) # Neural-net foundations History, a trainable neuron, an N-gram model, and the RNN the transformer replaced. A class in How LLMs Actually Work. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### The road to the Transformer python · 1 steps · free How we got from a single neuron to ChatGPT, in seven steps. 1. Sixty years in one map [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-history) ### A neuron from scratch python · 5 steps · free Build and train a single artificial neuron with NumPy. 1. The weighted sum 2. Fire or not: the activation 3. Wrap it in a predict() 4. Learn from one mistake 5. Train the AND gate [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-perceptron) ### Predict the next word: an N-gram model python · 4 steps · free The simplest language model: count what usually comes next. 1. Split into words 2. Count what follows each word 3. Counts into probabilities 4. Predict the next word [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-ngram) ### An RNN cell, unrolled python · 3 steps · free Carry a hidden state across a sequence, the pre-Transformer way. 1. One time step 2. Carry the state across a sequence 3. Read out a prediction [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-rnn-cell) ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of How LLMs Actually Work [Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/)[The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/)[Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/)[Running LLMs in Production](https://codetrain.ai/learn/llm-foundations/running-llms-in-production/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/llm-foundations-1/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) # Tokens & embeddings Turn text into vectors: tokenizers, embeddings, similarity, and position. A class in How LLMs Actually Work. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### A character tokenizer python · 5 steps · free Turn text into integers a model can read, and back again. 1. Play with a tokenizer first 2. Build the vocabulary 3. String -> integer 4. Integer -> string 5. Encode and decode [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-char-tokenizer) ### Train a mini BPE tokenizer python · 4 steps · free Learn a subword vocabulary by merging frequent pairs. 1. Words as lists of symbols 2. Count adjacent pairs 3. Merge the top pair 4. Repeat to grow the vocabulary [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-bpe) ### Embeddings are a lookup table python · 3 steps · free Map token ids to vectors the model can do math on. 1. An embedding table 2. Look up one token 3. Look up a whole sequence [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-embeddings) ### Cosine similarity python · 4 steps · free Measure how close two vectors point, the basis of 'meaning'. 1. The dot product 2. Lengths (norms) 3. Put it together 4. Find the nearest [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-cosine) ### Positional encoding python · 4 steps · free Give an order-blind model a sense of position. 1. Why position needs encoding 2. sin for even, cos for odd 3. The full (seq_len, d) matrix 4. Add it to the embeddings [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-positional) ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of How LLMs Actually Work [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/)[The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/)[Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/)[Running LLMs in Production](https://codetrain.ai/learn/llm-foundations/running-llms-in-production/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/llm-foundations-2/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) # The Transformer block Self-attention, causal masking, multi-head, LayerNorm, and the full block. A class in How LLMs Actually Work. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Self-attention from scratch python · 5 steps · free The one mechanism at the heart of every Transformer. 1. See attention before you build it 2. Query-key scores 3. Scale it 4. Softmax into weights 5. Weighted sum of values [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-attention) ### Causal masking python · 3 steps · free Stop the model from peeking at the future it's predicting. 1. A lower-triangular mask 2. Block the future with -inf 3. Softmax respects the mask [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-causal-mask) ### Multi-head attention python · 3 steps · free Run several attentions in parallel and combine them. 1. Split into heads 2. Attention per head 3. Concatenate and project [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-multihead) ### LayerNorm and the feed-forward network python · 3 steps · free The two sublayers that sit around attention. 1. LayerNorm 2. The GELU activation 3. The feed-forward network [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-layernorm-ffn) ### Assemble a Transformer block python · 3 steps · free Wire attention and the FFN together with residuals. 1. A residual connection 2. Pre-norm, two sublayers 3. Stack it [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-block) ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of How LLMs Actually Work [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/)[Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/)[Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/)[Running LLMs in Production](https://codetrain.ai/learn/llm-foundations/running-llms-in-production/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/llm-foundations-3/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) # Training, generation & fine-tuning Assemble a GPT, learn the loss, sample text, and see how assistants are aligned. A class in How LLMs Actually Work. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Stack blocks into a GPT (forward pass) python · 3 steps · free Assemble the full model and read out next-token scores. 1. Embed and add position 2. Run through the blocks 3. Final norm and unembed to logits [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-gpt-forward) ### The training objective python · 4 steps · free Cross-entropy, and watching a loss actually go down. 1. Logits to probabilities 2. Cross-entropy for one token 3. Average over a batch 4. Watch a loss go down [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-loss) ### Sampling: how text comes out python · 4 steps · free Greedy, temperature, top-k and top-p decoding. 1. Greedy: always the top token 2. Temperature 3. Top-k 4. Top-p (nucleus) [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-sampling) ### From base model to assistant python · 1 steps · free How next-token predictors become ChatGPT: SFT and RLHF. 1. The last mile: alignment [Start this lesson](https://codetrain.ai/app/study/?lesson=llm-sft-rlhf) ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of How LLMs Actually Work [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/)[Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/)[The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/)[Running LLMs in Production](https://codetrain.ai/learn/llm-foundations/running-llms-in-production/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/llm-foundations-4/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API. [Learn](https://codetrain.ai/learn/) / [How LLMs Actually Work](https://codetrain.ai/learn/llm-foundations/) # Running LLMs in Production Running LLMs in Production, a hands-on class in How LLMs Actually Work. A class in How LLMs Actually Work. Free to start, no card. [Start free, no card](https://codetrain.ai/app/) 10 lessons a month on the free tier. ## Curated lessons in this class ### Build an AI Agent Loop from Scratch python · 6 steps · free 1. Understand the Agent State 2. Create a Simple LLM Node 3. Create a Tool Node 4. Build the Agent Loop 5. Add a Routing Decision 6. Track Tool Usage in State [Start this lesson](https://codetrain.ai/app/study/?lesson=build-an-ai-agent-loop-from-scratch) ## How CodeTrain teaches this No videos and no multiple-choice quiz at the end. Each lesson is a handful of small steps in a real editor. You type the code yourself, it runs, and the tutor reviews what you actually wrote. It will not hand you the answer, and the step doesn't advance until your code passes. What you get at the end is a record of which steps you wrote unaided, not a completion percentage. ## These curated courses are the starting point, not the product Everything in this catalog is a **curated** course we wrote by hand. They exist so there is something to start on. What CodeTrain actually does is build a lesson on demand: name **any topic** you want to understand and it writes one for you on the spot, or paste **any public repository** and it teaches you that codebase from the code that is really in it. You are not limited to the list below, and most people stop using it within a session or two. ## The rest of How LLMs Actually Work [Neural-net foundations](https://codetrain.ai/learn/llm-foundations/llm-foundations-1/)[Tokens & embeddings](https://codetrain.ai/learn/llm-foundations/llm-foundations-2/)[The Transformer block](https://codetrain.ai/learn/llm-foundations/llm-foundations-3/)[Training, generation & fine-tuning](https://codetrain.ai/learn/llm-foundations/llm-foundations-4/) [Start this class free](https://codetrain.ai/app/) [Browse every curated course](https://codetrain.ai/learn/) --- Source: https://codetrain.ai/learn/llm-foundations/running-llms-in-production/ This is the markdown twin of the page above. Every public CodeTrain page serves one on `Accept: text/markdown`. Start at https://codetrain.ai/llms.txt for the full map, or https://codetrain.ai/developers/ for the API.