HackMate is a hackathon copilot that helps teams move from idea to demo with less context switching. It combines project planning, stage-based execution, AI-assisted guidance, and real-time collaboration in one React app.
Hackathons are time-constrained and high-pressure. HackMate is designed to reduce friction in the most expensive parts of the process:
- Deciding what to build
- Coordinating team execution
- Maintaining momentum through delivery stages
- Turning technical work into a judge-ready pitch
- Stage-driven workflow from ideation to submission
- Team collaboration with joinable Team ID sharing
- Real-time synchronization (with local fallback)
- AI insights for ideation, architecture, and pitch prep
- Resource vault with templates and boilerplates
- Checklist, assignment, comment, and project-state management
- Frontend: React 19, TypeScript, Vite
- Styling: Tailwind CSS, PostCSS
- State and utilities: local browser storage plus shared sync logic
- Auth and analytics: Firebase Auth and Firebase Analytics
- Realtime and persistence: Supabase
- AI providers: Mistral and Google Gemini
src/
components/ UI and stage components
lib/ Integrations (AI, Firebase, Supabase, store)
assets/ Static app assets
public/
readme/ README screenshots
resources/ Template and guide content shown in-app
git clone https://github.com/anandmahadev/HACK-MATE.git
cd HACK-MATE
npm installCreate a .env file in the project root.
# Firebase
VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=
VITE_FIREBASE_MEASUREMENT_ID=
# Supabase
VITE_SUPABASE_URL=
VITE_SUPABASE_ANON_KEY=
# AI Providers (optional but recommended)
VITE_MISTRAL_API_KEY=
VITE_GEMINI_API_KEY=Notes:
- If Supabase keys are missing, app logic falls back to local storage for core flows.
- If AI keys are missing, AI-assisted features are disabled gracefully.
npm run devOpen the local URL printed by Vite in your terminal.
npm run dev: Start development servernpm run build: Type-check and produce production buildnpm run preview: Preview the production build locallynpm run lint: Run ESLint checks
- Project and stage state are cached in local storage for fast interactions.
- When Supabase is configured, data is synchronized to shared tables.
- Team collaboration uses project IDs and Team IDs for lightweight sharing.
For schema guidance, see:
public/resources/boilerplates/supabase-schema.md
This repository includes vercel.json and is ready for Vercel deployment.
High-level flow:
- Import repository into Vercel
- Add all
VITE_*environment variables in project settings - Deploy
Please review SECURITY.md before deploying to production or sharing credentials.
Contributions are welcome and appreciated.
- Read
CONTRIBUTING.mdfor setup, branch naming, coding guidelines, and pull request checklist. - Use issues for bug reports and feature proposals.
- Keep pull requests focused and easy to review.
- Open an issue for bugs or feature requests
- Include reproduction steps, expected behavior, and screenshots when relevant
Built by Anand Mahadev and contributors.



