finds.dev← search

// the find

autolab/Autolab

★ 811 · Ruby · Apache-2.0 · updated May 2026

Course management service that enables auto-graded programming assignments.

Autolab is a Rails-based course management system built at CMU for running auto-graded programming assignments at scale. It handles the full instructor workflow: roster management, assignment submission, autograding via a separate Tango service, scoreboards, and gradebooks. If you run CS courses and want something battle-tested on thousands of students per semester, this is the serious option.

Tango integration for sandboxed autograding is the right architecture — grading runs in Docker containers isolated from the web app, so a runaway student submission can't take down the site. The LTI support (Canvas and other LMS roster sync) means you don't have to fight your university's IT department to use it. The v3.0 UI-based deployment configuration is a real improvement over editing config files by hand. The export/import course feature is genuinely useful for instructors who repeat courses semester to semester.

It's a Rails 6 app in 2026, and the JavaScript layer is a graveyard of vendored jQuery plugins (SlickGrid 2.02, jeditable, simplemodal from 2012) that nobody is maintaining. Self-hosting is non-trivial — you need Autolab, Tango, and a Docker setup all wired together, and the documentation gaps will bite you on first install. The REST API (under api/v1) looks bolted on rather than designed; it covers basic CRUD but you'll hit walls quickly if you want to build anything on top of it. 811 stars for a project actively used by 5,000 students per semester suggests it has almost no adoption outside CMU, which is a real signal about how painful self-hosting is.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →