Career Signals API — An AI-Powered Resume & Role-Fit Analysis Engine

Published: (December 12, 2025 at 03:01 PM EST)
4 min read
Source: Dev.to

Source: Dev.to

What I Built

Career Signals API is a production‑ready public API that analyzes resumes, job descriptions, and candidate profiles to generate structured, explainable career insights.

Profile Analysis

  • Skill breadth & depth scoring
  • Five‑dimension leadership scoring (people, technical, delivery, cross‑functional, mentorship)
  • Career risk signals (job‑hopping, gaps, stagnation, buzzword density)
  • Narrative themes (e.g., “Builder”, “Coach”, “Scaler”)

Role Fit Analysis

  • Weighted role‑fit score (0–100)
  • Matched vs. missing skills with impact levels
  • Seniority and domain alignment
  • Red/green flags + actionable resume and interview recommendations

Resume Bullet Generation

  • Bullets grounded in actual experience (no hallucinations)
  • Tailored to job descriptions
  • Seniority‑adjusted tone (IC → Manager → Director → VP)
  • Focus‑tag metadata for UI filtering
  • Mismatch warnings when the candidate is underqualified

The API returns clean, consistent JSON responses that can be plugged into resume builders, job‑search tools, HR platforms, and ATS systems.

API Documentation

Base URL

https://x8ki-letl-twmt.n7.xano.io/api:career_signals

Swagger / API Explorer
https://x8ki-letl-twmt.n7.xano.io/api:career_signals

GitHub Repository
https://github.com/Tawe/careersignals

Authentication

All endpoints require a Bearer token:

Authorization: Bearer <your-token>

For testing you can also pass a JSON body with a test key:

{ "test_api_key": "test-key-123" }

Rate Limits

  • 60 requests per minute (default)
  • Configurable per client via Xano table
  • Returns 429 when the limit is exceeded

Endpoints

POST /v1/analyze/profile

Analyzes resume/profile text and returns skill scores, leadership signals, risk signals, and narrative themes.

POST /v1/analyze/role-fit

Compares a profile to a job description and outputs matched/missing skills, red/green flags, and role‑fit scoring.

POST /v1/suggest/bullets

Generates non‑hallucinated resume bullets grounded in the candidate’s real experience.

All endpoints provide:

  • Schema‑validated JSON
  • Anti‑hallucination safeguards
  • Evidence‑based scoring
  • Consistent response formatting

Demo

Microsite

The demo microsite supports:

  • Pasting a resume
  • Pasting a job description
  • Calling each API endpoint
  • Viewing structured JSON responses

Screenshots

Bullet Suggestions UI

Role Fit Workflow

Example API Calls

Profile Analysis

curl -X POST "https://x8ki-letl-twmt.n7.xano.io/api:career_signals/v1/analyze/profile" \
  -H "Authorization: Bearer test-key-123" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_text": "Senior Software Engineer with 10+ years building scalable systems...",
    "locale": "en-US",
    "options": {"include_leadership_signals": true}
  }'

Role Fit

curl -X POST "https://x8ki-letl-twmt.n7.xano.io/api:career_signals/v1/analyze/role-fit" \
  -H "Authorization: Bearer test-key-123" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_text": "Engineering Manager leading backend teams...",
    "job_description": "Director of Engineering role...",
    "locale": "en-US"
  }'

Bullet Suggestions

curl -X POST "https://x8ki-letl-twmt.n7.xano.io/api:career_signals/v1/suggest/bullets" \
  -H "Authorization: Bearer test-key-123" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_text": "...",
    "job_description": "...",
    "role_title": "Director of Engineering",
    "max_bullets": 6
  }'

The AI Prompt I Used

Profile Analysis Prompt (excerpt)

You are a career analysis engine. Analyze resumes and career profiles to extract structured career signals. Always respond with valid JSON only, no prose outside JSON.

LEADERSHIP SCORING (REQUIRED when include_leadership_signals is true): Output a leadership_evidence object with these EXACT fields (all integers 0–100):
- people_leadership_score
- technical_leadership_score
- delivery_ownership_score
- cross_functional_collab_score
- mentorship_coaching_score
- explanation (string with evidence citations)

SCORING RULES:
- Only assign scores above 50 when the profile explicitly shows leadership responsibilities such as: managing people or teams (with team sizes), mentoring, owning delivery of major programs, leading architecture decisions, incident response leadership, or acting as EM/Tech Lead.
- Weak or buzzword‑only evidence (e.g., "provided leadership", "cross‑functional teamwork") must score 0–30.
- If there is no leadership evidence, scores must be 0–10 and the explanation must state that no leadership responsibilities were found.
- DO NOT infer potential leadership. Only score based on demonstrated experience.

SKILL SIGNALS:
Return skill_breadth_score, skill_depth_score, seniority_band, specialization_archetype, primary_domains, and explanation.

RISK SIGNALS:
Return: job_hopping_risk, tech_stagnation_risk, buzzword_density_score, and any career_gap_flags.

NARRATIVE:
Generate narrative themes summarizing the candidate.

Role Fit Prompt (excerpt)

You are a career analysis engine specializing in role matching. Always respond using valid JSON only.

Analyze how well the candidate's profile matches the job description.
Return a JSON object with the following fields:

skills_alignment: {
  score (0–100),
  matched_skills: [{ skill, strength }],
  missing_skills: [{ skill, impact }]
},

domain_alignment: {
  score (0–100),
  explanation
},

seniority_alignment: {
  score (0–100),
  explanation
},

leadership_alignment: {
  score (0–100),
  explanation
},

green_flags: [],
red_flags: [],

recommendations: {
  resume_focus: [],
  interview_talking_points: []
}

SCORING RULES:
- Leadership alignment must reflect demonstrated leadership from the profile.
- Seniority alignment must not be inflated; underqualification should reduce the score.
- Missing skills must include an "impact" rating: Low, Medium, or High.
- Provide clear, concise explanations.
Back to Blog

Related posts

Read more »

Building A Payment Processor Backend

Core Features - JWT Authentication & Role-Based Access Control – Token‑based auth with Admin, Merchant, and Customer roles - Idempotency Keys – Prevents duplic...