About draftdrill

draftdrill is a free place to practise technical drawing and get marked. You draw on a grid; it knows the answer, and tells you exactly what is wrong.

50 exercises across 5 topics, and more on the way.

How the marking works

A drawing with one line left out, marked by the same code that marks yours: “Front view: 1 line is missing.” The missing line is highlighted.

Why everything snaps to the grid

draftdrill can only mark what lands exactly on the grid. That is a real limit: some constructions have answers that fall between grid points, and a snapping grid cannot draw them. Rather than mark those “close enough”, which could teach you the wrong thing, they stay out until they can be marked properly.

On the grid: the midpoint lands at (4, 3), so it can be drawn and marked.
Between grid points: the tangent touches at (2.8, 1.17…), which no grid point can hold.

Your privacy

There is no account and no sign-in. Your paper colour, and whether you closed the what's-new banner, are saved in your own browser and never sent anywhere. Your drawings are sent only to be marked, and draftdrill does not keep them. Page visits are counted anonymously with Cloudflare Web Analytics, which uses no cookies and nothing that identifies you.

Read the full privacy notice

Found something wrong?

If a mark looks wrong, a prompt is confusing, or something breaks, tell me. A mark you think is wrong is the most useful report there is: it means the answer or the question needs fixing.

What kind of problem?

Who made it

draftdrill is made by Adam Afzainizam.

GitHubLinkedIn


How it was built

For anyone curious about the engineering: the decisions that shaped draftdrill, and the bugs that taught the most.

The gap it fills

Drawing software lets you draw, but it cannot tell you whether a drawing is right. Courses can, through a person critiquing your work: scheduled, paid for, and not there the night before an assessment. I found nothing that gave instant, specific feedback on a technical drawing attempt. So draftdrill is a marker first, and its topics are content the marker is pointed at.

Measure before building

Because answers must land on the grid, the first question for any new topic was whether its answers do. A cheap measurement settled it before any design work:

ConstructionAnswers on the grid
Parabola, rectangle methodall of them, exactly
Perpendicular bisector, even lengthall of them, exactly
Oblique projection, all three types27,104 of 27,104
Tangent from a point to a circle0 of 162
Regular hexagon, on squared paper0 of 30 sizes, and never

Isometric drawing looked impossible for the same reason: no two points on squared paper sit at 60°. A second measurement showed it is exact on isometric grid paper instead, which is what draftdrill now uses for it.

The answer never leaves the server

Each exercise is split in two. The public half, the picture and the prompt, goes to your browser; the answer stays on the server and is used only to mark. That matters more than it sounds, because the part is the answer: anyone holding the part can generate its correct views. A test reads every file's imports and fails if code that runs in the browser imports anything that holds an answer.

Three views do not always pin down a part

The reverse drill asks you to build a part from its three views, and it is tempting to assume three views always determine one. Checking every arrangement of blocks in a 2×2×2 space said otherwise: 255 shapes give only 215 different sets of views, so a few different shapes look identical in all three. If you build one of those, draftdrill says your build matches all three views but is not the part it drew, rather than calling you wrong.

What the tests could not see

The test suite is large and strict, and it still missed the bugs that mattered most, because they were in the words and the layout, not the logic. A hint told students to draw a smooth curve when the answer is straight segments. Prompts on diagonals said “units” where a unit and a grid square differ by √2, describing points that are not on the grid. A layout tweak letterboxed the drawing so that every click silently missed. Each was found the same way: by opening the page and using it as a student would. Two of them now have automated guards.

How it was made

I designed draftdrill, made its decisions and checked its results. AI coding agents (Claude Code) wrote much of the code. The workflow keeps that honest: features start as a written design I approve, become a step-by-step plan, and are reviewed before they merge. Those reviews have caught real defects, including a test that compared a value with itself. Every decision and its reasoning goes into a decision log. Built with Next.js and TypeScript, tested with Node's built-in test runner, hosted on Vercel.