AI Matching System

Intelligent Matching Engine

Multi-dimensional AI system for precise talent matching

How It Works

SJM's matching engine combines multiple AI techniques to find the most suitable freelancers for your projects. The system uses a hybrid approach that considers skills, experience, ratings, and other factors to provide comprehensive matching results.

Content-Based Matching

Skills and project requirement analysis

from sjm import SJM

client = SJM(api_key="your_api_key")

# Match freelancers to a project
matches = client.match(
  description="Build a modern web application with React and Node.js",
  required_skills=["React.js", "Node.js", "TypeScript"],
  budget_range=(5000, 10000),
  complexity="medium",
  timeline=30
)
1
2
3
4
5
6
7
8
9
10
11
12

Collaborative Filtering

Performance-based matching enhancement

import { SJM } from 'sjm';

const client = new SJM({ apiKey: "your_api_key" });

// Match freelancers to a project
const result = await client.match({
description: "Build a modern web application with React and Node.js",
required_skills: ["React.js", "Node.js", "TypeScript"],
budget_range: [5000, 10000],
complexity: "medium",
timeline: 30
});
1
2
3
4
5
6
7
8
9
10
11
12

Key Components

1. Skills Analysis

SJM's matching engine uses advanced natural language processing to extract and verify skills from project descriptions and freelancer profiles.

from sjm import SJM

client = SJM(api_key="your_api_key")

# Verify a specific skill
result = client.verify_skill("React.js")

# Check if the skill exists in the database
if result["data"]["exists"]:
  print(f"✅ The skill 'React.js' is verified in the database")
  if "skills" in result["data"]:
      print(f"Matching skills: {', '.join(result['data']['skills'])}")
else:
  print(f"❌ The skill 'React.js' is not verified")
  if result["data"]["similar_terms"]:
      print(f"Did you mean: {', '.join(result['data']['similar_terms'])}")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

2. Multi-dimensional Matching

SJM's matching system considers multiple dimensions when finding the ideal freelancers for your projects.

# Content-based matching looks at skills and project requirements
matches = client.match(
  description="Build a React Native mobile app with TypeScript",
  required_skills=["React Native", "TypeScript", "Mobile Development"],
  complexity="high"
)
1
2
3
4
5
6

3. Customizable Matching Weights

Adjust the importance of different matching criteria based on your project needs.

# Match with custom weights to emphasize different aspects
matches = client.match(
  description="Build a complex distributed system",
  required_skills=["Go", "Microservices", "Kubernetes", "gRPC"],
  budget_range=(15000, 30000),
  complexity="high",
  timeline=90,
  # Custom weights for different matching factors
  weights={
      "content": 0.4,      # Skill matching
      "collaborative": 0.2, # Historical performance
      "experience": 0.3,    # Years of experience
      "rating": 0.1         # User ratings
  }
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Using the Matching API

Basic Matching

from sjm import SJM

client = SJM(api_key="your_api_key")

# Match freelancers to a project
matches = client.match(
  description="Build a modern web application with React and Node.js",
  required_skills=["React.js", "Node.js", "TypeScript"],
  budget_range=(5000, 10000),
  complexity="medium",
  timeline=30
)
1
2
3
4
5
6
7
8
9
10
11
12

Advanced Matching Scenarios

# Match for a specialized technical role with specific experience requirements
senior_matches = client.match(
  description="Senior backend developer needed for high-scale distributed systems.",
  required_skills=["Go", "Kubernetes", "Microservices", "gRPC", "PostgreSQL"],
  budget_range=(120000, 180000),
  complexity="high",
  timeline=180
)
1
2
3
4
5
6
7
8

Response Format

The matching API returns detailed information about matching freelancers.

{
"status": "success",
"matches": [
  {
    "freelancer": {
      "id": "f1234",
      "name": "Jane Smith",
      "job_title": "Senior Full Stack Developer",
      "skills": ["React.js", "Node.js", "TypeScript", "MongoDB", "AWS"],
      "experience": 7,
      "rating": 4.9,
      "hourly_rate": 85.0
    },
    "score": 0.95,
    "matching_skills": 3
  }
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18