Story

Being a hackathon organizer, judge, sponsor, and winner myself since 2021, I first-hand get disappointed when I see countless hackathon submissions being AI-generated, being made out of the submission timeframe, or even plagiarized. It's an unfair advantage over projects that are actually abiding by the hackathon's code of conduct, and having judged such entries before, it is very time-consuming to filter out which submissions are not eligible and what aren't.

This led me to creating devpost-validator this week, a tool that has dual compatibility between the CLI/terminal and as a standalone library.

devpost-validator is a state-of-the art project which is the first of its kind. It allows hackathon organizers & judges to filter out ineligible projects, in seconds, using the Python language. It's similar to a assistant judge - it finds out if hackathon submissions are valid or not in seconds, and even accepts bulk entries.

Imagine how much needed time hackathon organizers & judges (incl. the 404 mission found team) can save by just utilizing a library such as devpost-validator. And, all for free, while having a intuitive UI and being easy to use, even for individuals who don't know programming as much.

I intend to work on devpost-validator as a free project in the future, even after the hackathon.

Dummy repo used in the video: https://github.com/ArjunSharda/devpost-validator

Installation Instructions

⚠️ devpost-validator is still in development mode and has not been published on PyPi yet, so you can't install it as a library yet. I will publish devpost-validator after I make some core improvements (after the hackathon winner announcement, of course, for fairness)

  • 1) Clone devpost-validator in your IDE
  • 2) Run the following: python pip install -r requirements.txt
  • 3) Run the following:
pip install -e .
  • 4) Start using devpost-validator via the CLI or as a library! Run devpost-validator setup, and then input your GitHub Username and your Personal Access Token (PAT). The library only needs access to view repositories on your behalf!
  • 5) (Optional, Recommended) Make sure that your token works! Run devpost-validator check-token --username "YourUsernameHere". Replace `YourUsernameHere with your username.
  • 6) Afterwards, run devpost-validator config create! This command is to create a new profile for your hackathon (you can create multiple!!). The command requires the following 3 parameters: name, start_date (YYYY/MM/DD), and end_date (YYYY/MM/DD). An example usage of the command would be the following: python devpost-validator config create --name "404MissionFound" --start-date "2025-03-15" --end-date "2025-03-23"
  • 7) You've set up the configuration for devpost-validator! You can now run a sample command. Use the following command:
devpost-validator validate https://github.com/ArjunSharda/dummyrepo/tree/main --config-name "404MissionFound" --username "YourUsernameHere"

Replace YourUsernameHere with your username! If your hackathon name is different, feel free to change it as needed.

  1. Congratulations! You've successfully tried devpost-validator!

How I built it

I built devpost-validator with Python 3.12!

Challenges we ran into

  • Ensuring dual compatibility. This was by far the hardest - because if I added any new feature, I would need to add it to both sides of the framework - the CLI, and the library.
  • Making sure that all of devpost-validator's dependencies work well.

Accomplishments that we're proud of

  • Shipped devpost-validator in only 10 hours
  • Built a user-friendly UI
  • Added custom support for plugins

What's next for devpost-validator

I intend to add more features, including more batch validation support, and more validation report support. I also intend to potentially add more analyzers and strengthen the AI analyzer.

Built With

Share this project:

Updates