A personal workspace for managing hackathons, projects, learnings, and achievements.
HackTrack was built to solve a problem I kept running into during hackathons: information was scattered everywhere.
Registration links lived in browser tabs, project notes were buried in documents, achievements were difficult to track, and reflections often disappeared once an event ended.
HackTrack brings everything together in a single place. It helps track active and upcoming hackathons, document projects, record achievements, maintain structured journals, and preserve lessons learned from every event.
Track hackathons through their entire lifecycle:
- Upcoming hackathons
- Live hackathons
- Completed hackathons
- Automatic status detection based on start and end dates
- Countdown timers for active events
Visualize ongoing participation with a lightweight Kanban board:
- Upcoming
- Live
Hackathons automatically move between columns as their status changes.
Maintain a permanent record of your hackathon journey:
- Project names
- Achievements
- Prize information
- GitHub repositories
- Event links
- Learnings and reflections
Document every hackathon with structured notes:
- Goal
- Approach
- Challenges
- Outcome
- Retrospective
These notes are stored and surfaced as a searchable knowledge base.
Capture lessons learned from every event:
- Technical insights
- Teamwork learnings
- Product discoveries
- Development workflows
- Mistakes and improvements
Visualize important dates in one place:
- Registration deadlines
- Start dates
- End dates
Maintain a curated collection of useful websites, tools, and project resources.
Quickly find information across:
- Hackathons
- Projects
- Achievements
- Learnings
- Resources
Powered by Supabase Auth and Row Level Security (RLS).
Visitors can browse content while administrative actions remain protected.
👉 https://hacktrack-gopal.vercel.app
- Next.js 15 (App Router)
- React 19
- TypeScript
- Tailwind CSS v4
- Supabase
- PostgreSQL
- Supabase Auth
- Row Level Security (RLS)
- Vercel
Create a new project in Supabase and run the provided migration file.
-- Paste the contents of supabase-migration-v2.sqlCreate a .env.local file:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_keygit clone https://github.com/gopal092003/HackTrack.git
cd HackTracknpm installnpm run devVisit:
http://localhost:3000
HackTrack/
├── .gitignore
├── next.config.ts
├── package.json
├── package-lock.json
├── postcss.config.mjs
├── supabase-migration-v2.sql
├── tailwind.config.ts
├── tsconfig.json
│
├── src/
│ ├── app/
│ │ ├── api/
│ │ │ ├── hackathons/
│ │ │ └── sites/
│ │ ├── hackathons/
│ │ ├── login/
│ │ ├── participation-history/
│ │ ├── sites/
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ └── page.tsx # Dashboard (home)
│ │
│ ├── components/
│ │ ├── forms/ # Form components (create/edit)
│ │ ├── ui/ # Reusable UI components (buttons, modals, etc.)
│ │ ├── dashboard-client.tsx
│ │ ├── hackathons-client.tsx
│ │ ├── history-client.tsx
│ │ ├── logout-button.tsx
│ │ ├── navbar.tsx
│ │ └── sites-client.tsx
│ │
│ ├── lib/
│ │ ├── supabase/ # Supabase client configurations
│ │ ├── auth.ts
│ │ ├── queries.ts # Database queries & server actions
│ │ ├── types.ts # TypeScript interfaces
│ │ └── validations.ts
│ │
│ └── middleware.ts # Auth middleware
│
└── README.md # (You can add this now)
I participate in hackathons regularly and wanted a single place to:
- Track registrations and deadlines
- Manage ongoing projects
- Record achievements
- Capture lessons learned
- Build a searchable history of my work
HackTrack became that workspace.
- GitHub API integration
- Automatic repository statistics
- Calendar export (Google Calendar / iCal)
- Export journals and learnings
- Improved mobile experience
- Multi-user support with granular permissions
Contributions, suggestions, and feedback are always welcome.
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a pull request
MIT License
Feel free to use, modify, and build upon this project.