AlphaOpenRubric is in early alpha — expect bugs. Report an issue →
OpenRubric
ProductPricingDocsGitHubDemo
Sign inGet started
On this page
OverviewHow it worksCore conceptsGitHub reviewSelf-hostingEthical use
Documentation

Run fair, transparent hackathon judging.

OpenRubric is a nonprofit, open-source judging system. This guide covers the judging flow, the core concepts, how to self-host, and — most importantly — how to use the GitHub review signals responsibly.

Overview

What OpenRubric is, and isn't.

OpenRubric helps organizers import submissions, define a shared rubric, invite judges, score projects live, review GitHub commit timelines, and publish track and overall winners with clear evidence behind every decision.

It is not a cheating detector and not an “AI judge.” Every score is a human judgment against a criterion, and every award is made by a person. OpenRubric only surfaces evidence for organizers to review.

Workflow

From Devpost to final rankings.

The end-to-end flow is six steps:

  1. Paste a Devpost hackathon URL (or upload a CSV / add projects manually).
  2. Import projects — only public metadata is read.
  3. Paste your rubric; OpenRubric turns it into scorable, weighted criteria.
  4. Invite judges and assign tracks or specific submissions.
  5. Judges score live; each judge keeps an independent record.
  6. Review GitHub timelines, resolve review cases, then export winners.
Concepts

Rubric, tracks, judges, signals.

Rubric. A set of weighted criteria (default 100 points across Innovation, Technical Complexity, Functionality, Design / UX, Impact, and Presentation). Judges score each criterion with an optional per-line comment.

Tracks. Prize categories. Each submission belongs to a track; winners are computed per track and overall.

Judges. Each judge has their own score record — judges never overwrite each other. The organizer aggregates judge scores into averages.

Review signals. GitHub-timeline observations framed as questions, mapped to a priority: clean → light → needs review → high priority.

GitHub Review

Signals, not verdicts.

When a GITHUB_TOKEN is configured, OpenRubric scans each repo's creation date, first and last commit, pre-event and post-deadline commits, and contributors. Each observation is phrased as something an organizer might ask about — for example:

“GitHub timeline shows 9 commits before the hackathon start. This does not prove a rule violation, but judges may want to ask which parts were built during the event.”

OpenRubric never auto-deducts points and never uses accusatory language. A project with an unresolved high-priority review case cannot be marked a winner until an organizer resolves it.

Self-hosting

Your data, your Supabase.

Clone the repo, run npm install and npm run dev. With no environment variables, the app runs in fully working demo mode. To go live, create a Supabase project, run supabase/schema.sql, and set:

NEXT_PUBLIC_SUPABASE_URLSupabase project URL (auth + database + realtime)
NEXT_PUBLIC_SUPABASE_ANON_KEYSupabase anon key for the browser client
SUPABASE_SERVICE_ROLE_KEYServer-only key for imports and aggregation
GITHUB_TOKENRead-only token for live GitHub timeline scans
GITHUB_API_MODEL_KEYGitHub Models token (free) for AI project summaries
OPENAI_BASE_URLOverride the model endpoint (defaults to GitHub Models)
AI_MODELModel id, e.g. gpt-4o-mini
NEXT_PUBLIC_APP_URLPublic base URL of your deployment
Ethical Use

Human final decisions.

OpenRubric does not determine cheating or automatically penalize teams. It surfaces evidence for human organizers to review.

Read the full mission and contribute on GitHub, or jump into the judge demo.

Run your next hackathon with an open rubric.

Get startedView on GitHub ↗
OpenRubric
MIT licensed · Self-hostable · Nonprofit
PricingDocsGitHubContactTermsPrivacy