Intelligent Collaboration for Geographically Distributed Teams
AI-Powered Teammate Recommendation, Task Assignment, & Compatibility Prediction System.
- Project Overview
- What's New in v2.0? (Core Features)
- AI Workflow
- Tech Stack
- Project Structure
- Setup & Run
- API Endpoints
- Database Schema
- Future Enhancements
SkillForge is a next-generation collaboration platform that helps hackathon organizers and distributed teams form the highest-potential teams and intelligently manage their workflow. It uses machine learning models via scikit-learn to analyze skill sets and assign tasks algorithmically.
All AI is implemented locally using standard Python ML libraries — no external AI APIs are needed.
-
AI Task Assignment Engine
- Automatically assign tasks to team members based on skill similarity, role mapping, and experience level.
- Outputs an exact confidence score explaining why a team member is best suited for a task.
-
Smart Task Management System
- Built-in drag-and-drop Kanban Board capabilities for distributed teams.
- Task lifecycle tracking (todo, in-progress, completed) tied to individual users.
-
Collaboration & Communication Layer
- Tracks team activity autonomously to power a lightweight, async activity feed.
- Provides realtime-like status updates across the team without the overhead of a full chat architecture.
-
AI Team Insights Engine (Differentiator)
- Autonomously detects overloaded team members handling too many tasks.
- Predicts and outputs a Team Success Score based on diversity of skills, experience balance, and domain alignment.
- Highlights missing team skills dynamically and suggests recruiting new members.
User Input / Task Creation
│
▼
┌─────────────────────────────────┐
│ MODULE 1: Skill Vectorization │
│ TfidfVectorizer from sklearn │
│ Input: "python, react, flask" │
│ Output: Sparse TF-IDF vector │
└──────────────┬──────────────────┘
│
▼
┌─────────────────────────────────┐
│ MODULE 2: Similarity Engine │
│ cosine_similarity from sklearn │
│ Suggests teammate or assignee │
└──────────────┬──────────────────┘
│
▼
┌─────────────────────────────────┐
│ MODULE 3: Compatibility / Assign│
│ Logistic Regression / Weights │
│ Features: Skill match, Domain, │
│ Experience level │
└──────────────┬──────────────────┘
│
▼
┌─────────────────────────────────┐
│ MODULE 4: Team Balance & Insight│
│ Calculates Success Probability │
│ Identifies workload imbalances │
└─────────────────────────────────┘
- TF-IDF Vectorization & Cosine Similarity: Converts unstructured skill text into weighted numerical vectors, and compares them by mapping their positional angle in high-dimensional space.
- Feature Engineering & Logistic Regression: Creates ML-ready features (skill similarity, experience difference, domain match) and predicts teammate compatibility probability via a trained LR model.
- AI Task Engine: Uses a weighted scoring mechanism (Skills 50%, Role 30%, Experience 20%) to algorithmically pair tasks directly to optimal users.
- Insight Analysis: Assesses team structure continuously based on active tasks to prevent developer burnout and flag required skills.
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React 19 + TypeScript | Glassmorphism UI Components |
| Build Tool | Vite 7 | Fast frontend development server |
| Styling | Vanilla CSS / @tsparticles | Dark space theme, particle backgrounds |
| Backend | Flask 3.0 | REST API |
| ML Library | scikit-learn 1.3 | TF-IDF, Cosine Sim, Logistic Regression |
| Data Processing | NumPy, Pandas | Fast numerical ML operations |
| Database | SQLite | Persistent local storage |
SkillForge/
├── backend/
│ ├── app.py # Application Layer (Endpoints, Routing)
│ ├── model.py # AI ML Engine (Algorithms, Insights)
│ ├── database.py # Data Layer (SQLite schemas)
│ ├── requirements.txt # Python deps
│ └── skillforge.db # Database
│
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── dashboard/ # Insights Panel, Dashboards
│ │ │ ├── tasks/ # Kanban, AI Cards
│ │ │ ├── ui/ # Glow Buttons, Glassmorphism styles
│ │ ├── api.ts
│ │ ├── App.tsx
│ │ ├── main.tsx
│ ├── index.html
│ ├── package.json
│ └── vite.config.ts
│
└── README.md
- Python 3.9+
- Node.js 18+
cd backend
pip install -r requirements.txt
python app.pyThe API server will start on
http://localhost:5002. Wait for theSkillForge AI initialized and readymessage.
# In a new terminal:
cd frontend
npm install
npm run dev -- --port 3000The React app will launch on
http://localhost:3000.
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/tasks |
Create a new task (assigned or unassigned) |
GET |
/api/tasks |
Fetch all active team tasks |
PUT |
/api/tasks/<id>/status |
Update a task's status |
POST |
/api/assign-task |
Get AI recommendation for task assignment |
GET |
/api/team-insights |
Get AI team workload insights & success probability |
curl -X POST http://localhost:5002/api/assign-task \
-H "Content-Type: application/json" \
-d '{
"task_skills": "react, css",
"task_role": "frontend"
}'Response:
{
"success": true,
"assignment": {
"assigned_user": { "id": 4, "name": "Sneha", "domain": "ui_ux" },
"confidence_score": 92.4,
"reason": "Matched because: 88% skill similarity, same domain, complementary experience."
}
}In addition to users, skills, and recommendations, the v2.0 update introduces:
CREATE TABLE tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
description TEXT,
priority TEXT DEFAULT 'medium',
assigned_user_id INTEGER,
status TEXT DEFAULT 'todo',
deadline TIMESTAMP,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (assigned_user_id) REFERENCES users(id)
);CREATE TABLE team_activity (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
action TEXT NOT NULL,
description TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);- WebSockets / SocketIO: Replace polling activity feeds with true real-time synchronous connections.
- D3 Skill Network Graph: Add a massive interactive node map for all users and their exact matching skill vectors.
- Deep Learning: Upgrade Logistic Regression compatibility model with Neural Networks for complex non-linear team dynamics.