Build things people actually use.
Each project turns course lessons into a working artifact: a report generator, a memory server, a task queue, an agent. You build it stage by stage, a grader checks every stage, and a tutor walks you through it.
Three commands, one project
Choose Python, Rust, TypeScript, or Go for the job. Core tests run offline; optional framework labs list their dependencies.
-
Create your workspace
Copy the starter files. Each stub gives you the exact signature to implement.
python3 scripts/project_test.py research-report-agent --init my-report-agent -
Run the grader
Build one stage at a time. The grader checks your work and every earlier stage.
python3 scripts/project_test.py research-report-agent --stage 1 --path my-report-agent -
Learn with the tutor
Want guidance? In Claude Code, work through each stage with hints and feedback.
/build-project research-report-agent
Pick your level
Five levels. Each adds one new kind of engineering. New projects join a level as they are written or submitted.
Built something useful? Add it to the ladder.
Community projects use the same layout as core ones: a project.json, stages with a lesson, a starter, and tests, plus a reference solution. They appear here with your GitHub handle.
- Produces a real artifact, not a chat demo
- Every stage has tests that pass offline, with no API key
- Independent evaluation fixtures and clear limits on what the score proves
- Original implementations with links to official specs and research
After copying, set id in projects/my-project/project.json to my-project before running the grader.
cp -r projects/_template projects/my-project
python3 scripts/project_test.py my-project \
--all --solution --strict
Read the submission guide