Competency intelligence, learned from a thousand job descriptions.
An NLP pipeline that reads unstructured job postings with BERT-based extraction and semantic similarity, builds a three-tier competency taxonomy, and ships it into a SharePoint and PowerApps platform that HR pilots for workforce planning.
Role
Co-designed with Zeynep Ezgi Akyüz. Led NLP pipeline, data strategy, platform architecture.
Context
BSc Industrial Engineering thesis · ITU + Mercedes-Benz Türk, 2025
HR processes were being run subjectively, manager by manager, with no shared language and no platform underneath.
Mercedes-Benz Türk had no standardised competency model. Recruitment, performance management, succession planning: each was driven by the mental model of whichever manager happened to be in the room. The data existed, scattered across HRIS systems, role libraries, and informal documents, but it could not be queried. Earlier attempts at a competency model had not stuck, mostly because they were neither self-updating nor integrated into daily HR workflows. A PDF that becomes obsolete the week it is published is not a system, it is a snapshot.
The recurring theme in early conversations was simple: the data existed, but nobody had time to read and structure it manually.
Fig. 0. Workflow before and after. The change is less about adding AI and more about removing the document-review bottleneck — from a yearly snapshot to an on-demand map.
02Approach
The project ran in four phases. Each one was designed to produce an artefact a human could audit before the next one started, so the model was never the only thing carrying the result.
01Stakeholder discoveryInterviews with HR managers in the pilot department, process mapping of existing recruitment and review cycles, HRIS system review, and a catalogue of current job titles and functions to anchor the corpus to a real organisation.
02Data collectionInternal job descriptions, the O*NET database, and over 1,000 comparable LinkedIn postings for the same roles, cross-referenced against industry benchmarks. External postings gave the language; internal documents gave the truth.
03NLP pipelineBERT-based Named Entity Recognition to extract competency terms from raw text, semantic similarity validation with JobBERT and all-MiniLM to match extracted terms against a curated taxonomy, TF-IDF to weight role-specific importance, and a three-way categorisation into Core, Leadership / Managerial, and Functional competencies.
04Digital platformPowerApps front-end on SharePoint, with Microsoft Lists driving the explorer screens. Not the exciting choice, but the one HR could own after I left.
The output of phase three is the taxonomy you see on the platform. Three tiers, defined explicitly so HR and line managers point to the same words:
Tier 01
Core
Applies to every role in the company. Communication, accountability, learning agility.
Tier 02
Leadership / Managerial
Applies to people management and director tracks. Stakeholder management, strategic planning, coaching.
Tier 03
Functional
Role-specific technical skills. Defined per family and refreshed against the live corpus rather than written once and forgotten.
03Key decisions
Three choices mattered more than any individual modelling step:
Power Platform, not custom
Shipping is a governance decision. The company already had M365 licenses and Microsoft Lists in production. A standalone app would have required IT procurement, data-governance approval, and end-user training. Building inside the existing stack collapsed the deployment cost to roughly zero, which is the only way an HR-led pilot ever gets out of the door.
BERT-NER, not keywords
Job descriptions phrase the same competency many ways. "Stakeholder management," "managing stakeholder expectations," and "cross-functional communication" all describe the same skill. Rule-based keyword matching misses the equivalence; BERT's contextual representations let semantic similarity do the work that no static dictionary can.
HR as the pilot
End user and pilot department in the same room. Tight feedback loops, weekly iterations on the taxonomy with the people who would actually use it. Rolling the platform out across all departments at once would have taken years and risked low adoption if the model needed adjustment, which it always does at the start.
Three-way taxonomy
One bucket is a list. Two buckets is a filter. Three buckets is a model. Core / Leadership / Functional gave us enough resolution to talk about a role meaningfully without inviting an argument about every borderline phrase.
Fig. 1. End-to-end NLP pipeline. Each stage produces an artefact a person can audit — the semantic similarity step and the taxonomy are both human-reviewable checkpoints before deployment.
04Challenges
Three things ate most of the time and surprised me in different ways:
Mixed-language text. About a third of the corpus switched languages mid-sentence between Turkish and English. Early embeddings clustered by language, not meaning, which looked plausible and was completely useless until we caught it.
Taxonomy politics. Two people will describe the same job in different words on purpose. The model can surface that, but it cannot resolve it, and it should not try. Sometimes the right answer is a meeting, not an embedding.
The long tail. Around 80% of competencies were covered by a small number of clusters. The remaining 20% were the interesting ones and the hardest to validate. They were also where the value lived, which is the standard pattern for any NLP project of this shape.
What I'd say to my earlier self
Start the review interface on day one, not month three. The modelling improved fastest once HR could see and react to it. The pipeline was, in practical terms, an excuse to give them a better spreadsheet.
05Outcome
The platform was developed into a working HR decision-support prototype for the strategic workforce-planning team, showing how the yearly competency-review process could become more dynamic and evidence-based. A few indicative numbers from the first three months of internal use:
1,043
job descriptions ingested
−62%
review time per role
3×
competency-map refresh rate
Beyond the numbers, the platform gave HR a standardised competency language where none had existed before. Managers and recruiters could now point to the same definitions when discussing the same role, which is the precondition for almost every downstream HR analytics project the team wanted to run.
Fig. 2. The competency explorer HR uses to browse, filter, and assign competencies by tier and role family. Built inside Microsoft 365 — no procurement required, no training overhead.
06What I'd do differently
Three things would make a second pass meaningfully better:
A self-updating pipeline. The current refresh is manual. Re-running automatically whenever new postings or role changes land in SharePoint would let the taxonomy stay genuinely live rather than only at refresh time.
Validation beyond semantic similarity. Embeddings can confirm that two phrases mean the same thing. They cannot confirm that the inferred competency is what the job actually requires. Short structured interviews with role holders, used as ground truth, would close that gap.
Production and engineering as the next pilot. HR already understands competency frameworks. The harder test is rolling the same system out to departments where the vocabulary is more technical and the phrasing less standardised. Until that works, the pilot is the easy half of the job.
The broader lesson I took forward is that the model was the easy part. The work that made the project real was in the seams: understanding how HR would actually use it, choosing infrastructure they could own, and treating the review loop as a collaboration rather than a checkpoint. Most of my best decisions, in hindsight, were subtractions.