Devpost Checker preview

[ Hackathon Ops ]

Devpost Checker

A Python CLI for hackathon organizers that checks Devpost submissions against their GitHub commit history and flags pre-event builds, bulk code dumps and idle repos, with an optional AI pass and a shareable static review page.

  • Python
  • GitHub API
  • Google Gemini
  • Pandas
  • Pytest
  • Ruff
  • HTML/CSS/JS

Brief

A signal, not a verdict. Every flag still needs a human to make the call.

Devpost Checker is a Python CLI I built for hackathon organizers. It checks Devpost submissions against their GitHub commit history and flags the ones worth a closer look.

It looks for work that was built before the hackathon started, bulk code dumps, and repos with no activity during the event. Every project gets a score and lands in a bucket, and the whole thing is published as a single HTML page the organizing team can share.

Where we started: cross-referencing the Devpost export by hand in a spreadsheet.
Where we started: cross-referencing the Devpost export by hand in a spreadsheet.

Process

Swapping hours of spreadsheet review for a scored queue you can share

I prototyped this idea for SystemHacks 2026 and finalized it during StormHacks 2026. Organizers were checking GitHub repos against a Devpost CSV by hand, which took hours and still missed obvious cases.

The tool reads the Devpost CSV, pulls the commit history for each linked repo, and scores every submission on a set of checks: commits before the start time, bulk dumps, no commits inside the window, repo names that don't match the project, and a few more. You can also turn on a Gemini pass that gives a second opinion on the commits and README.

Results get sorted into Flagged, No GitHub, Unavailable, and Likely Safe, then written to one static HTML file. You can open it locally or deploy it to Netlify for the review team.

The generated review site showing flagged submissions with scores, flags, and commit stats.
The generated review site showing flagged submissions with scores, flags, and commit stats.

Commit Window Analysis

Catching work that happened before the hackathon started

For each submission I pull the full commit history from the linked repo and compare the timestamps to the hackathon's start and end. That surfaces pre-start commits, post-end commits, and repos where everything sits outside the event.

Flags like PRE_START_COMMITS, ALL_COMMITS_OUTSIDE_WINDOW, and BULK_DUMP each have their own score weight. The worst patterns end up at the top of the queue instead of buried in a flat list.

Static HTML Review Queue

A review site anyone can open in a browser

The output is one self-contained HTML file with all the project data embedded as JSON. You can filter by bucket, search by project name, flag, or repo, and download a CSV with no personal info in it.

I built it to be shared, so team emails never make it onto the page. You can send it to co-reviewers without exposing applicant data, and publish it to Netlify with one command.

AI Second Opinion

An optional Gemini scan for a qualitative read on suspicious repos

For high-scoring submissions, Gemini reads the commit messages and README and writes a short verdict and summary. It shows up separately on the card with a clear label, because it's a second opinion and not a decision.

I kept it opt-in on purpose. These flags can affect real hackers, and I didn't want organizers leaning on LLM output for that.

Outcome

From hours of manual spreadsheet work to a focused, scored queue

Manual review was the bottleneck, and it kept getting worse as StormHacks grew.

The tool turned several hours of spreadsheet work into a focused queue. Organizers can spend their time on the 10 to 15% of submissions that actually need a look instead of skimming 100+ projects and hoping to catch something.

I made the review site a single HTML file with no backend, so sharing it is easy. Open it locally, drop it in a Netlify deploy, or email it to a co-organizer. No login, no setup.