Forge is a high-performance, motion-rich competitive building platform designed for both Hackathons (linear, one-time events) and Sprints (recurring, fundable competitive cycles) featuring prize pools, judged submissions, and automated payout lifecycles.
- 🎯 Dual Event Modes: First-class support for both linear Hackathons and recurring Sprint cycles.
- 💰 Prize Pool & Payout Management: Transparent funding tracking, prize allocation, and automated payout ledgers.
- ⚖️ Rubric-Based Judging: Multi-criteria weighted scoring system with judge delegation and aggregate calculation.
- 🚀 Interactive 3D & Micro-Animations: Three.js WebGL hero scenes, GSAP scroll timelines, and smooth Framer Motion interactions.
- 🔐 Secure Role-Based Architecture: Separation of concerns across Organizers, Builders, Judges, and Admins.
- 📦 Dual Data Adaptability: Hybrid offline-first mock store for instant demoing + Prisma ORM database layer for full production scalability.
- Framework: Next.js 16 (App Router) + TypeScript
- Styling: Tailwind CSS + Custom Design DNA tokens
- Motion & 3D: Three.js, React Three Fiber, Framer Motion, GSAP
- Database & ORM: SQLite / PostgreSQL with Prisma ORM
- Auth & Storage: Supabase integration ready with fallback mock provider
- Icons: Lucide React
git clone https://github.com/aryanpyx/hackathon-platform.git
cd hackathon-platform
# Install dependencies (using npm or pnpm)
npm installCopy the example environment file:
cp .env.example .envConfigure your .env variables if integrating Supabase or external PostgreSQL:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key-here
DATABASE_URL="file:./dev.db"# Push schema migrations
npm run db:push
# (Optional) Seed sample events, teams, and judges
npm run db:seednpm run devOpen http://localhost:3000 in your browser.
├── app/ # Next.js App Router routes
│ ├── (dashboard)/ # Admin, Events, Build, Judge & Results pages
│ ├── (marketing)/ # Landing, Hero 3D, and Login
│ └── globals.css # Design DNA tokens and global styling
├── components/ # Reusable UI primitives & 3D scenes
│ ├── auth/ # Authentication modals and forms
│ ├── three/ # Three.js canvas components
│ ├── ui/ # Cards, Buttons, Badges, Tables
│ └── vector/ # Custom SVG illustration assets
├── docs/ # Architecture & PRD documentation
├── lib/ # State machines, auth providers, client store
├── prisma/ # Database schema and seeders
└── server/ # Server API route definitions
- Zero Secret Ingestion: Environment credentials and tokens are strictly excluded from version control via hardened
.gitignorepolicies. - Client-Safe Defaults: Client-side storage and mock authentication gracefully isolate non-privileged sessions.
- Sanitized Inputs: All user submissions, URLs, and numeric score ranges are strictly validated.
- SQL Injection Prevention: Prisma ORM ensures parameterized queries across all database operations.
For deep technical insights and product specifications, refer to:
MIT License © 2026 Aryan Pandey