Skip to content

Commit 21de843

Browse files
authored
Update README.md
1 parent 6bfaa7e commit 21de843

File tree

1 file changed

+63
-236
lines changed

1 file changed

+63
-236
lines changed

β€ŽREADME.mdβ€Ž

Lines changed: 63 additions & 236 deletions
Original file line numberDiff line numberDiff line change
@@ -1,311 +1,138 @@
1-
# πŸš€ Hackd - AI-Powered Hacker Matching Platform
2-
3-
> **Winner of Hack the North 2024** - *Find the perfect hacker for every situation*
4-
5-
Hackd breaks the stigma of cold outreach by connecting you directly with top tech talent using AI-powered analysis of GitHub profiles, tech stacks, and collaboration patterns.
1+
# Hackd - Hacker Matching Platform
62

73
[![Deploy with Defang](https://defang.io/deploy-with-defang.png)](https://portal.defang.dev/redirect?url=https%3A%2F%2Fgithub.com%2Fnew%3Ftemplate_name%3Dhackd-template%26template_owner%3DHackTheNorthTeam)
84

9-
## 🎯 What is Hackd?
5+
## Overview
106

11-
**The Problem**: Finding teammates at hackathons is stressful. The Hack the North Slack had 1,710 members in the "looking for teammates" channel, and taking the leap to message someone when you're a solo hacker can be terrifying.
7+
**Problem**: Finding teammates at hackathons is difficult. Slack channels get crowded and reaching out is awkward.
128

13-
**Our Solution**: Hackd analyzes GitHub profiles to understand what kind of coder you are, performs sentiment analysis to identify collaboration patterns, and uses AI to match you with the perfect teammates or candidates.
9+
**Solution**: Hackd analyzes GitHub profiles and matches hackers using sentiment and code analysis.
1410

15-
### 🌟 Key Features
11+
## Features
1612

17-
- **πŸ” GitHub Profile Analysis**: Deep analysis of coding patterns, tech stacks, and project complexity
18-
- **πŸ€– AI-Powered Matching**: Uses Cohere AI for intelligent pairing based on complementary skills
19-
- **πŸ’Ό Recruiter Dashboard**: Helps recruiters find top talent at hackathons
20-
- **πŸ“Š Collaboration Scoring**: Analyzes code comments, PR activity, and teamwork patterns
21-
- **🎨 Beautiful UI**: Modern React interface with smooth animations and responsive design
13+
- GitHub profile and coding pattern analysis
14+
- AI-powered matching using Cohere
15+
- Recruiter dashboard
16+
- Collaboration scoring
17+
- Clean React interface
2218

23-
## πŸ—οΈ Architecture
19+
## Architecture
2420

2521
```
2622
hackd/
27-
β”œβ”€β”€ backend/ # Python API Services
28-
β”‚ β”œβ”€β”€ api/ # Flask REST API
29-
β”‚ β”‚ └── main.py # Main API server
30-
β”‚ β”œβ”€β”€ github-analyzer/ # GitHub profile analysis
31-
β”‚ β”‚ └── github_analyzer.py # Core analysis engine
32-
β”‚ β”œβ”€β”€ matching/ # AI matching engine
33-
β”‚ β”‚ └── matcher.py # Cohere-powered matching
34-
β”‚ └── requirements.txt # Python dependencies
35-
β”‚
36-
β”œβ”€β”€ frontend/hackd-web/ # Next.js Frontend
37-
β”‚ β”œβ”€β”€ app/ # Next.js 14 app router
38-
β”‚ β”‚ β”œβ”€β”€ matching/ # User matching interface
39-
β”‚ β”‚ β”œβ”€β”€ recruiting/ # Recruiter dashboard
40-
β”‚ β”‚ └── hacker/ # Hacker profile forms
41-
β”‚ β”œβ”€β”€ convex/ # Convex database & auth
42-
β”‚ └── lib/api.ts # Backend API client
43-
β”‚
44-
└── config/ # Configuration & deployment
45-
└── docker-compose.yml # Full-stack deployment
23+
β”œβ”€β”€ backend/
24+
β”‚ β”œβ”€β”€ api/main.py
25+
β”‚ β”œβ”€β”€ github-analyzer/github_analyzer.py
26+
β”‚ β”œβ”€β”€ matching/matcher.py
27+
β”‚ └── requirements.txt
28+
β”œβ”€β”€ frontend/hackd-web/
29+
β”‚ β”œβ”€β”€ app/{matching,recruiting,hacker}/
30+
β”‚ β”œβ”€β”€ convex/
31+
β”‚ └── lib/api.ts
32+
└── config/docker-compose.yml
4633
```
4734

48-
## πŸš€ Quick Start
35+
## Quick Start
4936

5037
### Prerequisites
5138

52-
- **Node.js** 18+ and **npm**
53-
- **Python** 3.11+
54-
- **Git**
55-
- **GitHub Personal Access Token**
56-
- **Cohere API Key**
39+
- Node.js 18+
40+
- Python 3.11+
41+
- Git
42+
- GitHub Personal Access Token
43+
- Cohere API Key
5744

58-
### 1. Clone & Setup
45+
### Setup
5946

6047
```bash
6148
git clone https://github.com/your-username/hackd.git
6249
cd hackd
6350

64-
# Install backend dependencies
51+
# Backend
6552
cd backend
6653
pip install -r requirements.txt
6754

68-
# Install frontend dependencies
55+
# Frontend
6956
cd ../frontend/hackd-web
7057
npm install
7158
```
7259

73-
### 2. Environment Configuration
60+
### Configuration
61+
62+
#### Backend
7463

75-
#### Backend Configuration
7664
```bash
77-
cd backend
7865
cp .env.example .env
79-
# Edit .env with your API keys
66+
# Edit with keys
8067
```
8168

82-
#### Frontend Configuration
69+
#### Frontend
70+
8371
```bash
84-
cd frontend/hackd-web
8572
cp .env.local.example .env.local
86-
# Edit .env.local with your Convex & API settings
73+
# Edit with keys
8774
```
8875

89-
### 3. Required API Keys
76+
### API Keys Needed
9077

91-
| Service | Purpose | How to Get |
92-
|---------|---------|------------|
93-
| **GitHub Token** | Profile analysis | [GitHub Settings β†’ Developer settings β†’ Personal access tokens](https://github.com/settings/tokens) |
94-
| **Cohere API Key** | AI matching & sentiment analysis | [Cohere Dashboard](https://dashboard.cohere.ai/) |
95-
| **Convex** | Database & authentication | [Convex Dashboard](https://dashboard.convex.dev/) |
78+
| Service | Use |
79+
|---------|-----|
80+
| GitHub | Profile analysis |
81+
| Cohere | Matching |
82+
| Convex | Auth and DB |
9683

97-
### 4. Run the Application
84+
### Run
9885

99-
#### Option A: Development (Recommended)
86+
**Dev Mode**
10087

10188
```bash
102-
# Terminal 1: Start backend API
89+
# Terminal 1
10390
cd backend
10491
python api/main.py
10592

106-
# Terminal 2: Start frontend
93+
# Terminal 2
10794
cd frontend/hackd-web
10895
npm run dev
10996
```
11097

111-
#### Option B: Docker Compose
98+
**Docker**
11299

113100
```bash
114101
cd config
115102
docker-compose up --build
116103
```
117104

118-
Visit: **http://localhost:3000** πŸŽ‰
105+
Access at `http://localhost:3000`
119106

120-
## πŸ”§ API Endpoints
107+
## API Endpoints
121108

122-
| Endpoint | Method | Purpose |
123-
|----------|--------|---------|
124-
| `/health` | GET | Service health check |
125-
| `/api/analyze-github` | POST | Analyze GitHub profile |
126-
| `/api/match-users` | POST | Find matching users |
127-
| `/api/analyze-job-description` | POST | Parse job requirements |
128-
| `/api/analyze-sentiment` | POST | Sentiment analysis |
109+
| Endpoint | Method | Description |
110+
|----------|--------|-------------|
111+
| `/health` | GET | Health check |
112+
| `/api/analyze-github` | POST | GitHub profile analysis |
113+
| `/api/match-users` | POST | Match hackers |
114+
| `/api/analyze-job-description` | POST | Job parsing |
115+
| `/api/analyze-sentiment` | POST | Sentiment |
129116

130-
### Example Usage
117+
### Example
131118

132-
```javascript
133-
// Analyze a GitHub profile
134-
const response = await fetch('http://localhost:5000/api/analyze-github', {
119+
```js
120+
const res = await fetch('http://localhost:5000/api/analyze-github', {
135121
method: 'POST',
136122
headers: { 'Content-Type': 'application/json' },
137123
body: JSON.stringify({ username: 'octocat' })
138124
});
139-
140-
const profile = await response.json();
141-
console.log(profile.top_technologies); // ['JavaScript', 'Python', 'React']
125+
const data = await res.json();
126+
console.log(data.top_technologies);
142127
```
143128

144-
## 🧠 AI Matching Algorithm
145-
146-
Our matching algorithm combines multiple factors:
129+
## Matching Logic
147130

148131
```python
149-
# Core matching logic
150132
match_score = (
151133
tech_complementarity * 0.4 +
152134
experience_compatibility * 0.3 +
153135
collaboration_compatibility * 0.2 +
154136
activity_level * 0.1
155137
)
156138
```
157-
158-
## 🎨 Frontend Features
159-
160-
### 🏠 Landing Page
161-
- Clean, modern design with animations
162-
- GitHub OAuth integration
163-
- Responsive layout
164-
165-
### πŸ” Matching Interface
166-
- Interactive user cards with flip animations
167-
- Real-time skill visualization with pie charts
168-
- Liquid-fill progress bars for aptitude scores
169-
170-
### πŸ’Ό Recruiter Dashboard
171-
- Job description analysis
172-
- Candidate ranking system
173-
- Sentiment analysis of job posts
174-
175-
### πŸ’¬ Chat System
176-
- Real-time messaging with Convex
177-
- Team formation tools
178-
- Collaboration tracking
179-
180-
## πŸ”’ Security & Best Practices
181-
182-
- βœ… **No hardcoded secrets** - All API keys via environment variables
183-
- βœ… **Input validation** - Comprehensive request validation
184-
- βœ… **Error handling** - Graceful degradation and user feedback
185-
- βœ… **Rate limiting** - API request throttling
186-
- βœ… **CORS configured** - Secure cross-origin requests
187-
- βœ… **Health checks** - Service monitoring endpoints
188-
189-
## πŸ§ͺ Testing
190-
191-
```bash
192-
# Backend tests
193-
cd backend
194-
pytest
195-
196-
# Frontend tests
197-
cd frontend/hackd-web
198-
npm test
199-
200-
# Integration tests
201-
npm run test:e2e
202-
```
203-
204-
## πŸš€ Deployment
205-
206-
### Defang (Recommended)
207-
```bash
208-
# Install Defang CLI
209-
brew install DefangLabs/defang/defang
210-
211-
# Login to Defang
212-
defang login
213-
214-
# Deploy the application
215-
defang compose up
216-
```
217-
218-
### Manual Deployment
219-
1. **Backend**: Deploy Flask API to Railway, Render, or AWS
220-
2. **Frontend**: Deploy Next.js to Vercel or Netlify
221-
3. **Database**: Convex handles database deployment
222-
223-
### Environment Variables for Production
224-
225-
Make sure to set these in your deployment environment:
226-
227-
**Backend:**
228-
- `GITHUB_TOKEN` - Your GitHub personal access token
229-
- `COHERE_API_KEY` - Your Cohere API key
230-
- `FLASK_ENV=production`
231-
232-
**Frontend:**
233-
- `NEXT_PUBLIC_CONVEX_URL` - Your Convex deployment URL
234-
- `NEXT_PUBLIC_API_URL` - Your backend API URL
235-
236-
## πŸ‘₯ Team
237-
238-
Built by a team of 4 developers during Hack the North 2024:
239-
240-
- **Tianqin Meng** - Full-stack development & AI integration
241-
- **Hamza Khamissa** - Frontend design & user experience
242-
- **David Pietrocola** - Backend architecture & GitHub analysis
243-
- **Saikrishna Devendiran** - Database design & authentication
244-
245-
## πŸ† Achievements
246-
247-
- **πŸ₯‡ Hack the North 2024 Winner**
248-
- **36 hours** of intensive development
249-
- **1,710 users** in the target demographic
250-
- **DEI-friendly** matching (skill-based, identity-agnostic)
251-
252-
## πŸ› οΈ Tech Stack
253-
254-
### Backend
255-
- **Flask** - REST API framework
256-
- **Cohere AI** - Sentiment analysis & embeddings
257-
- **PyGithub** - GitHub API integration
258-
- **scikit-learn** - Machine learning algorithms
259-
- **Docker** - Containerization
260-
261-
### Frontend
262-
- **Next.js 14** - React framework with App Router
263-
- **TypeScript** - Type-safe development
264-
- **Tailwind CSS** - Utility-first styling
265-
- **Framer Motion** - Smooth animations
266-
- **Chart.js** - Data visualization
267-
- **Convex** - Real-time database & auth
268-
269-
### Infrastructure
270-
- **Convex** - Database & authentication
271-
- **Defang** - Deployment platform
272-
- **GitHub Actions** - CI/CD pipeline
273-
274-
## πŸ“ˆ Performance
275-
276-
- **< 2s** GitHub profile analysis
277-
- **< 500ms** matching algorithm execution
278-
- **95%** uptime SLA
279-
- **10x faster** than manual teammate finding
280-
281-
## 🀝 Contributing
282-
283-
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
284-
285-
1. Fork the repository
286-
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
287-
3. Commit your changes (`git commit -m 'Add amazing feature'`)
288-
4. Push to the branch (`git push origin feature/amazing-feature`)
289-
5. Open a Pull Request
290-
291-
## πŸ“„ License
292-
293-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
294-
295-
## πŸ™ Acknowledgments
296-
297-
- **Hack the North 2024** for the incredible experience
298-
- **Cohere** for AI/ML capabilities
299-
- **GitHub** for comprehensive developer data
300-
- **Convex** for seamless database integration
301-
- **Defang** for deployment infrastructure
302-
303-
---
304-
305-
<div align="center">
306-
307-
**Built with ❀️ during Hack the North 2024**
308-
309-
[🌐 Live Demo](https://hackd.dev) β€’ [πŸ“– Documentation](https://docs.hackd.dev) β€’ [πŸ› Report Bug](https://github.com/hackd/issues) β€’ [✨ Request Feature](https://github.com/hackd/issues)
310-
311-
</div>

0 commit comments

Comments
Β (0)