← Back to history

Pipeline run

64a015e4-a593-4547-b1e9-702483b17568

Pipeline LLM cost (USD)
API 1: $0.0112 API 2: $0.0002 API 3: $0.0000 Total: $0.0114

Client output enrichment

v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA description
role baseline loaded sources · ai_index: jd · nature_of_work: jd · tech_stack_maturity: jd
Nature of work · Platform stability and error recovery
Build and ship Android app features in Kotlin/MVVM, wiring REST and socket-based chat/live streaming integrations, handling offline storage, threading, and performance tuning, and fixing crashes/bugs to keep the app stable in a fast-moving startup team.
"Excellent understating of app stability improvements like crash fixes, bug fixes etc"
Tech stack maturity
Mainstream Modern
The stack centers on Kotlin, MVVM, REST, Android, and Git, which are widely used in contemporary mobile development but not specifically cloud-native or bleeding-edge.
AI index (0 = no AI use, 5 = totally AI-dependent · v2.1)
0.00 / 5
· Title match
· Has AI skill
· AI skill (primary)
· AI skill (secondary)
· On AI team
· Builds AI products
vocab breakdown (legacy)
Assistants (×1):
Frameworks (×2):
Models / concepts (×3):
Evidence — skills matched in JD (17)
Android Kotlin MVVM REST Git Swift Continuous Integration Offline Storage Threading Multi-threading Sockets Push Notifications App Store Google Play Store Live Streaming Chat Messaging SDKs Data Structures and Algorithms
Skill cluster (6 dimension groups, role-scoped)
Native Mobile Languages
Kotlin Swift
Integration Protocols & Standards
REST
Native Mobile App Architecture and Dependency Injection
MVVM
Networking and API Integration
Sockets
Push Notifications and Deep Links
Push Notifications
Cross-cutting / unaligned
Android Git Continuous Integration Offline Storage Threading Multi-threading App Store Google Play Store Live Streaming Chat Messaging SDKs Data Structures and Algorithms
Show KRA description ↓
• Android Engineer with Experience building and launching products • Structured, process-oriented, and data-driven • Love working in a fast-paced startup environment and a small team — juggling multiple • priorities and making things happen • Flexible team player • Must have uploaded and maintained at least one app in app store/ play store • Excellent understating of app stability improvements like crash fixes, bug fixes etc • Excellent understanding of swift and MVVM design patterns • Familiarity with RESTful APIs to connect applications to back-end services • Experience with offline storage, threading, and performance tuning • Ability to design applications around natural user interfaces, such as “touch", "gestures" • Ability to understand business requirements and translate them into technical requirements • Familiarity with live streaming and chat messaging SDKs • Familiarity with cloud message APIs and push notifications • A knack for benchmarking and optimization • Proficient understanding of code versioning tools, such as Git • Familiarity with continuous integration is a plus • 7 or more years of Android development experience • Strong Kotlin with MVVM patterns • Restful APIs • Live chat with socket • Multi-threading-concurrency • Data Structures and Algorithms

Signals

Skill full-stack-engineer
0.40
Alias native-mobile-developer
1.00
KRA pega-developer
0.55

Post-classification

Centroidupdated · n=104
Alias collision log
New-role queue
New skills captured7
New KRA capturedyes

Captured for admin review

Continuous Integration Native Mobile Developer pending
Offline Storage Native Mobile Developer pending
Multi-threading Native Mobile Developer pending
App Store Native Mobile Developer pending
Live Streaming Native Mobile Developer pending
Chat Messaging SDKs Native Mobile Developer pending
Data Structures and Algorithms Native Mobile Developer pending
R&R fragment (sim 0.00) Native Mobile Developer pending

• Android Engineer with Experience building and launching products • Structured, process-oriented, and data-driven • Love working in a fast-paced startup environment and a small team — juggling multip…

Status: completed Created: 2026-05-27T16:46:10.902567Z Updated: 2026-05-27T16:48:07.694178Z API 3 duration: 49968 ms
Flow Current 3-step pipeline

1 POST /skills/extract-from-jd

2 POST /skills/extract-details

3 POST /skills/final-role-output

Role Chosen role & resolution

Native Mobile Developer

Android Developer

sub-role · 0.96 domain · Software Engineering CASE DOMAIN

slug: native-mobile-developer · id: 75 · source: db · sub-role slug: android-engineer

Domain=Software Engineering → sub-role android-engineer; The JD is clearly for an Android-native mobile app engineer focused on Kotlin, MVVM, app store releases, APIs, concurrency, and mobile stability/performance.

Matched skills

AndroidKotlinMVVMRESTful APIsoffline storagethreadingperformance tuningtouchgesturesGitcontinuous integrationlive streamingchat messaging SDKscloud message APIspush notifications

Matched dimensions

Android app developmentMobile product launch and maintenanceApp stability and crash fixingMobile architecture and design patternsAPI integrationOffline-first mobile engineeringPerformance optimizationMessaging and push notification integration

Matched KRAs

building and launching productsuploaded and maintained at least one appimprove app stability like crash fixestranslate business requirements into technical requirementsdesign applications around natural user interfacesbenchmarking and optimizationcode versioning tools, such as Git

Resolution: in_db — role exists in library; skill↔dim and role↔dim links saved when applicable.

0
New skills
0
Skill↔dim saved
0
Role↔dim saved
3
Skipped

Job description

Who you are:
• Android Engineer with Experience building and launching products
• Structured, process-oriented, and data-driven
• Love working in a fast-paced startup environment and a small team — juggling multiple
• priorities and making things happen
• Flexible team player


Roles & Responsibilities:
• Must have uploaded and maintained at least one app in app store/ play store
• Excellent understating of app stability improvements like crash fixes, bug fixes etc
• Excellent understanding of swift and MVVM design patterns
• Familiarity with RESTful APIs to connect applications to back-end services
• Experience with offline storage, threading, and performance tuning
• Ability to design applications around natural user interfaces, such as “touch", "gestures"
• Ability to understand business requirements and translate them into technical requirements
• Familiarity with live streaming and chat messaging SDKs
• Familiarity with cloud message APIs and push notifications
• A knack for benchmarking and optimization
• Proficient understanding of code versioning tools, such as Git
• Familiarity with continuous integration is a plus


Required Non-Negotiable:
• 7 or more years of Android development experience
• Strong Kotlin with MVVM patterns
• Restful APIs
• Live chat with socket
• Multi-threading-concurrency
• Data Structures and Algorithms

Skills from this JD

Each row merges API 1 extraction, API 2 library match / v3 orchestration (dimensions + locked dims), and API 3 persistence tags.

Android Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Android id=1595 · android

Aliases — catalog

  • Android (CANONICAL)

Context tags (catalog)

API Level Android SDK Android Studio Firebase Gradle Java Jetpack Kotlin LiveData MVVM Material Design RecyclerView Retrofit Room XML

Stored enrichment (catalog DB)

Category
Platform
Sub-category
Mobile Platform
Vendor
Google
License
apache_2
Year introduced
2008
Confidence
0.95
Version strategy
NOT_APPLICABLE

Maturity reasoning: Android appears in large volumes of mobile job postings and remains a standard platform in hiring pipelines; Google continues active platform releases and OEM ecosystem support, indicating broad adoption.

Skill profile (library / DB)

Skill nature
PLATFORM
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
9
Sub-category id
1201
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • React Frontend Development Catalog dimension db id 96

    Library dimension (catalog)

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Kotlin id=2 · kotlin

Aliases — catalog

  • Kotlin (CANONICAL) primary
  • kotlin 1.9 (VERSION)
  • kotlin 1.9.0 (VERSION)
  • kotlin 1.9.1 (VERSION)
  • kotlin 1.9.10 (VERSION)
  • kotlin 1.9.x (VERSION)
  • kotlin-1.9 (VERSION)

Context tags (catalog)

Android Anko Coroutines DSL Dagger Data classes Extension functions Flow Gradle Hilt JUnit Jetpack Jetpack Compose Kotlin DSL Kotlin Native Kotlinx Ktor MVI MVVM Mockito Multiplatform Null safety Retrofit Room RxKotlin Sealed classes Spring Type inference

Stored enrichment (catalog DB)

Category
Language
Sub-category
Programming Language
Vendor
JetBrains
License
apache_2
Year introduced
2011
Confidence
0.99
Version strategy
NOT_APPLICABLE

Maturity reasoning: Kotlin appears in many Android, backend, and multiplatform job postings, and JetBrains reports strong ecosystem growth; it’s a mainstream hiring skill rather than niche.

Skill profile (library / DB)

Skill nature
LANGUAGE
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
6
Sub-category id
96
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Java Language and JVM Catalog dimension db id 279

    Library dimension (catalog)

    Roles linked in library: Java Backend Developer, Kotlin Backend Developer, Scala Backend Developer

  • Kotlin and Java Catalog dimension db id 161

    Library dimension (catalog)

    Roles linked in library: Android Developer

  • Native Mobile Languages Catalog dimension db id 274

    Library dimension (catalog)

    Roles linked in library: Native Mobile Developer

  • Programming Languages Catalog dimension db id 1

    Library dimension (catalog)

    Roles linked in library: Backend Developer, Fullstack Developer, Fullstack Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Java Language and JVM
java-language-and-jvm
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension saved
Programming Languages
programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Swift Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Swift id=440 · swift

Aliases — catalog

  • Swift (CANONICAL) primary
  • Swift 2.0 (VERSION)
  • Swift 2.x (VERSION)
  • Swift 3.0 (VERSION)
  • Swift 3.x (VERSION)
  • Swift 4.0 (VERSION)
  • Swift 4.x (VERSION)
  • Swift 5.0 (VERSION)
  • Swift 5.x (VERSION)
  • Swift 6.0 (VERSION)
  • Swift 6.x (VERSION)

Context tags (catalog)

ARC Cocoa Cocoa Touch CocoaPods Combine Core Data Grand Central Dispatch MVVM Objective-C Optionals SPM Swift Package Manager SwiftUI UIKit Xcode async/await asynchronous programming closure closures error handling iOS Development protocol-oriented programming type safety

Stored enrichment (catalog DB)

Category
Language
Sub-category
Programming Language
Vendor
Apple
License
apache_2
Year introduced
2014
Confidence
0.99
Version strategy
NOT_APPLICABLE

Maturity reasoning: Swift is broadly used for iOS/macOS hiring; job postings commonly list it alongside UIKit/SwiftUI, and Apple continues to invest in it as the primary language for new app development.

Skill profile (library / DB)

Skill nature
LANGUAGE
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
6
Sub-category id
96
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Native Mobile Languages Catalog dimension db id 274

    Library dimension (catalog)

    Roles linked in library: Native Mobile Developer

  • Swift and Objective-C Catalog dimension db id 81

    Library dimension (catalog)

    Roles linked in library: iOS Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension saved
Swift and Objective-C
swift-and-objective-c
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVVM Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: MVVM id=504 · mvvm

Aliases — catalog

  • MVVM (CANONICAL) primary

Context tags (catalog)

Activity Android Architecture Components Caliburn.Micro Data Binding Fragment ICommand Jetpack Compose Kotlin LiveData MVVM Light Observable ObservableCollection ReactiveUI RecyclerView StateFlow SwiftUI Two-way binding UI framework ViewModel WPF XAML command binding command pattern data binding dependency injection event aggregation navigation service platform independence property change notification testability testable UI unit testing view model

Stored enrichment (catalog DB)

Category
Architecture
Sub-category
Presentation Architecture
Confidence
0.95
Version strategy
NOT_APPLICABLE

Maturity reasoning: MVVM is widely used in mobile and desktop JDs, especially Android, WPF, and SwiftUI ecosystems; it remains a common hiring keyword rather than a sunset pattern.

Skill profile (library / DB)

Skill nature
PATTERN
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
1
Sub-category id
662
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • App Architecture and Dependency Injection Catalog dimension db id 94

    Library dimension (catalog)

    Roles linked in library: Android Developer, iOS Developer

  • Mobile Architecture and Code Organization Catalog dimension db id 170

    Library dimension (catalog)

    Roles linked in library: Hybrid Mobile Developer, React Native Developer

  • Native Mobile App Architecture and Dependency Injection Catalog dimension db id 273

    Library dimension (catalog)

    Roles linked in library: Native Mobile Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Mobile Architecture and Code Organization
mobile-architecture-and-code-organization
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Native Mobile App Architecture and Dependency Injection
native-mobile-app-architecture-and-dependency-injection
Existing dimension (library) · Role↔dimension saved
REST Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: REST id=11 · rest

Aliases — catalog

  • REST (CANONICAL) primary

Context tags (catalog)

API API design API versioning CRUD DELETE GET HATEOAS HTTP JSON OAuth OAuth2 OpenAPI POST PUT Postman RESTful Swagger URI Webhooks XML authentication client-server content negotiation endpoint endpoints middleware resource resource-oriented serialization stateless status codes versioning web services

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Api Architecture Style
Year introduced
2000
Confidence
0.88
Version strategy
NOT_APPLICABLE

Maturity reasoning: REST is a default API architecture in many job descriptions and is widely supported by major vendors/frameworks; OpenAPI and RESTful endpoints remain standard in hiring pipelines.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
2122
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • API Design and Contracts Catalog dimension db id 3

    Library dimension (catalog)

    Roles linked in library: Backend Developer, Fullstack Developer, Fullstack Developer

  • API Interface and Contract Design Catalog dimension db id 289

    Library dimension (catalog)

    Roles linked in library: .NET Backend Developer, Go Backend Developer, Kotlin Backend Developer, Node.js Backend Developer, PHP Backend Developer, Python Backend Developer, Ruby Backend Developer, Scala Backend Developer

  • Integration Protocols & Standards Catalog dimension db id 271

    Library dimension (catalog)

    Roles linked in library: Pega Developer

  • Standards, Protocols & Compliance Catalog dimension db id 452

    Library dimension (catalog)

    Roles linked in library: Engineering Manager, Sitecore Dev

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
API Design and Contracts
api-design-and-contracts
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
API Interface and Contract Design
api-interface-and-contract-design
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Integration Protocols & Standards
integration-protocols-standards
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Standards, Protocols & Compliance
standards-protocols-compliance
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Git Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Git id=1002 · git

Aliases — catalog

  • Git (CANONICAL)

Context tags (catalog)

CI/CD GitHub GitLab branching checkout clone commit fork merging pull request rebase remote repository stash versioning

Stored enrichment (catalog DB)

Category
Tool
Sub-category
Version Control Tool
Vendor
Linus Torvalds
License
gpl_v2
Year introduced
2005
Confidence
0.99
Version strategy
NOT_APPLICABLE

Maturity reasoning: Git is a hiring-pipeline staple: it appears in the vast majority of software engineering job descriptions and is the default VCS on GitHub/GitLab/Bitbucket.

Skill profile (library / DB)

Skill nature
TOOL
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
13
Sub-category id
730
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • React Frontend Development Catalog dimension db id 96

    Library dimension (catalog)

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Continuous Integration Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
DevOps Tools
Sub-category
general
Skill nature
PRACTICE
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Offline Storage Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Data Engineering Tools
Sub-category
general
Skill nature
CONCEPT
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Threading Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: threading id=2349 · threading

Aliases — catalog

  • threading (CANONICAL) primary

Context tags (catalog)

GIL asynchronous concurrent programming context switching deadlock lock-free multithreading mutex parallelism race condition semaphore synchronization task scheduling thread pool thread-safe

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Concurrency Concept
Confidence
0.93
Version strategy
NOT_APPLICABLE

Maturity reasoning: Threading is a core concurrency concept in most mainstream languages and appears routinely in job descriptions for backend, systems, and desktop roles; it’s a standard interview topic rather than a niche tool.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
7
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Concurrency and Async Workflows Catalog dimension db id 292

    Library dimension (catalog)

    Roles linked in library: .NET Backend Developer, Python Backend Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Concurrency and Async Workflows
concurrency-and-async-workflows
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Multi-threading Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: multithreading id=82 · multithreading

Aliases — catalog

  • multithreading (CANONICAL) primary

Context tags (catalog)

atomic operations concurrent execution condition variable deadlock lock contention mutex non-blocking parallelism producer-consumer race condition semaphore synchronization thread pool thread-safe work stealing

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Concurrency Concept
Confidence
0.94
Version strategy
NOT_APPLICABLE

Maturity reasoning: Common requirement in JDs for backend, systems, and mobile roles; widely taught and used across Java, C++, Go, and Python concurrency stacks.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
7
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Concurrency and Parallel Processing Catalog dimension db id 17

    Library dimension (catalog)

    Roles linked in library: Backend Developer, Java Backend Developer, Node.js Backend Developer, Ruby Backend Developer, Scala Backend Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Concurrency and Parallel Processing
concurrency-and-parallel-processing
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
Sockets Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Sockets id=1604 · sockets

Aliases — catalog

  • Sockets (CANONICAL)

Context tags (catalog)

TCP UDP accept address family bind client-server model listen network protocols non-blocking poll recv select send socket options socket programming socket types

Stored enrichment (catalog DB)

Category
Protocol
Sub-category
Network Socket Api
Confidence
0.90
Version strategy
NOT_APPLICABLE

Maturity reasoning: Core OS/networking API used across backend and systems roles; appears routinely in job descriptions for network programming and is foundational in Python, Java, C/C++, and Go ecosystems.

Skill profile (library / DB)

Skill nature
PROTOCOL
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
10
Sub-category id
1208
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Networking and API Integration Catalog dimension db id 84

    Library dimension (catalog)

    Roles linked in library: Android Developer, Hybrid Mobile Developer, Native Mobile Developer, iOS Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Networking and API Integration
networking-and-api-integration
Existing dimension (library) · Role↔dimension saved
Push Notifications Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: push notifications id=1605 · push-notifications

Aliases — catalog

  • push notifications (CANONICAL) primary
  • Push Notifications (CANONICAL)

Context tags (catalog)

A/B testing APNs Firebase Cloud Messaging analytics background updates delivery tracking message queue mobile push notification center notification channels notification payload opt-in push analytics real-time updates rich notifications scheduling service workers subscription model user engagement user segmentation web push

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Notification Delivery Concept
Confidence
0.88
Version strategy
NOT_APPLICABLE

Maturity reasoning: Push notifications are a standard mobile/web capability and appear routinely in JDs for iOS, Android, and frontend roles; major vendors like Apple APNs and Firebase Cloud Messaging actively support them.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
2134
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Background Execution and Lifecycle Catalog dimension db id 87

    Library dimension (catalog)

    Roles linked in library: Hybrid Mobile Developer, React Native Developer, iOS Developer

  • Push Notifications and Deep Links Catalog dimension db id 320

    Library dimension (catalog)

    Roles linked in library: Ionic Developer, React Native Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Background Execution and Lifecycle
background-execution-and-lifecycle
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Push Notifications and Deep Links
push-notifications-and-deep-links
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
App Store Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Apple App Store id=1085 · apple-app-store

Aliases — catalog

  • Apple App Store (CANONICAL) primary

Context tags (catalog)

App Analytics App Review Guidelines App Store Connect App Store Optimization App Store listing SwiftUI TestFlight UI/UX design Xcode beta testing iOS distribution iTunes Connect in-app purchases monetization strategies user engagement

Stored enrichment (catalog DB)

Category
Platform
Sub-category
App Distribution Platform
Vendor
Apple Inc.
License
proprietary
Year introduced
2008
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: Broadly used app distribution platform; App Store review and release management appear in many iOS job descriptions and are a standard requirement for shipping Apple apps.

Skill profile (library / DB)

Skill nature
PLATFORM
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
9
Sub-category id
347
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Mobile Vendor Platforms Catalog dimension db id 172

    Library dimension (catalog)

    Roles linked in library: Hybrid Mobile Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Mobile Vendor Platforms
mobile-vendor-platforms
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
Google Play Store Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Google Play Store id=1086 · google-play-store

Aliases — catalog

  • Google Play Store (CANONICAL) primary

Context tags (catalog)

APK ASO Android apps Google Play Console Play Store policies analytics app distribution app monetization app optimization app updates beta testing developer account in-app purchases user acquisition user reviews

Stored enrichment (catalog DB)

Category
Platform
Sub-category
App Distribution Platform
Vendor
Google
License
proprietary
Year introduced
2012
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: Google Play Store is a standard Android app distribution channel and appears in many mobile app JDs for release, publishing, and store optimization; it remains the default marketplace rather than a niche tool.

Skill profile (library / DB)

Skill nature
PLATFORM
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
9
Sub-category id
347
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Mobile Vendor Platforms Catalog dimension db id 172

    Library dimension (catalog)

    Roles linked in library: Hybrid Mobile Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Mobile Vendor Platforms
mobile-vendor-platforms
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Live Streaming Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Web Frameworks
Sub-category
general
Skill nature
CONCEPT
Volatility
FAST
Typical lifespan
SHORT_LIVED
Version strategy
VERSIONED
Chat Messaging SDKs Secondary New / orchestrated API 3: new canonical path (new) New / unmatched skill (orchestrated in API 2)

Skill enrichment (orchestrator / LLM)

No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).

Derived legacy fields
Category
Communication Tools
Sub-category
general
Skill nature
TOOL
Volatility
FAST
Typical lifespan
SHORT_LIVED
Version strategy
VERSIONED
Data Structures and Algorithms Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Data Structures id=1003 · data-structures

Aliases — catalog

  • Data Structures (CANONICAL)

Context tags (catalog)

Big O notation arrays binary search complexity analysis dynamic programming graphs hash tables linked lists memory management queues recursion searching algorithms sorting algorithms stacks trees

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Data Structures
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: Core CS concept in nearly all software engineering JDs and interview loops; widely taught and expected across roles, with no sunset or replacement signal.

Skill profile (library / DB)

Skill nature
CONCEPT
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
2
Sub-category id
731
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • React Frontend Development Catalog dimension db id 96

    Library dimension (catalog)

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
React Frontend Development
d_init_01
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed

All API 3 persistence rows

Same grid as the skill-extractor “Persistence items” table: one row per (skill × dimension) work item.

Skill Tag Dimension Skill↔dim Role↔dim Outcome Notes
Android in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin in_db
Java Language and JVM
java-language-and-jvm
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin in_db
Kotlin and Java
kotlin-and-java
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Kotlin in_db
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension saved
Kotlin in_db
Programming Languages
programming-languages
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Swift in_db
Native Mobile Languages
native-mobile-languages
Existing dimension (library) · Role↔dimension saved
Swift in_db
Swift and Objective-C
swift-and-objective-c
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVVM in_db
App Architecture and Dependency Injection
app-architecture-and-dependency-injection
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVVM in_db
Mobile Architecture and Code Organization
mobile-architecture-and-code-organization
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
MVVM in_db
Native Mobile App Architecture and Dependency Injection
native-mobile-app-architecture-and-dependency-injection
Existing dimension (library) · Role↔dimension saved
REST in_db
API Design and Contracts
api-design-and-contracts
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
REST in_db
API Interface and Contract Design
api-interface-and-contract-design
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
REST in_db
Integration Protocols & Standards
integration-protocols-standards
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
REST in_db
Standards, Protocols & Compliance
standards-protocols-compliance
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Git in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Threading in_db
Concurrency and Async Workflows
concurrency-and-async-workflows
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Multi-threading new
Concurrency and Parallel Processing
concurrency-and-parallel-processing
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed
Sockets in_db
Networking and API Integration
networking-and-api-integration
Existing dimension (library) · Role↔dimension saved
Push Notifications in_db
Background Execution and Lifecycle
background-execution-and-lifecycle
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Push Notifications in_db
Push Notifications and Deep Links
push-notifications-and-deep-links
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
App Store new
Mobile Vendor Platforms
mobile-vendor-platforms
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed
Google Play Store in_db
Mobile Vendor Platforms
mobile-vendor-platforms
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Data Structures and Algorithms new
React Frontend Development
d_init_01
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed

Library artifacts (this run)

Kind Detail DB id
canonical_skill_proposed Continuous Integration | type=DevOps Tools subtype=general nature=PRACTICE lifespan=MULTI_YEAR
canonical_skill_proposed Offline Storage | type=Data Engineering Tools subtype=general nature=CONCEPT lifespan=MULTI_YEAR
canonical_skill_proposed Live Streaming | type=Web Frameworks subtype=general nature=CONCEPT lifespan=SHORT_LIVED
canonical_skill_proposed Chat Messaging SDKs | type=Communication Tools subtype=general nature=TOOL lifespan=SHORT_LIVED
dimension_skill_link_proposed Multi-threading ↔ Concurrency and Parallel Processing
dimension_skill_link_proposed App Store ↔ Mobile Vendor Platforms
dimension_skill_link_proposed Data Structures and Algorithms ↔ React Frontend Development
nano JD Parser — gpt-4.1-nano click to toggle
RoleAndroid Engineer
Experience7 or more years of Android development experience
DomainOther
JD type pass
Show raw JSON
{
  "JD_type": "pass",
  "about_company": null,
  "certifications": [],
  "company_name": null,
  "ctc": null,
  "domain": {
    "primary": {
      "aliases": [],
      "domain": "Other"
    },
    "secondary": null
  },
  "education": [],
  "experience": {
    "max": null,
    "min": 7,
    "raw": "7 or more years of Android development experience"
  },
  "job_locations": [],
  "role": "Android Engineer",
  "role_aliases": [
    "Android Developer",
    "Mobile Developer",
    "Android Software Engineer"
  ],
  "role_archetype": "Engineering",
  "roles_and_responsibilities": [
    {
      "bullet_count": 5,
      "heading": "Who you are",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "\u2022 Android Engineer with Experience",
        "last_5_words": "and making things happen"
      },
      "text": "\u2022 Android Engineer with Experience building and launching products\n\u2022 Structured, process-oriented, and data-driven\n\u2022 Love working in a fast-paced startup environment and a small team \u2014 juggling multiple\n\u2022 priorities and making things happen\n\u2022 Flexible team player",
      "word_count": 47
    },
    {
      "bullet_count": 12,
      "heading": "Roles \u0026 Responsibilities",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "\u2022 Must have uploaded and maintained",
        "last_5_words": "is a plus"
      },
      "text": "\u2022 Must have uploaded and maintained at least one app in app store/ play store\n\u2022 Excellent understating of app stability improvements like crash fixes, bug fixes etc\n\u2022 Excellent understanding of swift and MVVM design patterns\n\u2022 Familiarity with RESTful APIs to connect applications to back-end services\n\u2022 Experience with offline storage, threading, and performance tuning\n\u2022 Ability to design applications around natural user interfaces, such as \u201ctouch\", \"gestures\"\n\u2022 Ability to understand business requirements and translate them into technical requirements\n\u2022 Familiarity with live streaming and chat messaging SDKs\n\u2022 Familiarity with cloud message APIs and push notifications\n\u2022 A knack for benchmarking and optimization\n\u2022 Proficient understanding of code versioning tools, such as Git\n\u2022 Familiarity with continuous integration is a plus",
      "word_count": 139
    },
    {
      "bullet_count": 6,
      "heading": "Required Non-Negotiable",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "\u2022 7 or more years of",
        "last_5_words": "Structures and Algorithms"
      },
      "text": "\u2022 7 or more years of Android development experience\n\u2022 Strong Kotlin with MVVM patterns\n\u2022 Restful APIs\n\u2022 Live chat with socket\n\u2022 Multi-threading-concurrency\n\u2022 Data Structures and Algorithms",
      "word_count": 30
    }
  ],
  "urls": []
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "Android"
    },
    {
      "is_primary": true,
      "skill_name": "Kotlin"
    },
    {
      "is_primary": false,
      "skill_name": "Swift"
    },
    {
      "is_primary": true,
      "skill_name": "MVVM"
    },
    {
      "is_primary": true,
      "skill_name": "REST"
    },
    {
      "is_primary": true,
      "skill_name": "Git"
    },
    {
      "is_primary": false,
      "skill_name": "Continuous Integration"
    },
    {
      "is_primary": false,
      "skill_name": "Offline Storage"
    },
    {
      "is_primary": false,
      "skill_name": "Threading"
    },
    {
      "is_primary": false,
      "skill_name": "Multi-threading"
    },
    {
      "is_primary": false,
      "skill_name": "Sockets"
    },
    {
      "is_primary": false,
      "skill_name": "Push Notifications"
    },
    {
      "is_primary": false,
      "skill_name": "App Store"
    },
    {
      "is_primary": false,
      "skill_name": "Google Play Store"
    },
    {
      "is_primary": false,
      "skill_name": "Live Streaming"
    },
    {
      "is_primary": false,
      "skill_name": "Chat Messaging SDKs"
    },
    {
      "is_primary": false,
      "skill_name": "Data Structures and Algorithms"
    }
  ],
  "jd_role": {
    "display_name": "Android Engineer",
    "rationale": null,
    "role_aliases": [
      "Android Developer",
      "Mobile Developer",
      "Android Software Engineer"
    ],
    "role_archetype": "Engineering",
    "slug": ""
  },
  "nano_parsed": {
    "JD_type": "pass",
    "about_company": null,
    "certifications": [],
    "company_name": null,
    "ctc": null,
    "domain": {
      "primary": {
        "aliases": [],
        "domain": "Other"
      },
      "secondary": null
    },
    "education": [],
    "experience": {
      "max": null,
      "min": 7,
      "raw": "7 or more years of Android development experience"
    },
    "job_locations": [],
    "role": "Android Engineer",
    "role_aliases": [
      "Android Developer",
      "Mobile Developer",
      "Android Software Engineer"
    ],
    "role_archetype": "Engineering",
    "roles_and_responsibilities": [
      {
        "bullet_count": 5,
        "heading": "Who you are",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "\u2022 Android Engineer with Experience",
          "last_5_words": "and making things happen"
        },
        "text": "\u2022 Android Engineer with Experience building and launching products\n\u2022 Structured, process-oriented, and data-driven\n\u2022 Love working in a fast-paced startup environment and a small team \u2014 juggling multiple\n\u2022 priorities and making things happen\n\u2022 Flexible team player",
        "word_count": 47
      },
      {
        "bullet_count": 12,
        "heading": "Roles \u0026 Responsibilities",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "\u2022 Must have uploaded and maintained",
          "last_5_words": "is a plus"
        },
        "text": "\u2022 Must have uploaded and maintained at least one app in app store/ play store\n\u2022 Excellent understating of app stability improvements like crash fixes, bug fixes etc\n\u2022 Excellent understanding of swift and MVVM design patterns\n\u2022 Familiarity with RESTful APIs to connect applications to back-end services\n\u2022 Experience with offline storage, threading, and performance tuning\n\u2022 Ability to design applications around natural user interfaces, such as \u201ctouch\", \"gestures\"\n\u2022 Ability to understand business requirements and translate them into technical requirements\n\u2022 Familiarity with live streaming and chat messaging SDKs\n\u2022 Familiarity with cloud message APIs and push notifications\n\u2022 A knack for benchmarking and optimization\n\u2022 Proficient understanding of code versioning tools, such as Git\n\u2022 Familiarity with continuous integration is a plus",
        "word_count": 139
      },
      {
        "bullet_count": 6,
        "heading": "Required Non-Negotiable",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "\u2022 7 or more years of",
          "last_5_words": "Structures and Algorithms"
        },
        "text": "\u2022 7 or more years of Android development experience\n\u2022 Strong Kotlin with MVVM patterns\n\u2022 Restful APIs\n\u2022 Live chat with socket\n\u2022 Multi-threading-concurrency\n\u2022 Data Structures and Algorithms",
        "word_count": 30
      }
    ],
    "urls": []
  },
  "rejected": false,
  "rejection_reason": null,
  "run_id": "64a015e4-a593-4547-b1e9-702483b17568",
  "stage3_signals": {
    "alias_found": true,
    "alias_match_roles": [
      {
        "display_name": "Native Mobile Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 75,
        "score": 1.0,
        "slug": "native-mobile-developer",
        "total_count": null
      },
      {
        "display_name": "Android Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 4,
        "score": 1.0,
        "slug": "android-engineer",
        "total_count": null
      }
    ],
    "kra_match_roles": [
      {
        "display_name": "Pega Developer",
        "kra_matches": [
          {
            "kra_text": "Requirements analysis and process translation",
            "sentence": "Ability to understand business requirements and translate them into technical requirements",
            "similarity": 0.6255
          },
          {
            "kra_text": "user interaction design and refinement",
            "sentence": "Ability to design applications around natural user interfaces, such as \u201ctouch\", \"gestures\"",
            "similarity": 0.5613
          },
          {
            "kra_text": "flow, rule, and integration testing",
            "sentence": "Structured, process-oriented, and data-driven",
            "similarity": 0.4489
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 24,
        "score": 0.5453,
        "slug": "pega-developer",
        "total_count": null
      },
      {
        "display_name": "Flutter Developer",
        "kra_matches": [
          {
            "kra_text": "translate product and design requirements",
            "sentence": "Ability to understand business requirements and translate them into technical requirements",
            "similarity": 0.5634
          },
          {
            "kra_text": "optimize responsiveness and performance",
            "sentence": "A knack for benchmarking and optimization",
            "similarity": 0.5089
          },
          {
            "kra_text": "Implement user-facing screens and flows",
            "sentence": "Ability to design applications around natural user interfaces, such as \u201ctouch\", \"gestures\"",
            "similarity": 0.4728
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 74,
        "score": 0.515,
        "slug": "flutter-developer",
        "total_count": null
      },
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": [
          {
            "kra_text": "Adapts shared UI codebase to handle platform-specific constraints including different navigation paradigms, gesture behaviors, and OS-level UI patterns.",
            "sentence": "Ability to design applications around natural user interfaces, such as \u201ctouch\", \"gestures\"",
            "similarity": 0.5442
          },
          {
            "kra_text": "Manages build configurations, code signing certificates, and app store release submissions for both Google Play and Apple App Store.",
            "sentence": "Must have uploaded and maintained at least one app in app store/ play store",
            "similarity": 0.5299
          },
          {
            "kra_text": "Manages build configurations, code signing certificates, and app store release submissions for both Google Play and Apple App Store.",
            "sentence": "Android Engineer with Experience building and launching products",
            "similarity": 0.4599
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 11,
        "score": 0.5113,
        "slug": "hybrid-mobile-developer",
        "total_count": null
      },
      {
        "display_name": "iOS Developer",
        "kra_matches": [
          {
            "kra_text": "Manages reactive state updates, view model bindings, and UI logic using Combine, RxSwift, or Swift Concurrency async/await patterns.",
            "sentence": "Excellent understanding of swift and MVVM design patterns",
            "similarity": 0.5491
          },
          {
            "kra_text": "Develops native iOS features using Swift or Objective-C with UIKit or SwiftUI, following Apple Human Interface Guidelines for iPhone and iPad applications.",
            "sentence": "Ability to design applications around natural user interfaces, such as \u201ctouch\", \"gestures\"",
            "similarity": 0.4888
          },
          {
            "kra_text": "Diagnoses and fixes iOS-specific defects including memory retain cycles, Auto Layout constraint conflicts, and device-model compatibility issues.",
            "sentence": "Excellent understating of app stability improvements like crash fixes, bug fixes etc",
            "similarity": 0.482
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 6,
        "score": 0.5066,
        "slug": "ios-engineer",
        "total_count": null
      },
      {
        "display_name": "Java Backend Developer",
        "kra_matches": [
          {
            "kra_text": "persistence and data modeling",
            "sentence": "Structured, process-oriented, and data-driven",
            "similarity": 0.5115
          },
          {
            "kra_text": "backend performance tuning",
            "sentence": "A knack for benchmarking and optimization",
            "similarity": 0.5098
          },
          {
            "kra_text": "code refactoring and defect fixes",
            "sentence": "Excellent understating of app stability improvements like crash fixes, bug fixes etc",
            "similarity": 0.4786
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 79,
        "score": 0.4999,
        "slug": "java-backend-developer",
        "total_count": null
      }
    ],
    "skill_match_roles": [
      {
        "display_name": "Fullstack Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Kotlin",
          "REST"
        ],
        "role_id": 15,
        "score": 0.4,
        "slug": "full-stack-engineer",
        "total_count": 5
      },
      {
        "display_name": "Native Mobile Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Kotlin",
          "MVVM"
        ],
        "role_id": 75,
        "score": 0.4,
        "slug": "native-mobile-developer",
        "total_count": 5
      },
      {
        "display_name": "Backend Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Kotlin",
          "REST"
        ],
        "role_id": 1,
        "score": 0.4,
        "slug": "backend-engineer",
        "total_count": 5
      },
      {
        "display_name": "Android Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Kotlin",
          "MVVM"
        ],
        "role_id": 4,
        "score": 0.4,
        "slug": "android-engineer",
        "total_count": 5
      },
      {
        "display_name": "Kotlin Backend Developer",
        "kra_matches": null,
        "matched_count": 2,
        "matched_skills": [
          "Kotlin",
          "REST"
        ],
        "role_id": 84,
        "score": 0.4,
        "slug": "kotlin-server-backend-developer",
        "total_count": 5
      }
    ]
  },
  "stage4_decision": {
    "alias_collision_detected": false,
    "case": "DOMAIN",
    "chosen_role": {
      "display_name": "Native Mobile Developer",
      "kra_matches": null,
      "matched_count": null,
      "matched_skills": null,
      "role_id": 75,
      "score": 0.98,
      "slug": "native-mobile-developer",
      "total_count": null
    },
    "confidence": 0.98,
    "is_new_role": false,
    "llm2_fired": false,
    "llm2_reasoning": null,
    "matched_dimensions": [
      "Android app development",
      "Mobile product launch and maintenance",
      "App stability and crash fixing",
      "Mobile architecture and design patterns",
      "API integration",
      "Offline-first mobile engineering",
      "Performance optimization",
      "Messaging and push notification integration"
    ],
    "matched_kras": [
      "building and launching products",
      "uploaded and maintained at least one app",
      "improve app stability like crash fixes",
      "translate business requirements into technical requirements",
      "design applications around natural user interfaces",
      "benchmarking and optimization",
      "code versioning tools, such as Git"
    ],
    "matched_skills": [
      "Android",
      "Kotlin",
      "MVVM",
      "RESTful APIs",
      "offline storage",
      "threading",
      "performance tuning",
      "touch",
      "gestures",
      "Git",
      "continuous integration",
      "live streaming",
      "chat messaging SDKs",
      "cloud message APIs",
      "push notifications"
    ],
    "new_role_display_name": null,
    "new_role_slug": null,
    "queued": false,
    "reasoning": "Domain=Software Engineering \u2192 sub-role android-engineer; The JD is clearly for an Android-native mobile app engineer focused on Kotlin, MVVM, app store releases, APIs, concurrency, and mobile stability/performance.",
    "sub_role": {
      "confidence": 0.96,
      "display_name": "Android Developer",
      "reasoning": "The JD is explicitly Android-focused with strong Kotlin, Android app store maintenance, and Android development experience, while the Swift mention appears incidental rather than dominant.",
      "role_id": 4,
      "slug": "android-engineer"
    }
  },
  "stage5_updates": {
    "centroid_n_after": 104,
    "centroid_updated": true,
    "collision_log_id": null,
    "new_kra_attached": {
      "best_kra_similarity": 0.0,
      "queue_id": 1660,
      "r_and_r_preview": "\u2022 Android Engineer with Experience building and launching products\n\u2022 Structured, process-oriented, and data-driven\n\u2022 Love working in a fast-paced startup environment and a small team \u2014 juggling multip",
      "role_display_name": "Native Mobile Developer",
      "role_slug": "native-mobile-developer",
      "status": "pending"
    },
    "new_skills_attached": [
      {
        "is_primary": false,
        "queue_id": 21985,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "Continuous Integration",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 21986,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "Offline Storage",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 21987,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "Multi-threading",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 21988,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "App Store",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 21989,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "Live Streaming",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 21990,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "Chat Messaging SDKs",
        "status": "pending"
      },
      {
        "is_primary": false,
        "queue_id": 21991,
        "role_display_name": "Native Mobile Developer",
        "role_slug": "native-mobile-developer",
        "skill_name": "Data Structures and Algorithms",
        "status": "pending"
      }
    ],
    "queue_entry_id": null,
    "v3_pipeline_triggered": false,
    "v3_role_slug": null,
    "v3_run_id": null
  }
}
API 2 — extract-details
{
  "alias_matches": [
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 2541,
      "existing_alias_text": "Android",
      "input_term": "Android",
      "matched_canonical": {
        "category_id": 9,
        "display_name": "Android",
        "id": 1595,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "android",
        "sub_category_id": 1201,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 24,
      "existing_alias_text": "Kotlin",
      "input_term": "Kotlin",
      "matched_canonical": {
        "category_id": 6,
        "display_name": "Kotlin",
        "id": 2,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "kotlin",
        "sub_category_id": 96,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 756,
      "existing_alias_text": "Swift",
      "input_term": "Swift",
      "matched_canonical": {
        "category_id": 6,
        "display_name": "Swift",
        "id": 440,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "swift",
        "sub_category_id": 96,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 830,
      "existing_alias_text": "MVVM",
      "input_term": "MVVM",
      "matched_canonical": {
        "category_id": 1,
        "display_name": "MVVM",
        "id": 504,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PATTERN",
        "slug": "mvvm",
        "sub_category_id": 662,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 106,
      "existing_alias_text": "REST",
      "input_term": "REST",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "REST",
        "id": 11,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "rest",
        "sub_category_id": 2122,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 1613,
      "existing_alias_text": "Git",
      "input_term": "Git",
      "matched_canonical": {
        "category_id": 13,
        "display_name": "Git",
        "id": 1002,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "git",
        "sub_category_id": 730,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 3639,
      "existing_alias_text": "threading",
      "input_term": "Threading",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "threading",
        "id": 2349,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "threading",
        "sub_category_id": 7,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
      "alias_persisted": false,
      "existing_alias_id": 223,
      "existing_alias_text": "multithreading",
      "input_term": "Multi-threading",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "multithreading",
        "id": 82,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "multithreading",
        "sub_category_id": 7,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "embedding_alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 2556,
      "existing_alias_text": "Sockets",
      "input_term": "Sockets",
      "matched_canonical": {
        "category_id": 10,
        "display_name": "Sockets",
        "id": 1604,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PROTOCOL",
        "slug": "sockets",
        "sub_category_id": 1208,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 2557,
      "existing_alias_text": "Push Notifications",
      "input_term": "Push Notifications",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "push notifications",
        "id": 1605,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "push-notifications",
        "sub_category_id": 2134,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
      "alias_persisted": false,
      "existing_alias_id": 1711,
      "existing_alias_text": "Apple App Store",
      "input_term": "App Store",
      "matched_canonical": {
        "category_id": 9,
        "display_name": "Apple App Store",
        "id": 1085,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "apple-app-store",
        "sub_category_id": 347,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "embedding_alias"
    },
    {
      "alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
      "alias_persisted": false,
      "existing_alias_id": 1712,
      "existing_alias_text": "Google Play Store",
      "input_term": "Google Play Store",
      "matched_canonical": {
        "category_id": 9,
        "display_name": "Google Play Store",
        "id": 1086,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "google-play-store",
        "sub_category_id": 347,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    },
    {
      "alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
      "alias_persisted": false,
      "existing_alias_id": 1614,
      "existing_alias_text": "Data Structures",
      "input_term": "Data Structures and Algorithms",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "Data Structures",
        "id": 1003,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "data-structures",
        "sub_category_id": 731,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "embedding_alias"
    }
  ],
  "candidate_roles": [
    {
      "display_name": "Java Backend Developer",
      "id": 79,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "java-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Kotlin Backend Developer",
      "id": 84,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "kotlin-server-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Scala Backend Developer",
      "id": 87,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "scala-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Android Developer",
      "id": 4,
      "rationale": null,
      "role_archetype": null,
      "slug": "android-engineer",
      "source": "db"
    },
    {
      "display_name": "Native Mobile Developer",
      "id": 75,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "native-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "Backend Developer",
      "id": 1,
      "rationale": null,
      "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
      "slug": "backend-engineer",
      "source": "db"
    },
    {
      "display_name": "Fullstack Developer",
      "id": 435,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "fullstack-developer",
      "source": "db"
    },
    {
      "display_name": "Fullstack Developer",
      "id": 15,
      "rationale": null,
      "role_archetype": null,
      "slug": "full-stack-engineer",
      "source": "db"
    },
    {
      "display_name": "iOS Developer",
      "id": 6,
      "rationale": null,
      "role_archetype": null,
      "slug": "ios-engineer",
      "source": "db"
    },
    {
      "display_name": "Hybrid Mobile Developer",
      "id": 11,
      "rationale": null,
      "role_archetype": null,
      "slug": "hybrid-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "React Native Developer",
      "id": 73,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "react-native-developer",
      "source": "db"
    },
    {
      "display_name": ".NET Backend Developer",
      "id": 83,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "dotnet-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Go Backend Developer",
      "id": 81,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "go-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Node.js Backend Developer",
      "id": 82,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "node-backend-developer",
      "source": "db"
    },
    {
      "display_name": "PHP Backend Developer",
      "id": 86,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "php-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Python Backend Developer",
      "id": 80,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "python-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Ruby Backend Developer",
      "id": 85,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "ruby-backend-developer",
      "source": "db"
    },
    {
      "display_name": "Pega Developer",
      "id": 24,
      "rationale": null,
      "role_archetype": null,
      "slug": "pega-developer",
      "source": "db"
    },
    {
      "display_name": "Engineering Manager",
      "id": 121,
      "rationale": null,
      "role_archetype": null,
      "slug": "engineering-manager",
      "source": "db"
    },
    {
      "display_name": "Sitecore Dev",
      "id": 233,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "sitecore-dev",
      "source": "db"
    },
    {
      "display_name": "Ionic Developer",
      "id": 434,
      "rationale": null,
      "role_archetype": null,
      "slug": "ionic-developer",
      "source": "db"
    }
  ],
  "chosen_role": {
    "display_name": "Native Mobile Developer",
    "id": 75,
    "rationale": "Domain=Software Engineering \u2192 sub-role android-engineer; The JD is clearly for an Android-native mobile app engineer focused on Kotlin, MVVM, app store releases, APIs, concurrency, and mobile stability/performance.",
    "role_archetype": "Engineering",
    "slug": "native-mobile-developer",
    "source": "db"
  },
  "dimensions": [
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "React Frontend Development",
        "id": 96,
        "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
        "slug": "d_init_01",
        "source": "db"
      },
      "input_skill": "Android",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Java Language and JVM",
        "id": 279,
        "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
        "slug": "java-language-and-jvm",
        "source": "db"
      },
      "input_skill": "Kotlin",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Java Backend Developer",
          "id": 79,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "java-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Kotlin Backend Developer",
          "id": 84,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "kotlin-server-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Scala Backend Developer",
          "id": 87,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "scala-backend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Kotlin and Java",
        "id": 161,
        "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
        "slug": "kotlin-and-java",
        "source": "db"
      },
      "input_skill": "Kotlin",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Native Mobile Languages",
        "id": 274,
        "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
        "slug": "native-mobile-languages",
        "source": "db"
      },
      "input_skill": "Kotlin",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Native Mobile Developer",
          "id": 75,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "native-mobile-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Programming Languages",
        "id": 1,
        "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
        "slug": "programming-languages",
        "source": "db"
      },
      "input_skill": "Kotlin",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Developer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
          "slug": "backend-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 435,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "fullstack-developer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Native Mobile Languages",
        "id": 274,
        "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
        "slug": "native-mobile-languages",
        "source": "db"
      },
      "input_skill": "Swift",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Native Mobile Developer",
          "id": 75,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "native-mobile-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Swift and Objective-C",
        "id": 81,
        "rationale": "Primary implementation languages for native iOS app features, platform APIs, and client-side business logic. This is the core coding surface for building and maintaining iPhone and iPad experiences.",
        "slug": "swift-and-objective-c",
        "source": "db"
      },
      "input_skill": "Swift",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "App Architecture and Dependency Injection",
        "id": 94,
        "rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
        "slug": "app-architecture-and-dependency-injection",
        "source": "db"
      },
      "input_skill": "MVVM",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        },
        {
          "display_name": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Mobile Architecture and Code Organization",
        "id": 170,
        "rationale": "Structural patterns used to organize shared mobile code into maintainable modules, layers, and feature boundaries. Senior hybrid developers often own these patterns to keep cross-platform code testable and adaptable to platform exceptions.",
        "slug": "mobile-architecture-and-code-organization",
        "source": "db"
      },
      "input_skill": "MVVM",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "React Native Developer",
          "id": 73,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-native-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Native Mobile App Architecture and Dependency Injection",
        "id": 273,
        "rationale": "Structural patterns for organizing native mobile application code into maintainable, testable modules, layers, and feature boundaries. This includes app architecture patterns such as MVVM, MVC, MVI, VIPER, and Clean Architecture; dependency injection frameworks and patterns such as Hilt, Dagger, and Koin; and code organization techniques such as modularization, feature modules, repository pattern, and use-case layering to separate UI, state, data, and platform concerns across a growing codebase.",
        "slug": "native-mobile-app-architecture-and-dependency-injection",
        "source": "db"
      },
      "input_skill": "MVVM",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Native Mobile Developer",
          "id": 75,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "native-mobile-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "API Design and Contracts",
        "id": 3,
        "rationale": "Designing request/response shapes and the rules that govern client-server interaction. This cluster is coherent because full stack engineers often own the contract between UI behavior and backend implementation.",
        "slug": "api-design-and-contracts",
        "source": "db"
      },
      "input_skill": "REST",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Developer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
          "slug": "backend-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 435,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "fullstack-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "API Interface and Contract Design",
        "id": 289,
        "rationale": "Designing backend service interfaces and contracts that other systems consume, including endpoint and operation shape, request/response payloads, schema and validation, pagination, filtering, idempotency, versioning, status codes, and backward compatibility across REST, GraphQL, gRPC, and OpenAPI-based APIs.",
        "slug": "api-interface-and-contract-design",
        "source": "db"
      },
      "input_skill": "REST",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": ".NET Backend Developer",
          "id": 83,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "dotnet-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Go Backend Developer",
          "id": 81,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "go-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Kotlin Backend Developer",
          "id": 84,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "kotlin-server-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Node.js Backend Developer",
          "id": 82,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "node-backend-developer",
          "source": "db"
        },
        {
          "display_name": "PHP Backend Developer",
          "id": 86,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "php-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Python Backend Developer",
          "id": 80,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "python-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Ruby Backend Developer",
          "id": 85,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "ruby-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Scala Backend Developer",
          "id": 87,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "scala-backend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Integration Protocols \u0026 Standards",
        "id": 271,
        "rationale": "Standards and protocols for integrating Pega applications.",
        "slug": "integration-protocols-standards",
        "source": "db"
      },
      "input_skill": "REST",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Pega Developer",
          "id": 24,
          "rationale": null,
          "role_archetype": null,
          "slug": "pega-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Standards, Protocols \u0026 Compliance",
        "id": 452,
        "rationale": "Ensure teams adhere to industry standards, security protocols, and regulatory compliance requirements.",
        "slug": "standards-protocols-compliance",
        "source": "db"
      },
      "input_skill": "REST",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Engineering Manager",
          "id": 121,
          "rationale": null,
          "role_archetype": null,
          "slug": "engineering-manager",
          "source": "db"
        },
        {
          "display_name": "Sitecore Dev",
          "id": 233,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "sitecore-dev",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "React Frontend Development",
        "id": 96,
        "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
        "slug": "d_init_01",
        "source": "db"
      },
      "input_skill": "Git",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Concurrency and Async Workflows",
        "id": 292,
        "rationale": "Programming techniques for handling concurrent requests, asynchronous I/O, and coordination of background execution in Python services. This cluster is coherent because backend developers must safely manage throughput and responsiveness.",
        "slug": "concurrency-and-async-workflows",
        "source": "db"
      },
      "input_skill": "Threading",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": ".NET Backend Developer",
          "id": 83,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "dotnet-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Python Backend Developer",
          "id": 80,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "python-backend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Concurrency and Parallel Processing",
        "id": 17,
        "rationale": "Programming techniques for handling multiple requests and background work safely and efficiently. Includes synchronization, async execution, and coordination of concurrent tasks.",
        "slug": "concurrency-and-parallel-processing",
        "source": "db"
      },
      "input_skill": "Multi-threading",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Backend Developer",
          "id": 1,
          "rationale": null,
          "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
          "slug": "backend-engineer",
          "source": "db"
        },
        {
          "display_name": "Java Backend Developer",
          "id": 79,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "java-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Node.js Backend Developer",
          "id": 82,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "node-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Ruby Backend Developer",
          "id": 85,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "ruby-backend-developer",
          "source": "db"
        },
        {
          "display_name": "Scala Backend Developer",
          "id": 87,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "scala-backend-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Networking and API Integration",
        "id": 84,
        "rationale": "Client-side HTTP communication with backend services, including request construction, response parsing, retries, and error handling. iOS engineers use this to connect native screens to server-owned APIs.",
        "slug": "networking-and-api-integration",
        "source": "db"
      },
      "input_skill": "Sockets",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Android Developer",
          "id": 4,
          "rationale": null,
          "role_archetype": null,
          "slug": "android-engineer",
          "source": "db"
        },
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "Native Mobile Developer",
          "id": 75,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "native-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Background Execution and Lifecycle",
        "id": 87,
        "rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
        "slug": "background-execution-and-lifecycle",
        "source": "db"
      },
      "input_skill": "Push Notifications",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "React Native Developer",
          "id": 73,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-native-developer",
          "source": "db"
        },
        {
          "display_name": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Push Notifications and Deep Links",
        "id": 320,
        "rationale": "Mechanisms for receiving notifications and routing users into the right in-app destination from external entry points. React Native developers use these flows to re-engage users and restore context after taps or app launches.",
        "slug": "push-notifications-and-deep-links",
        "source": "db"
      },
      "input_skill": "Push Notifications",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Ionic Developer",
          "id": 434,
          "rationale": null,
          "role_archetype": null,
          "slug": "ionic-developer",
          "source": "db"
        },
        {
          "display_name": "React Native Developer",
          "id": 73,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-native-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Mobile Vendor Platforms",
        "id": 172,
        "rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
        "slug": "mobile-vendor-platforms",
        "source": "db"
      },
      "input_skill": "App Store",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Mobile Vendor Platforms",
        "id": 172,
        "rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
        "slug": "mobile-vendor-platforms",
        "source": "db"
      },
      "input_skill": "Google Play Store",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "React Frontend Development",
        "id": 96,
        "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
        "slug": "d_init_01",
        "source": "db"
      },
      "input_skill": "Data Structures and Algorithms",
      "llm_role": null,
      "roles_from_db": []
    }
  ],
  "input_final_skills": [
    "Android",
    "Kotlin",
    "Swift",
    "MVVM",
    "REST",
    "Git",
    "Continuous Integration",
    "Offline Storage",
    "Threading",
    "Multi-threading",
    "Sockets",
    "Push Notifications",
    "App Store",
    "Google Play Store",
    "Live Streaming",
    "Chat Messaging SDKs",
    "Data Structures and Algorithms"
  ],
  "input_llm_skills": [
    "Android",
    "Kotlin",
    "Swift",
    "MVVM",
    "REST",
    "Git",
    "Continuous Integration",
    "Offline Storage",
    "Threading",
    "Multi-threading",
    "Sockets",
    "Push Notifications",
    "App Store",
    "Google Play Store",
    "Live Streaming",
    "Chat Messaging SDKs",
    "Data Structures and Algorithms"
  ],
  "new_aliases_persisted": 0,
  "run_id": "64a015e4-a593-4547-b1e9-702483b17568",
  "skills_detail": [
    {
      "aliases_in_db": [
        {
          "alias_text": "Android",
          "alias_type": "CANONICAL",
          "id": 2541,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 9,
        "display_name": "Android",
        "id": 1595,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "android",
        "sub_category_id": 1201,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "React Frontend Development",
            "id": 96,
            "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
            "slug": "d_init_01",
            "source": "db"
          },
          "input_skill": "Android",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Android",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Kotlin",
          "alias_type": "CANONICAL",
          "id": 24,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9",
          "alias_type": "VERSION",
          "id": 3102,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9.0",
          "alias_type": "VERSION",
          "id": 3104,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9.1",
          "alias_type": "VERSION",
          "id": 3105,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9.10",
          "alias_type": "VERSION",
          "id": 3107,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin 1.9.x",
          "alias_type": "VERSION",
          "id": 3106,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "kotlin-1.9",
          "alias_type": "VERSION",
          "id": 3103,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 6,
        "display_name": "Kotlin",
        "id": 2,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "kotlin",
        "sub_category_id": 96,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Java Language and JVM",
            "id": 279,
            "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
            "slug": "java-language-and-jvm",
            "source": "db"
          },
          "input_skill": "Kotlin",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Java Backend Developer",
              "id": 79,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "java-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Kotlin Backend Developer",
              "id": 84,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "kotlin-server-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Scala Backend Developer",
              "id": 87,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "scala-backend-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Kotlin and Java",
            "id": 161,
            "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
            "slug": "kotlin-and-java",
            "source": "db"
          },
          "input_skill": "Kotlin",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Native Mobile Languages",
            "id": 274,
            "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
            "slug": "native-mobile-languages",
            "source": "db"
          },
          "input_skill": "Kotlin",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Native Mobile Developer",
              "id": 75,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "native-mobile-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Programming Languages",
            "id": 1,
            "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
            "slug": "programming-languages",
            "source": "db"
          },
          "input_skill": "Kotlin",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Developer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
              "slug": "backend-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 435,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "fullstack-developer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Kotlin",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Swift",
          "alias_type": "CANONICAL",
          "id": 756,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 2.0",
          "alias_type": "VERSION",
          "id": 757,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 2.x",
          "alias_type": "VERSION",
          "id": 758,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 3.0",
          "alias_type": "VERSION",
          "id": 759,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 3.x",
          "alias_type": "VERSION",
          "id": 760,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 4.0",
          "alias_type": "VERSION",
          "id": 761,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 4.x",
          "alias_type": "VERSION",
          "id": 762,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 5.0",
          "alias_type": "VERSION",
          "id": 763,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 5.x",
          "alias_type": "VERSION",
          "id": 764,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 6.0",
          "alias_type": "VERSION",
          "id": 765,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Swift 6.x",
          "alias_type": "VERSION",
          "id": 766,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 6,
        "display_name": "Swift",
        "id": 440,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "LANGUAGE",
        "slug": "swift",
        "sub_category_id": 96,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Native Mobile Languages",
            "id": 274,
            "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
            "slug": "native-mobile-languages",
            "source": "db"
          },
          "input_skill": "Swift",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Native Mobile Developer",
              "id": 75,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "native-mobile-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Swift and Objective-C",
            "id": 81,
            "rationale": "Primary implementation languages for native iOS app features, platform APIs, and client-side business logic. This is the core coding surface for building and maintaining iPhone and iPad experiences.",
            "slug": "swift-and-objective-c",
            "source": "db"
          },
          "input_skill": "Swift",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Swift",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "MVVM",
          "alias_type": "CANONICAL",
          "id": 830,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 1,
        "display_name": "MVVM",
        "id": 504,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PATTERN",
        "slug": "mvvm",
        "sub_category_id": 662,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "App Architecture and Dependency Injection",
            "id": 94,
            "rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
            "slug": "app-architecture-and-dependency-injection",
            "source": "db"
          },
          "input_skill": "MVVM",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            },
            {
              "display_name": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Mobile Architecture and Code Organization",
            "id": 170,
            "rationale": "Structural patterns used to organize shared mobile code into maintainable modules, layers, and feature boundaries. Senior hybrid developers often own these patterns to keep cross-platform code testable and adaptable to platform exceptions.",
            "slug": "mobile-architecture-and-code-organization",
            "source": "db"
          },
          "input_skill": "MVVM",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "React Native Developer",
              "id": 73,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-native-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Native Mobile App Architecture and Dependency Injection",
            "id": 273,
            "rationale": "Structural patterns for organizing native mobile application code into maintainable, testable modules, layers, and feature boundaries. This includes app architecture patterns such as MVVM, MVC, MVI, VIPER, and Clean Architecture; dependency injection frameworks and patterns such as Hilt, Dagger, and Koin; and code organization techniques such as modularization, feature modules, repository pattern, and use-case layering to separate UI, state, data, and platform concerns across a growing codebase.",
            "slug": "native-mobile-app-architecture-and-dependency-injection",
            "source": "db"
          },
          "input_skill": "MVVM",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Native Mobile Developer",
              "id": 75,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "native-mobile-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "MVVM",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "REST",
          "alias_type": "CANONICAL",
          "id": 106,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "REST",
        "id": 11,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "rest",
        "sub_category_id": 2122,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "API Design and Contracts",
            "id": 3,
            "rationale": "Designing request/response shapes and the rules that govern client-server interaction. This cluster is coherent because full stack engineers often own the contract between UI behavior and backend implementation.",
            "slug": "api-design-and-contracts",
            "source": "db"
          },
          "input_skill": "REST",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Developer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
              "slug": "backend-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 435,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "fullstack-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "API Interface and Contract Design",
            "id": 289,
            "rationale": "Designing backend service interfaces and contracts that other systems consume, including endpoint and operation shape, request/response payloads, schema and validation, pagination, filtering, idempotency, versioning, status codes, and backward compatibility across REST, GraphQL, gRPC, and OpenAPI-based APIs.",
            "slug": "api-interface-and-contract-design",
            "source": "db"
          },
          "input_skill": "REST",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": ".NET Backend Developer",
              "id": 83,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "dotnet-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Go Backend Developer",
              "id": 81,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "go-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Kotlin Backend Developer",
              "id": 84,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "kotlin-server-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Node.js Backend Developer",
              "id": 82,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "node-backend-developer",
              "source": "db"
            },
            {
              "display_name": "PHP Backend Developer",
              "id": 86,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "php-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Python Backend Developer",
              "id": 80,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "python-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Ruby Backend Developer",
              "id": 85,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "ruby-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Scala Backend Developer",
              "id": 87,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "scala-backend-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Integration Protocols \u0026 Standards",
            "id": 271,
            "rationale": "Standards and protocols for integrating Pega applications.",
            "slug": "integration-protocols-standards",
            "source": "db"
          },
          "input_skill": "REST",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Pega Developer",
              "id": 24,
              "rationale": null,
              "role_archetype": null,
              "slug": "pega-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Standards, Protocols \u0026 Compliance",
            "id": 452,
            "rationale": "Ensure teams adhere to industry standards, security protocols, and regulatory compliance requirements.",
            "slug": "standards-protocols-compliance",
            "source": "db"
          },
          "input_skill": "REST",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Engineering Manager",
              "id": 121,
              "rationale": null,
              "role_archetype": null,
              "slug": "engineering-manager",
              "source": "db"
            },
            {
              "display_name": "Sitecore Dev",
              "id": 233,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "sitecore-dev",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "REST",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Git",
          "alias_type": "CANONICAL",
          "id": 1613,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 13,
        "display_name": "Git",
        "id": 1002,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "git",
        "sub_category_id": 730,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "React Frontend Development",
            "id": 96,
            "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
            "slug": "d_init_01",
            "source": "db"
          },
          "input_skill": "Git",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Git",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Continuous Integration",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "DevOps Tools",
          "skill_nature": "PRACTICE",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "continuous-integration",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Offline Storage",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Data Engineering Tools",
          "skill_nature": "CONCEPT",
          "sub_category": "general",
          "typical_lifespan": "MULTI_YEAR",
          "version_strategy": "UNVERSIONED",
          "volatility": "MEDIUM"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "offline-storage",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "threading",
          "alias_type": "CANONICAL",
          "id": 3639,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "threading",
        "id": 2349,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "threading",
        "sub_category_id": 7,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Concurrency and Async Workflows",
            "id": 292,
            "rationale": "Programming techniques for handling concurrent requests, asynchronous I/O, and coordination of background execution in Python services. This cluster is coherent because backend developers must safely manage throughput and responsiveness.",
            "slug": "concurrency-and-async-workflows",
            "source": "db"
          },
          "input_skill": "Threading",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": ".NET Backend Developer",
              "id": 83,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "dotnet-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Python Backend Developer",
              "id": 80,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "python-backend-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Threading",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "multithreading",
          "alias_type": "CANONICAL",
          "id": 223,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "multithreading",
        "id": 82,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "multithreading",
        "sub_category_id": 7,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Concurrency and Parallel Processing",
            "id": 17,
            "rationale": "Programming techniques for handling multiple requests and background work safely and efficiently. Includes synchronization, async execution, and coordination of concurrent tasks.",
            "slug": "concurrency-and-parallel-processing",
            "source": "db"
          },
          "input_skill": "Multi-threading",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Backend Developer",
              "id": 1,
              "rationale": null,
              "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
              "slug": "backend-engineer",
              "source": "db"
            },
            {
              "display_name": "Java Backend Developer",
              "id": 79,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "java-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Node.js Backend Developer",
              "id": 82,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "node-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Ruby Backend Developer",
              "id": 85,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "ruby-backend-developer",
              "source": "db"
            },
            {
              "display_name": "Scala Backend Developer",
              "id": 87,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "scala-backend-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Multi-threading",
      "matched_via": "embedding_alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Sockets",
          "alias_type": "CANONICAL",
          "id": 2556,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 10,
        "display_name": "Sockets",
        "id": 1604,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PROTOCOL",
        "slug": "sockets",
        "sub_category_id": 1208,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Networking and API Integration",
            "id": 84,
            "rationale": "Client-side HTTP communication with backend services, including request construction, response parsing, retries, and error handling. iOS engineers use this to connect native screens to server-owned APIs.",
            "slug": "networking-and-api-integration",
            "source": "db"
          },
          "input_skill": "Sockets",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Android Developer",
              "id": 4,
              "rationale": null,
              "role_archetype": null,
              "slug": "android-engineer",
              "source": "db"
            },
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "Native Mobile Developer",
              "id": 75,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "native-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Sockets",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "push notifications",
          "alias_type": "CANONICAL",
          "id": 4339,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Push Notifications",
          "alias_type": "CANONICAL",
          "id": 2557,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "push notifications",
        "id": 1605,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "push-notifications",
        "sub_category_id": 2134,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Background Execution and Lifecycle",
            "id": 87,
            "rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
            "slug": "background-execution-and-lifecycle",
            "source": "db"
          },
          "input_skill": "Push Notifications",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "React Native Developer",
              "id": 73,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-native-developer",
              "source": "db"
            },
            {
              "display_name": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Push Notifications and Deep Links",
            "id": 320,
            "rationale": "Mechanisms for receiving notifications and routing users into the right in-app destination from external entry points. React Native developers use these flows to re-engage users and restore context after taps or app launches.",
            "slug": "push-notifications-and-deep-links",
            "source": "db"
          },
          "input_skill": "Push Notifications",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Ionic Developer",
              "id": 434,
              "rationale": null,
              "role_archetype": null,
              "slug": "ionic-developer",
              "source": "db"
            },
            {
              "display_name": "React Native Developer",
              "id": 73,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-native-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Push Notifications",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Apple App Store",
          "alias_type": "CANONICAL",
          "id": 1711,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 9,
        "display_name": "Apple App Store",
        "id": 1085,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "apple-app-store",
        "sub_category_id": 347,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Mobile Vendor Platforms",
            "id": 172,
            "rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
            "slug": "mobile-vendor-platforms",
            "source": "db"
          },
          "input_skill": "App Store",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "App Store",
      "matched_via": "embedding_alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Google Play Store",
          "alias_type": "CANONICAL",
          "id": 1712,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 9,
        "display_name": "Google Play Store",
        "id": 1086,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "PLATFORM",
        "slug": "google-play-store",
        "sub_category_id": 347,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Mobile Vendor Platforms",
            "id": 172,
            "rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
            "slug": "mobile-vendor-platforms",
            "source": "db"
          },
          "input_skill": "Google Play Store",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Google Play Store",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Live Streaming",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Web Frameworks",
          "skill_nature": "CONCEPT",
          "sub_category": "general",
          "typical_lifespan": "SHORT_LIVED",
          "version_strategy": "VERSIONED",
          "volatility": "FAST"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "live-streaming",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Chat Messaging SDKs",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Communication Tools",
          "skill_nature": "TOOL",
          "sub_category": "general",
          "typical_lifespan": "SHORT_LIVED",
          "version_strategy": "VERSIONED",
          "volatility": "FAST"
        },
        "enrichment": null,
        "keep_log": [],
        "locked_dimensions": [],
        "merge_log": [],
        "placed": null,
        "relationships": null,
        "skill_id": "chat-messaging-sdks",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Data Structures",
          "alias_type": "CANONICAL",
          "id": 1614,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "Data Structures",
        "id": 1003,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "data-structures",
        "sub_category_id": 731,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "React Frontend Development",
            "id": 96,
            "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
            "slug": "d_init_01",
            "source": "db"
          },
          "input_skill": "Data Structures and Algorithms",
          "llm_role": null,
          "roles_from_db": []
        }
      ],
      "input_skill": "Data Structures and Algorithms",
      "matched_via": "embedding_alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    }
  ],
  "unmatched_skills": [
    "Continuous Integration",
    "Offline Storage",
    "Live Streaming",
    "Chat Messaging SDKs"
  ]
}
API 3 — final-role-output
{
  "chosen_role": {
    "display_name": "Native Mobile Developer",
    "id": 75,
    "rationale": "Domain=Software Engineering \u2192 sub-role android-engineer; The JD is clearly for an Android-native mobile app engineer focused on Kotlin, MVVM, app store releases, APIs, concurrency, and mobile stability/performance.",
    "role_archetype": "Engineering",
    "slug": "native-mobile-developer",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "Android",
      "tag": "in_db"
    },
    {
      "skill": "Kotlin",
      "tag": "in_db"
    },
    {
      "skill": "Swift",
      "tag": "in_db"
    },
    {
      "skill": "MVVM",
      "tag": "in_db"
    },
    {
      "skill": "REST",
      "tag": "in_db"
    },
    {
      "skill": "Git",
      "tag": "in_db"
    },
    {
      "skill": "Continuous Integration",
      "tag": "new"
    },
    {
      "skill": "Offline Storage",
      "tag": "new"
    },
    {
      "skill": "Threading",
      "tag": "in_db"
    },
    {
      "skill": "Multi-threading",
      "tag": "in_db"
    },
    {
      "skill": "Sockets",
      "tag": "in_db"
    },
    {
      "skill": "Push Notifications",
      "tag": "in_db"
    },
    {
      "skill": "App Store",
      "tag": "in_db"
    },
    {
      "skill": "Google Play Store",
      "tag": "in_db"
    },
    {
      "skill": "Live Streaming",
      "tag": "new"
    },
    {
      "skill": "Chat Messaging SDKs",
      "tag": "new"
    },
    {
      "skill": "Data Structures and Algorithms",
      "tag": "in_db"
    }
  ],
  "llm_cost_api1_usd": null,
  "llm_cost_api2_usd": null,
  "llm_cost_api3_usd": null,
  "llm_cost_total_usd": null,
  "persistence": {
    "items": [
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "React Frontend Development",
          "id": 96,
          "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
          "slug": "d_init_01",
          "source": "db"
        },
        "dimension_id": 96,
        "input_skill": "Android",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 1595,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Java Language and JVM",
          "id": 279,
          "rationale": "Core Java implementation skills used to build backend service logic, utilities, and internal abstractions. This is the primary coding surface for the role and includes language features plus JVM behavior that affect correctness and maintainability.",
          "slug": "java-language-and-jvm",
          "source": "db"
        },
        "dimension_id": 279,
        "input_skill": "Kotlin",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Java Backend Developer",
            "id": 79,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "java-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Kotlin Backend Developer",
            "id": 84,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "kotlin-server-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Scala Backend Developer",
            "id": 87,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "scala-backend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Kotlin and Java",
          "id": 161,
          "rationale": "Primary implementation languages for Android app features, platform integration, and client-side business logic. Android engineers use these languages to build screens, state flows, service adapters, and device-aware behavior.",
          "slug": "kotlin-and-java",
          "source": "db"
        },
        "dimension_id": 161,
        "input_skill": "Kotlin",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Android Developer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "android-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Native Mobile Languages",
          "id": 274,
          "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
          "slug": "native-mobile-languages",
          "source": "db"
        },
        "dimension_id": 274,
        "input_skill": "Kotlin",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "Native Mobile Developer",
            "id": 75,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "native-mobile-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Programming Languages",
          "id": 1,
          "rationale": "Primary implementation languages used to build client and server feature code. Full stack engineers need enough fluency to move across layers and implement product behavior end to end.",
          "slug": "programming-languages",
          "source": "db"
        },
        "dimension_id": 1,
        "input_skill": "Kotlin",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Developer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
            "slug": "backend-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 435,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "fullstack-developer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 15,
            "rationale": null,
            "role_archetype": null,
            "slug": "full-stack-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Native Mobile Languages",
          "id": 274,
          "rationale": "Primary implementation languages used to build platform-specific app features, UI logic, and device integrations. This is the core coding surface for native mobile work on one platform.",
          "slug": "native-mobile-languages",
          "source": "db"
        },
        "dimension_id": 274,
        "input_skill": "Swift",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "Native Mobile Developer",
            "id": 75,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "native-mobile-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 440,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Swift and Objective-C",
          "id": 81,
          "rationale": "Primary implementation languages for native iOS app features, platform APIs, and client-side business logic. This is the core coding surface for building and maintaining iPhone and iPad experiences.",
          "slug": "swift-and-objective-c",
          "source": "db"
        },
        "dimension_id": 81,
        "input_skill": "Swift",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 440,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "App Architecture and Dependency Injection",
          "id": 94,
          "rationale": "Structural patterns used to organize iOS code into testable, maintainable feature modules and layers. iOS engineers use these patterns to separate UI, state, and service integration concerns.",
          "slug": "app-architecture-and-dependency-injection",
          "source": "db"
        },
        "dimension_id": 94,
        "input_skill": "MVVM",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Android Developer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "android-engineer",
            "source": "db"
          },
          {
            "display_name": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 504,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Mobile Architecture and Code Organization",
          "id": 170,
          "rationale": "Structural patterns used to organize shared mobile code into maintainable modules, layers, and feature boundaries. Senior hybrid developers often own these patterns to keep cross-platform code testable and adaptable to platform exceptions.",
          "slug": "mobile-architecture-and-code-organization",
          "source": "db"
        },
        "dimension_id": 170,
        "input_skill": "MVVM",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Hybrid Mobile Developer",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "hybrid-mobile-developer",
            "source": "db"
          },
          {
            "display_name": "React Native Developer",
            "id": 73,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-native-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 504,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Native Mobile App Architecture and Dependency Injection",
          "id": 273,
          "rationale": "Structural patterns for organizing native mobile application code into maintainable, testable modules, layers, and feature boundaries. This includes app architecture patterns such as MVVM, MVC, MVI, VIPER, and Clean Architecture; dependency injection frameworks and patterns such as Hilt, Dagger, and Koin; and code organization techniques such as modularization, feature modules, repository pattern, and use-case layering to separate UI, state, data, and platform concerns across a growing codebase.",
          "slug": "native-mobile-app-architecture-and-dependency-injection",
          "source": "db"
        },
        "dimension_id": 273,
        "input_skill": "MVVM",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "Native Mobile Developer",
            "id": 75,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "native-mobile-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 504,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "API Design and Contracts",
          "id": 3,
          "rationale": "Designing request/response shapes and the rules that govern client-server interaction. This cluster is coherent because full stack engineers often own the contract between UI behavior and backend implementation.",
          "slug": "api-design-and-contracts",
          "source": "db"
        },
        "dimension_id": 3,
        "input_skill": "REST",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Developer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
            "slug": "backend-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 15,
            "rationale": null,
            "role_archetype": null,
            "slug": "full-stack-engineer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 435,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "fullstack-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 11,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "API Interface and Contract Design",
          "id": 289,
          "rationale": "Designing backend service interfaces and contracts that other systems consume, including endpoint and operation shape, request/response payloads, schema and validation, pagination, filtering, idempotency, versioning, status codes, and backward compatibility across REST, GraphQL, gRPC, and OpenAPI-based APIs.",
          "slug": "api-interface-and-contract-design",
          "source": "db"
        },
        "dimension_id": 289,
        "input_skill": "REST",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": ".NET Backend Developer",
            "id": 83,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "dotnet-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Go Backend Developer",
            "id": 81,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "go-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Kotlin Backend Developer",
            "id": 84,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "kotlin-server-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Node.js Backend Developer",
            "id": 82,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "node-backend-developer",
            "source": "db"
          },
          {
            "display_name": "PHP Backend Developer",
            "id": 86,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "php-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Python Backend Developer",
            "id": 80,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "python-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Ruby Backend Developer",
            "id": 85,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "ruby-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Scala Backend Developer",
            "id": 87,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "scala-backend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 11,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Integration Protocols \u0026 Standards",
          "id": 271,
          "rationale": "Standards and protocols for integrating Pega applications.",
          "slug": "integration-protocols-standards",
          "source": "db"
        },
        "dimension_id": 271,
        "input_skill": "REST",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Pega Developer",
            "id": 24,
            "rationale": null,
            "role_archetype": null,
            "slug": "pega-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 11,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Standards, Protocols \u0026 Compliance",
          "id": 452,
          "rationale": "Ensure teams adhere to industry standards, security protocols, and regulatory compliance requirements.",
          "slug": "standards-protocols-compliance",
          "source": "db"
        },
        "dimension_id": 452,
        "input_skill": "REST",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Engineering Manager",
            "id": 121,
            "rationale": null,
            "role_archetype": null,
            "slug": "engineering-manager",
            "source": "db"
          },
          {
            "display_name": "Sitecore Dev",
            "id": 233,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "sitecore-dev",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 11,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "React Frontend Development",
          "id": 96,
          "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
          "slug": "d_init_01",
          "source": "db"
        },
        "dimension_id": 96,
        "input_skill": "Git",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": true,
        "skill_id": 1002,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Concurrency and Async Workflows",
          "id": 292,
          "rationale": "Programming techniques for handling concurrent requests, asynchronous I/O, and coordination of background execution in Python services. This cluster is coherent because backend developers must safely manage throughput and responsiveness.",
          "slug": "concurrency-and-async-workflows",
          "source": "db"
        },
        "dimension_id": 292,
        "input_skill": "Threading",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": ".NET Backend Developer",
            "id": 83,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "dotnet-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Python Backend Developer",
            "id": 80,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "python-backend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2349,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Concurrency and Parallel Processing",
          "id": 17,
          "rationale": "Programming techniques for handling multiple requests and background work safely and efficiently. Includes synchronization, async execution, and coordination of concurrent tasks.",
          "slug": "concurrency-and-parallel-processing",
          "source": "db"
        },
        "dimension_id": 17,
        "input_skill": "Multi-threading",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Backend Developer",
            "id": 1,
            "rationale": null,
            "role_archetype": "A Backend Engineer designs, builds, and maintains the server-side logic and data handling that power applications and services. They focus on implementing reliable business functionality, integrating with other systems, and ensuring the backend is scalable, maintainable, and observable.",
            "slug": "backend-engineer",
            "source": "db"
          },
          {
            "display_name": "Java Backend Developer",
            "id": 79,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "java-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Node.js Backend Developer",
            "id": 82,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "node-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Ruby Backend Developer",
            "id": 85,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "ruby-backend-developer",
            "source": "db"
          },
          {
            "display_name": "Scala Backend Developer",
            "id": 87,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "scala-backend-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": false,
        "skill_id": null,
        "skill_tag": "new",
        "skipped_reason": "skill_not_in_db_v3_proposed"
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Networking and API Integration",
          "id": 84,
          "rationale": "Client-side HTTP communication with backend services, including request construction, response parsing, retries, and error handling. iOS engineers use this to connect native screens to server-owned APIs.",
          "slug": "networking-and-api-integration",
          "source": "db"
        },
        "dimension_id": 84,
        "input_skill": "Sockets",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "roles_from_db": [
          {
            "display_name": "Android Developer",
            "id": 4,
            "rationale": null,
            "role_archetype": null,
            "slug": "android-engineer",
            "source": "db"
          },
          {
            "display_name": "Hybrid Mobile Developer",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "hybrid-mobile-developer",
            "source": "db"
          },
          {
            "display_name": "Native Mobile Developer",
            "id": 75,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "native-mobile-developer",
            "source": "db"
          },
          {
            "display_name": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1604,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Background Execution and Lifecycle",
          "id": 87,
          "rationale": "App lifecycle handling and deferred work mechanisms that keep iOS behavior reliable when the app is backgrounded, suspended, or relaunched. This is important for sync, refresh, and user-visible continuity.",
          "slug": "background-execution-and-lifecycle",
          "source": "db"
        },
        "dimension_id": 87,
        "input_skill": "Push Notifications",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Hybrid Mobile Developer",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "hybrid-mobile-developer",
            "source": "db"
          },
          {
            "display_name": "React Native Developer",
            "id": 73,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-native-developer",
            "source": "db"
          },
          {
            "display_name": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1605,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Push Notifications and Deep Links",
          "id": 320,
          "rationale": "Mechanisms for receiving notifications and routing users into the right in-app destination from external entry points. React Native developers use these flows to re-engage users and restore context after taps or app launches.",
          "slug": "push-notifications-and-deep-links",
          "source": "db"
        },
        "dimension_id": 320,
        "input_skill": "Push Notifications",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Ionic Developer",
            "id": 434,
            "rationale": null,
            "role_archetype": null,
            "slug": "ionic-developer",
            "source": "db"
          },
          {
            "display_name": "React Native Developer",
            "id": 73,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-native-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1605,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Mobile Vendor Platforms",
          "id": 172,
          "rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
          "slug": "mobile-vendor-platforms",
          "source": "db"
        },
        "dimension_id": 172,
        "input_skill": "App Store",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Hybrid Mobile Developer",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "hybrid-mobile-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": false,
        "skill_id": null,
        "skill_tag": "new",
        "skipped_reason": "skill_not_in_db_v3_proposed"
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Mobile Vendor Platforms",
          "id": 172,
          "rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
          "slug": "mobile-vendor-platforms",
          "source": "db"
        },
        "dimension_id": 172,
        "input_skill": "Google Play Store",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension skipped (dimension not under chosen role)",
        "role_dimension_saved": false,
        "roles_from_db": [
          {
            "display_name": "Hybrid Mobile Developer",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "hybrid-mobile-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1086,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 75,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "React Frontend Development",
          "id": 96,
          "rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
          "slug": "d_init_01",
          "source": "db"
        },
        "dimension_id": 96,
        "input_skill": "Data Structures and Algorithms",
        "llm_role": null,
        "matched_chosen_role": false,
        "outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
        "role_dimension_saved": false,
        "roles_from_db": [],
        "skill_dimension_saved": false,
        "skill_id": null,
        "skill_tag": "new",
        "skipped_reason": "skill_not_in_db_v3_proposed"
      }
    ],
    "new_skills_created": 0,
    "role_dimension_saved": 0,
    "skill_dimension_saved": 0,
    "skipped": 3
  },
  "planner_output": null,
  "run_id": "64a015e4-a593-4547-b1e9-702483b17568"
}