Skip to content

Guru-CodesAI/skillforge-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ SkillForge v2.0 – Advanced AI-Powered Collaboration Platform

Intelligent Collaboration for Geographically Distributed Teams
AI-Powered Teammate Recommendation, Task Assignment, & Compatibility Prediction System.

Python Flask React scikit-learn SQLite


📋 Table of Contents

  1. Project Overview
  2. What's New in v2.0? (Core Features)
  3. AI Workflow
  4. Tech Stack
  5. Project Structure
  6. Setup & Run
  7. API Endpoints
  8. Database Schema
  9. Future Enhancements

🎯 Project Overview

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.


🔥 What's New in v2.0? (Core Features)

  1. 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.
  2. 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.
  3. 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.
  4. 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.

🧠 AI Workflow

Complete Pipeline

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  │
└─────────────────────────────────┘
  1. 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.
  2. Feature Engineering & Logistic Regression: Creates ML-ready features (skill similarity, experience difference, domain match) and predicts teammate compatibility probability via a trained LR model.
  3. AI Task Engine: Uses a weighted scoring mechanism (Skills 50%, Role 30%, Experience 20%) to algorithmically pair tasks directly to optimal users.
  4. Insight Analysis: Assesses team structure continuously based on active tasks to prevent developer burnout and flag required skills.

🛠️ Tech Stack

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

📁 Project Structure

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                

🚀 Setup & Run

Prerequisites

  • Python 3.9+
  • Node.js 18+

Step 1: Backend Setup

cd backend
pip install -r requirements.txt
python app.py

The API server will start on http://localhost:5002. Wait for the SkillForge AI initialized and ready message.

Step 2: Frontend Setup

# In a new terminal:
cd frontend
npm install
npm run dev -- --port 3000

The React app will launch on http://localhost:3000.


📡 API Endpoints (v2.0 Additions)

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

Example: AI Task Assignment Endpoint

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."
  }
}

🗃️ Database Schema Changes

In addition to users, skills, and recommendations, the v2.0 update introduces:

tasks Table

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)
);

team_activity Table

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)
);

🔮 Future Enhancements

  • 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.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors