00push

Coding assignments that grade themselves

Teachers publish an assignment from a template repo. Students push code. Every commit is tested in an isolated sandbox and the result lands right on GitHub — in minutes, not weeks.

  • Free for 100 runs a month
  • No credit card
  • 2-minute setup

Animated demo: a student runs git push, Better-learn spins up an isolated sandbox, runs the test command, and posts a passing Check Run to the commit on GitHub.

01setup

Simple on both sides of the classroom

No plugins to install, no grading scripts to babysit. If you can use GitHub, you can use Better-learn.

teacherSet it up once, grade all semester
  1. create

    Create a classroom

    One classroom per course or batch. Connect your GitHub organization once and you're set.

  2. publish

    Publish an assignment

    Point at a template repository and write the test command that decides pass or fail. That's the whole setup.

  3. watch

    Watch results roll in

    Every student push is graded automatically. See who passed, who's stuck, and read full test logs — without cloning anything.

studentJust code and push
  1. accept

    Accept the assignment

    One click creates your own private copy of the starter code, with your GitHub account added as collaborator.

  2. push

    Code and push

    Work in your editor like always. Commit and push when you're ready — no submission forms, no zip files.

  3. iterate

    Read the feedback

    A ✓ or ✗ lands on your commit within minutes, with the full test output. Fix and push again as often as you like.

02grading

What happens on every push

One student commit, start to finish — and everything the grader gives you back.

result

GitHub-native

Results appear as Check Runs right on the commit. Students learn the real workflow they'll use on the job — no separate portal to check.

latency

Feedback in minutes

Grading starts the moment a student pushes. No waiting for office hours to find out a test fails.

isolation

Throwaway sandboxes

Each submission runs in a fresh sandbox that's destroyed afterwards. Student code can't reach your infrastructure.

roster

Built for classrooms

Teachers see every submission across the class — who passed, who's stuck, who hasn't started. Students see only their own work.

toolchain

Any language, any stack

If it runs from a shell command, it grades. You choose the test command per assignment.

retries

Every push is a new attempt

Students iterate until the tests pass — which is exactly how real software gets built.

03limits

Start free, upgrade when the class grows

A graded run is one student push through the sandbox. Nothing else is metered.

Free

For trying it out or a small seminar

₹0/ month

  • 100 graded runs per month
  • 5 hours of sandbox time
  • Unlimited classrooms & students
  • Results as GitHub Check Runs
Start free
Most popular

Pro

For full courses and busy departments

₹1,999/ month

  • 5,000 graded runs per month
  • 250 hours of sandbox time
  • Everything in Free
  • Priority grading queue
Upgrade to Pro

Monthly allowance

Pro is 50× the capacity on both meters. Limits are per organization and reset every month.

Graded runs · per month

Free100
Pro5,000

Sandbox time · hours per month

Free5
Pro250

04questions

Questions teachers actually ask

What do students need?
Just a GitHub account and their usual editor. They sign in with GitHub, accept the assignment, and push code — there's nothing to install and no new workflow to learn.
Which languages and test frameworks work?
Any of them. You give each assignment a shell command — pytest, npm test, gradle test, cargo test, a custom script — and exit code 0 means passed. Assignments can also pick a sandbox with their toolchain preinstalled, so runs start fast.
Can assignments have due dates?
Yes. By default, pushes after the deadline are still graded but flagged late to you (and in the CSV export). Or flip one switch and the assignment stops grading at the deadline — students see it on the commit itself.
Is there partial credit?
Scores like 8/10 are read automatically from pytest, jest, vitest, JUnit, cargo, go test, and mocha output. Custom graders just print a SCORE: 8/10 line and that becomes the score.
What counts as a graded run?
One student push through the sandbox. The free plan includes 100 runs and 5 hours of sandbox time per organization every month; Pro raises that to 5,000 runs and 250 hours.
Is student code kept private?
Yes. Each student gets their own private copy of the starter repo, visible only to them and their teachers. Grading runs in an isolated sandbox that's destroyed afterwards.

05passed

Spend office hours teaching, not running test suites

Set up your first classroom in a few minutes. Your students will wonder why every course doesn't work this way.

Create your classroom — free

100 graded runs a month included. No credit card needed.