Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/JoseOlivares19/Proyecto-PC3-JavaScript-Avanzado/llms.txt

Use this file to discover all available pages before exploring further.

Talent Match AI helps development teams, bootcamps, and HR platforms map a candidate’s technical skill scores and stated preference to the career profile where they are most likely to succeed. By scoring four possible profiles independently and returning the highest-scoring one, the model provides a data-driven recommendation alongside concrete next-step exercises.

Model Details

PropertyValue
Model keytalent-match
EndpointPOST /predict/talent-match
Training samples320 synthetic samples
ClassifierRandomForestClassifier(n_estimators=180, max_depth=7, random_state=42, class_weight="balanced_subsample")

Output Labels

LabelCareer Profile
FRONTEND_REACTSpecialises in React UI development with hooks and REST consumption
BACKEND_SPRINGSpecialises in Spring Boot REST APIs and service integration
DATA_ANALYST_JUNIORSpecialises in Python, data cleaning, and predictive modelling
FULLSTACK_JUNIORBridges frontend, backend, and data layers end-to-end

Label Decision Logic

The labelling function computes a score for each of the four profiles and returns the label with the highest score. A preference bonus of 12 points is applied to the profile that matches the candidate’s stated preference:
def label_talent(row):
    js, react, spring, py, sql, exp, pref = row

    front = js * 0.35 + react * 0.45 + exp * 3 + (12 if pref == 0 else 0)
    back  = spring * 0.50 + sql * 0.25 + js * 0.10 + exp * 3 + (12 if pref == 1 else 0)
    data  = py * 0.55 + sql * 0.25 + exp * 2 + (12 if pref == 2 else 0)
    full  = (js + react + spring + sql) * 0.20 + exp * 4 + (12 if pref == 3 else 0)

    scores = {
        "FRONTEND_REACT":     front,
        "BACKEND_SPRING":     back,
        "DATA_ANALYST_JUNIOR": data,
        "FULLSTACK_JUNIOR":   full,
    }
    return max(scores, key=scores.get)
ProfileSkill weights
FRONTEND_REACTjavascript × 0.35 + react × 0.45 + experiencia × 3
BACKEND_SPRINGspring_boot × 0.50 + sql × 0.25 + javascript × 0.10 + experiencia × 3
DATA_ANALYST_JUNIORpython_datos × 0.55 + sql × 0.25 + experiencia × 2
FULLSTACK_JUNIOR(javascript + react + spring_boot + sql) × 0.20 + experiencia × 4
All four formulae add +12 when the candidate’s preferencia matches the profile’s index (0 = front, 1 = back, 2 = datos, 3 = fullstack).

Input Fields

javascript
integer
required
JavaScript skill self-assessment score. Range: 0 – 100. Used by FRONTEND_REACT, BACKEND_SPRING, and FULLSTACK_JUNIOR profiles.
react
integer
required
React skill self-assessment score. Range: 0 – 100. Primary weight (×0.45) in the FRONTEND_REACT profile.
spring_boot
integer
required
Spring Boot skill self-assessment score. Range: 0 – 100. Primary weight (×0.50) in the BACKEND_SPRING profile.
python_datos
integer
required
Python / data science skill self-assessment score. Range: 0 – 100. Primary weight (×0.55) in the DATA_ANALYST_JUNIOR profile.
sql
integer
required
SQL skill self-assessment score. Range: 0 – 100. Contributes to BACKEND_SPRING, DATA_ANALYST_JUNIOR, and FULLSTACK_JUNIOR profiles.
experiencia_proyectos
integer
required
Number of completed real-world or personal projects. Range: 0 – 10. Contributes 2–4 points per project depending on the profile, rewarding hands-on experience across all four paths.
preferencia
integer
required
Candidate’s stated career preference. Range: 0 – 3. The matching profile receives a bonus of 12 points.
  • 0 = Frontend
  • 1 = Backend
  • 2 = Data / Analytics
  • 3 = Fullstack

Recommendations by Label

LabelRecommendations
FRONTEND_REACTBuild a React dashboard with routes, hooks, and REST consumption · Reinforce component design and state management
BACKEND_SPRINGCreate solid REST endpoints with Swagger documentation · Reinforce validations, DTOs, and external service connections
DATA_ANALYST_JUNIORExplain model variables, predictions, and metrics · Reinforce Python, data cleaning, and visualisation
FULLSTACK_JUNIORIntegrate React + Spring Boot + Python end-to-end · Reinforce deployment and cross-layer error handling

Example Request & Response

curl -X POST http://localhost:8001/predict/talent-match \
  -H "Content-Type: application/json" \
  -d '{
    "javascript": 85,
    "react": 90,
    "spring_boot": 30,
    "python_datos": 20,
    "sql": 40,
    "experiencia_proyectos": 5,
    "preferencia": 0
  }'
{
  "caso": "TalentMatchAI",
  "prediccion": "FRONTEND_REACT",
  "confianza": 0.9056,
  "ranking": [
    { "clase": "FRONTEND_REACT",      "probabilidad": 0.9056 },
    { "clase": "FULLSTACK_JUNIOR",    "probabilidad": 0.0611 },
    { "clase": "BACKEND_SPRING",      "probabilidad": 0.0222 },
    { "clase": "DATA_ANALYST_JUNIOR", "probabilidad": 0.0111 }
  ],
  "recomendaciones": [
    "Construir un dashboard React con rutas, hooks y consumo REST.",
    "Reforzar diseño de componentes y manejo de estado."
  ],
  "entrada": {
    "javascript": 85,
    "react": 90,
    "spring_boot": 30,
    "python_datos": 20,
    "sql": 40,
    "experiencia_proyectos": 5,
    "preferencia": 0
  }
}

Response Fields

caso
string
Always "TalentMatchAI" for this endpoint.
prediccion
string
Predicted profile: FRONTEND_REACT, BACKEND_SPRING, DATA_ANALYST_JUNIOR, or FULLSTACK_JUNIOR.
confianza
float
Probability of the top prediction, rounded to 4 decimal places.
ranking
array
All four profile classes sorted by probability descending. Each element contains clase (string) and probabilidad (float).
recomendaciones
array
Fixed list of two career-development recommendations specific to the predicted profile.
entrada
object
Echo of the exact request payload received by the server.
When two profiles have very similar scores — for example a candidate with balanced skills and preferencia=3 — the model confidence may be lower and the ranking will show a tighter probability distribution. In those cases, present both the top prediction and the runner-up from ranking to the candidate for discussion.

Build docs developers (and LLMs) love