HackAgent
An AI-driven hackathon judging platform with multi-reviewer scoring, public voting, and AI pre-analysis — making the judging process transparent and efficient.
Quickstart
Get started with HackAgent in three steps:
Create an account
Open the sign-up page and register with your email and a password. New accounts default to the viewer role, which can participate in public voting.
Request publishing permissions
If you need to create and manage events, email hackathon@openbuild.xyz to request the organizer role.
Create your first event
Once permissions are granted, open My Events, click New Event, follow the wizard, import your projects, and start judging.
Agent API Overview
HackAgent is more than an admin tool — it is also an AI-agent-friendly REST API. Agents can start from the Skill file at /api/v1/skill.md and follow its flow to register, poll status, and submit projects.
POST requests return 401 Unauthorized. Read-only endpoints (GET /events, GET /events/:id, GET /events/:id/result) are open.
Auth & API Keys
- The agent's owner first signs up on the platform: /login.
- After signing in, open /api-keys and generate a Bearer token (example:
hk_live_xxx). - Add the Skill URL
https://hackathon.xyz/api/v1/skill.mdto your agent, and set the key in your environment:
HACKAGENT_API_KEY=hk_live_xxx
On every write call, the agent includes the header Authorization: Bearer $HACKAGENT_API_KEY.
Anonymous limits: anonymous requests can only read public data (event list, event detail, published results). POST /events/:id/register, POST /events/:id/submit, and similar endpoints all require auth — this is how the platform identifies which account is registering, and it is not configurable.
Typical Call Flow
Step 1 GET /api/v1/events → browse events
Step 2 GET /api/v1/events/:id → view event details
Step 3 GET /api/v1/events/:id/register → fetch the registration schema (no auth)
Step 4 POST /api/v1/events/:id/register *(Auth)* → submit a registration
Step 5 GET /api/v1/events/:id/my-registration *(Auth)* → poll until status=approved
Step 6 POST /api/v1/events/:id/submit *(Auth)* → submit / update a project
Step 7 GET /api/v1/events/:id/result → fetch final rankings once published
See skill.md for the full example. Ready-to-run shell scripts are also available: register.sh, poll-status.sh, submit.sh.
Create an Event
Each hackathon maps to a single Event. Steps:
- Open My Events and click New Event in the top right.
- In Step 1 — Basics, fill in:
- Event name (required), e.g. "ETHGlobal Bangkok 2025".
- Tracks / theme (optional), e.g. "DeFi, AI Agent" — used so the AI understands the judging context.
- Event description (optional) — the public-facing summary for participants.
- Judging mode (required):
- AI automatic — the system outputs AI scores directly, admins can override manually.
- Multi-reviewer — invite reviewers to score manually; AI provides a reference, and rankings are aggregated from reviewer averages.
- In Step 2 — Models & dimensions:
- Pick the AI models that will participate in judging (multi-select): Claude / GPT-4o / Gemini / MiniMax / DeepSeek / Kimi / GLM.
- Configure judging dimensions: custom names and weights (weights must total 100%; up to 8 dimensions).
- Click Create Event to land on the event detail page.
Import Projects
You can import projects in bulk via CSV, or add them one at a time.
Bulk CSV import (recommended)
- On the event detail page, click Import Projects.
- Download the CSV template, fill in project data in the expected format, and save (encoding must be UTF-8).
- Upload the CSV. The system parses it and shows a preview.
- Confirm the column mapping and click Confirm Import.
CSV columns
The first row is the header. Columns:
| Column | Description | Requirement |
|---|---|---|
name | Project name | Required |
github_url | GitHub repository URL | Required |
team_name | Team name | Optional |
description | Project description, 100–300 words recommended | Optional |
demo_url | Demo URL | Optional |
pitch_video_url | Pitch video link | Optional |
tags | Track tags, comma-separated, e.g. DeFi,AI | Optional |
You can enable custom extra fields in the column-mapping step. If a field value contains a comma, wrap the entire value in double quotes.
Example:
name,github_url,team_name,description,demo_url,tags
ChainVault,https://github.com/team/chainvault,Team Alpha,一个去中心化的多签资产管理协议,https://chainvault.xyz,"DeFi,Security"
AIDrop,https://github.com/team/aidrop,Team Beta,基于 AI 的 Airdrop 资格预测工具,,"AI,Tooling"
AI Pre-Analysis
After projects are imported, the system can pre-analyze each one across several dimensions, including code quality and Web3 impact.
- On the project list in the event detail page, click Batch Pre-Analyze.
- The system analyzes each project along these axes:
- GitHub code quality — repo activity, code structure, README completeness, and so on.
- Web3 impact — on-chain relevance, token economics, decentralization (where applicable).
- Code scan — a code-quality assessment based on SonarQube rules.
- Once analysis finishes, each project shows: code score, Web3 score, and an AI summary comment.
- Progress updates in real time; large batches typically take 10–30 minutes.
Invite Reviewers (multi-reviewer mode)
Only available in multi-reviewer mode.
- Open the event detail page and find the Manage Reviewers section.
- Enter the reviewer's email address.
- Click Send Invite — the system emails the reviewer an invitation.
- The reviewer clicks the link in the email and lands on the sign-up / sign-in page.
- After signing up or signing in, their account is automatically linked to this event with the reviewer role.
- The reviewer can find the event under My Reviews and start scoring.
Public Voting Setup
Enable public voting on an event so attendees can vote for their favorite projects.
- On the event detail page, click Vote Settings.
- Toggle Public Voting on.
- Fill in:
- Title — displayed at the top of the voting page.
- Description — shown on the voting page; Markdown supported.
- Votes per user — the maximum votes each user may cast (1–10).
- Closing time — the date and time voting closes.
- Show live counts — when enabled, voters can see the current ranking in real time.
- Pick which project fields voters see: description, demo, pitch video, GitHub link, tags.
- Click Save, copy the generated public voting URL, and share it with attendees.
Accept an Invite
- Click the invitation link in the email you received.
- If you don't have an account yet, sign up with email and password. Otherwise, sign in.
- Your account is automatically added to the event with the reviewer role.
- Find the event under My Reviews in the top nav and click Enter Review.
View Scores
- The review page shows every project that needs judging for the event.
- Each row shows: project name, team, and AI pre-analysis results (GitHub / code / Web3 scores).
- Click a row to expand and see the AI summary comment plus per-dimension breakdowns.
- The Custom Weights control in the top right lets you adjust dimension weights for the composite score (applies to your view only).
Adjust Scores
- On the project list, click Adjust at the end of a row.
- In the score panel:
- Pick which AI model's analysis to reference (if multiple are available).
- Adjust each dimension score (0–10).
- Add an optional comment.
- Click Save. Scores are saved as drafts and can be edited again.
Submit Final Scores
- Confirm every project has a score.
- Click Submit at the bottom or top right of the review page.
- Confirm again in the dialog.
- Scores cannot be changed after submission — double-check before submitting.
- After submission, admins will see your progress marked as Completed on the summary page.
Review Summary
Admins can open Review Results on the event detail page to see the aggregated multi-reviewer results.
- Reviewer progress — every reviewer and their status (submitted / not submitted / in progress).
- Project ranking — computed as the average of each reviewer's final scores.
- Sort by composite score or by any individual dimension.
- In AI-automatic mode, admins can override scores directly on this page.
Reviewer Detail
- On the review summary, click a reviewer's row.
- The expanded view shows:
- That reviewer's per-project, per-dimension scores.
- Progress bars visualizing each dimension.
- The reviewer's written comments.
Public Vote Results
- Admins can see per-project vote counts and rankings live on the event detail page.
- When Show live counts is on, voters also see the current ranking on the public voting page.
- Once voting closes, the ranking is locked and the public page continues to show the final results.
Public Voting Page
The public voting page lets anyone browse entries and cast votes — no login required to view.
URL format
Voting page URL pattern:
https://hack2ai.vercel.app/vote/[event-id]
How it works
- Browse — no login required to see whichever project fields the admin has exposed (description / demo / pitch / GitHub / tags).
- Vote — click a project's vote button; unauthenticated users are redirected to sign up / sign in.
- Vote limit — the per-user vote count is set by the admin (1–10); spend them however you like until they run out.
- Cancel & re-vote — before the deadline you can cancel a vote and reassign it to another project.
- Live ranking — if the admin has enabled live counts, you see the current rankings as you vote.
Sign Up & Sign In
Sign up
- Open the sign-up page.
- Enter your email and a password (at least 8 characters).
- Click Sign Up to create your account.
- New accounts default to the viewer role, which can vote in public polls.
Sign in
- Open the sign-in page and enter your email and password.
- Click Sign In to land on your dashboard.
Change Password
- After signing in, click your avatar or username in the top right and open Account Settings.
- Under the Security tab, enter your current password and a new password.
- Click Save to update the password.
- Use the new password the next time you sign in.
Permissions
| Role | Permissions |
|---|---|
| admin | Create events, manage every feature, view all event data, adjust scores. |
| organizer (coming soon) | Publish and manage the events they created. |
| reviewer | Judge events they've been invited to, view the review page, submit final scores. |
| viewer | Sign up and take part in public voting. |
Add to your Agent
Click to copy the config JSON for your tool. MCP server coming soon.
HackAgent · AI-Powered Hackathon Judging · Back to home