Table of Contents
HackMate is an AI-powered hackathon companion designed to help participants excel in their projects. From idea generation to documentation and pitch creation, HackMate streamlines the hackathon experience so you can focus on your favourite part—coding.
Problem & Solution
Hackathons are about much more than just coding. Participants are required to:
- Come up with an idea
- Document their project and create diagrams
- Deliver a compelling pitch to judges
Despite building several cool projects at past hackathons, I haven’t won anything at a hackathon since high school, because I’m usually scrambling at the last minute to complete submissions and prepare pitches.
HackMate solves these challenges by offering a suite of AI-driven tools:
- Project Inspiration: Browse winning hackathon projects to get inspired and learn from successful teams.
- AI Documentation Generator: Generate professional README files and architecture diagrams using AI that understands your entire codebase.
- Pitch Assistant: Choose from pitch templates then generate a draft.
HackMate empowers you to save time and focus on what you love—coding.
- Project Inspiration: See random real winning hackathon projects. Made possible by a web scraper I built that scrapes all information from winning projects for a given Devpost hackathon link. There are currently 264 winning projects across 15 hackathons in the database.
![image](https://private-user-images.githubusercontent.com/73363563/408881979-65833ba0-c0f1-4e24-bd70-f189d62a4226.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MDYwMTgsIm5iZiI6MTczOTYwNTcxOCwicGF0aCI6Ii83MzM2MzU2My80MDg4ODE5NzktNjU4MzNiYTAtYzBmMS00ZTI0LWJkNzAtZjE4OWQ2MmE0MjI2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA3NDgzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI5YTgwNTI3NTIwOTA5MGU3NWYwODUyOTg1Y2JlNDE2MzVlMDk2YWE0ODU4ZjRkOTI3MjJhNTc3OGNjZjZhODkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Y9kqN35zJZlXQJZDMOhAI0fElPe8eZ2fGombchnsOg0)
- README Generator: Simply enter a GitHub repository link and select a README template, then click generate. You can also give custom instructions, attach files, and edit the chosen template before submitting. In the background, the entire GitHub codebase is packed into one file that is optimized for LLM intake, and sent to Gemini alongside all the other context you provide. As a result, you will get a highly accurate README file that knows your project’s key features, installing instructions, tech stack, and more. You can then easily copy the generated file.
![image](https://private-user-images.githubusercontent.com/73363563/408882046-9cc6eda8-af16-456c-acb1-3e1db2c9d851.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MDYwMTgsIm5iZiI6MTczOTYwNTcxOCwicGF0aCI6Ii83MzM2MzU2My80MDg4ODIwNDYtOWNjNmVkYTgtYWYxNi00NTZjLWFjYjEtM2UxZGIyYzlkODUxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA3NDgzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM4ZmU2MGRjZDI3MjRkZDI0OThjNTI2ZDBmZDQxMTc1ZmY1ZGIyOTUyYTdjNmI5Y2E4ZTdjYTZkMTdmOGQzMzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.qbDp0LMhEWNG9JbqgSV1PnV171On98vYkN34hQmn5rE)
![image](https://private-user-images.githubusercontent.com/73363563/408882077-2483fa78-9113-443a-b5b6-85cdf5c9deaa.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MDYwMTgsIm5iZiI6MTczOTYwNTcxOCwicGF0aCI6Ii83MzM2MzU2My80MDg4ODIwNzctMjQ4M2ZhNzgtOTExMy00NDNhLWI1YjYtODVjZGY1YzlkZWFhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA3NDgzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThhZTZjNmVhMGIxNGRjOWY4Y2U4OGY4N2MxM2MyN2Y2N2EzZjY4ZTdhZWI5ZDkzNjljZmQ5MDQwZWRiNWUzOWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.hSlg47eAp6h6ClEfq_CM1-1LGLFSb5MahkW6eHs3T0A)
- Architecture Diagram Generator: Similar to the README generator, simply enter a GitHub repository link, then hit generate. Gemini will create a Mermaid.js diagram, which you can either download as an image or copy as Mermaid code, outlining the architecture of the project. Again, the diagram is highly accurate because it has access to your entire codebase.
![image](https://private-user-images.githubusercontent.com/73363563/408929488-70fbd2c1-5fe7-4b63-ab95-c6e33cca7c7a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MDYwMTgsIm5iZiI6MTczOTYwNTcxOCwicGF0aCI6Ii83MzM2MzU2My80MDg5Mjk0ODgtNzBmYmQyYzEtNWZlNy00YjYzLWFiOTUtYzZlMzNjY2E3YzdhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA3NDgzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFkOTJkYWM1ZmI0MjViYzMxODdlMzRkYjk4OTY4MTU3NTg5Y2RkY2EyOTIzNjNjZTA1MTAyNmM3Yzk5YWNhZmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.mb3eQdthFbSzeQoxbDfdXXrNBiGiPzTZdCMzAeXQ320)
- Pitch Assistant: Select a pitch template, enter your project information, and get a pitch draft.
![image](https://private-user-images.githubusercontent.com/73363563/408882120-e0e896f0-615f-427d-a840-fe40b5827483.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MDYwMTgsIm5iZiI6MTczOTYwNTcxOCwicGF0aCI6Ii83MzM2MzU2My80MDg4ODIxMjAtZTBlODk2ZjAtNjE1Zi00MjdkLWE4NDAtZmU0MGI1ODI3NDgzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE1VDA3NDgzOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMxZTFhZTkwODc4OTljMDliYjgzMTRlNWE5NmY2ZGU3MDUyOGVmOTA1YjM0MjJkZGQ2M2Y1MjAzMzAxZTA2MDAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.LBo0Ead-cIxaRotOFh9dGUBtiSdNMTB13pM8PRntAsk)
- Project Management: Sign in with Google to save your projects and access them anywhere. From the projects dashboard, you can easily click on any generated content to view it again or make an improvement.
Created using HackMate's architecture diagram generator feature!
- Frontend:
- Next.js (T3 Stack)
- TypeScript
- Tailwind CSS
- Mermaid.js (architecture diagrams)
- Backend
- tRPC (type-safe communication between frontend and backend)
- Postgres Database
- Drizzle ORM
- Google Cloud Platform (GCP)
- Vercel
- Google Vertex AI with Gemini
- Repomix (for packing GitHub repositories into a single file optimized for LLMs)
- Authentication:
- NextAuth.js
- Google Sign-In
- Data Scraping:
- Puppeteer
- Build AI model using scraped winning hackathon projects in order to learn patterns and give feedback on the user’s hackathon idea/project
- Further automate hackathon scraping by creating a CRON job that automatically discovers recent hackathons
- Include icons in generated architecture diagrams
- Use reasoning AI model to improve architecture diagram generation
- Ability to record your pitch and get AI feedback
- Ability to generate a pitch deck
- Further improve context provision for AI (add custom instruction options to architecture diagram generator, allow custom ignore patterns for packing repository, autofill project details for pitch based on generated README, etc.)
- ✅ Get one of my projects into the hackathon winners database 🤭
- Node.js (v20 or higher)
- npm
- Google Cloud Platform account with a project
- Clone the repo
git clone https://github.com/owengretzinger/hackmate.git
- Install packages
npm install
- Configure environment variables
cp .env.example .env
- Start the development server
npm run dev
Owen Gretzinger - [email protected]