HR Skill Intelligence Portal
Full-stack HR platform for org-wide skill mapping, gap analysis, and AI-generated personalized development reports with versioned recommendation history.
Category
Internal Tools
Year
2026
Status
Live
The Problem
Companies can’t answer basic questions: who knows Kubernetes, at what level, and how does that compare across teams? Skill data lives in resumes, annual reviews, and manager memory — scattered, stale, and impossible to act on at scale. HR teams end up making hiring and training decisions blind.
What I Built
A full-stack internal HR portal with three distinct surfaces.
Employees get a role-aware self-assessment form — they rate proficiency (Basic → Intermediate → Advanced → Expert), mark skills as Primary or Secondary, and upload certifications. The form dynamically loads only the skill categories relevant to their role — a QA Engineer doesn’t see DevOps & Cloud, a Designer doesn’t see Backend Development.
HR and admins get an analytics dashboard with org-wide visibility — skill distribution, department comparisons, top performers, a proficiency heatmap across departments and categories, role skill coverage bars, and a scatter plot of experience vs skill depth. Every chart filters by department, manager, role, and proficiency level.
The AI layer generates structured Skill Development Reports per employee — current strengths with role context, prioritized gaps with industry rationale, specific learning resources per gap, unassessed skills worth evaluating, and a growth path summary. Reports are versioned so you can track improvement over time.
The Geeky Bits
4-level data hierarchy — The schema is Department → Role → Skill Category → Skill. Admins configure which skill categories map to which role in an admin config page. Employees automatically inherit the right assessment structure from their role assignment — no manual form configuration per person. This separation also means the same skill (e.g. SQL) can belong to multiple categories and appear across different role assessments.
Recommendation versioning — Each AI generation creates a recommendation_run record in its own table. Individual recommendations FK to their run, not directly to the submission. The system queries across all past runs to detect persistent gaps — skills flagged in 2 or more consecutive reports — and surfaces them with an amber warning badge. Managers get concrete evidence of unaddressed development needs, not just the latest snapshot.
Smart model switching — Auto-selects gpt-4o for individual on-demand reports where output quality matters, switches to gpt-4o-mini for bulk generation (5+ employees) to keep costs down. Input and output token counts are stored per run and shown in the report footer so admins have cost visibility.
Skill gap calculation — A gap isn’t just “did the employee assess this skill.” It’s the percentage of employees who haven’t reached Advanced or Expert proficiency. A team where everyone rates themselves Basic on Python still shows 100% gap — which is the correct signal. This distinction makes the gap charts actually actionable rather than just measuring form completion.
Navigable skill graph — Every entity links to its own page. Clicking a skill tag anywhere in the app opens /skills/Python — all employees with that skill, filterable by proficiency, department, and primary vs secondary. Clicking a department badge opens /departments/Engineering with its own charts. Role pages have a 4-tab layout: Overview, Employees, Skills (accordion grouped by category with per-skill coverage bars), and Skill Gaps sorted by coverage percentage ascending.
Results
- Replaced spreadsheet-based skill tracking with a structured, queryable skill graph across 50+ employees
- AI reports surface specific, grounded recommendations — not generic advice — referencing the employee’s actual assessed skills by name
- Persistent gap tracking creates accountability across review cycles
- The
/hierarchydocumentation page — a visual explainer of the 4-level model with an animated tree diagram — cut onboarding time for new HR admins significantly
Interested in working together?
Get in Touch →