An open-source hackathon judging platform with offline support and real-time progress tracking. Import, assign judges fairly, and handle spotty WiFi with no issues.

Auth & Access

  • Magic Link auth
  • People only joining once
  • Invite codes
  • Hackathon hidden behind a token
  • Role-based permissions (organizer, judge, viewer)
  • Expiring judge links

Project Ingestion

  • Direct submission on platform
  • CSV/Excel upload (covers Google Forms, Airtable exports)
  • Devpost scraper
  • Dorahacks API
  • Typeform webhook
  • Generic JSON import
  • Duplicate detection
  • Field mapping UI

Judging Distribution

  • Consistent hashing for judge assignment
  • Rebalance on judge add/remove
  • Ensure minimum coverage
  • Handle judge categories
  • Sticky sessions per project

Judging Flow

  • Offline-first judging
  • Custom scoring rubrics
  • Conflict of interest
  • Progress tracking
  • Batch score submission

Live Dashboard

  • Real-time SSE updates
  • Judge activity feed
  • Coverage visualization
  • Completion percentage
  • Score distribution
  • Outlier alerts

Science Fair

  • Table numbers
  • QR codes per table
  • Judge routing (TSP)
  • Check-in tracking

Results

  • Auto-rankings
  • Judge normalization
  • Export CSV/PDF
  • Public results page
  • Winner certificates

Core Admin

  • Audit log
  • Clone hackathon
  • Backup data
  • Bulk actions

Roadmap

Phase 1: MVP

Goal: Basic judging works end-to-end

  • SQLite schema setup
  • Magic link auth
  • Create hackathon
  • CSV project import
    • Dorahacks should be covered
  • Basic judge scoring
  • View scores/rankings

Phase 2: Live Updates

Goal: Organizers see real-time progress

  • SSE dashboard
  • Judge progress tracking
  • Live score updates
  • Basic stats (completion %)

Phase 3: Offline Judging

Goal: Judges can score without internet

  • Service worker setup
  • IndexedDB queue
  • Batch sync endpoint
  • Offline UI indicators

Phase 4: Science Fair

Goal: Table-based judging

  • Table numbers
  • Consistent hashing
  • Judge routing
  • QR codes

Phase 5: Polish

Goal: Production ready

  • Devpost import
  • Score normalization
  • Export functionality
  • Public results page
  • Invite system

Future

  • Advanced analytics
  • Mobile app
  • Auto submission scoring? / cheating detection?
  • Multiple judging modes
    • Pairwise system similar to Gavel?