Pipeline run
1050f7ff-5486-41c0-b9f3-7a1aa6a47868
Client output enrichment
v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA descriptionvocab breakdown (legacy)
Signals
Post-classification
Captured for admin review
1 POST /skills/extract-from-jd
2 POST /skills/extract-details
3 POST /skills/final-role-output
Native Mobile Developer
→iOS Developer
sub-role · 0.99 domain · Software Engineering CASE DOMAINslug: native-mobile-developer · id: 75 · source: db · sub-role slug: ios-engineer
Domain=Software Engineering → sub-role ios-engineer; The JD is clearly for an iOS native mobile application developer using Objective-C/Swift, Cocoa Touch, and iOS frameworks.
Matched skills
Matched dimensions
Matched KRAs
Resolution:
in_db
— role exists in library; skill↔dim and role↔dim links saved when applicable.
Job description
R00207276
• Bachelor’s degree in Computer Science, Software Engineering, or a related discipline
• 3+ years of professional work experience
• 3+ years developing with Objective-C or Swift, or other object-oriented platforms
• 2+ years mobile application development on iOS platform
Preferred Qualifications
• Experience in a structured and formal software development processes
• Experience developing in an Agile / SCRUM Environment
• Experience developing mission-critical applications
• Knowledge of Mobile Platform Architectures
• Proficient with Objective-C or Swift {{depending on project requirements}}, and Cocoa Touch
• Experience with iOS frameworks such as Core Data, Core Animation, etc.
• Experience with offline storage, threading, and performance tuning
• Familiarity with RESTful APIs to connect iOS applications to back-end services
• Familiarity with cloud message APIs and push notifications
Our Commitment to Diversity and Inclusion
At Ecolab, we believe the best teams are diverse and inclusive, and we are on a journey to create a workplace where every associate can grow and achieve their best. We are committed to fair and equal treatment of associates and applicants. We recruit, hire, promote, transfer and provide opportunities for advancement on the basis of individual qualifications and job performance. In all matters affecting employment, compensation, benefits, working conditions, and opportunities for advancement, we will not discriminate against any associate or applicant for employment because of race, religion, color, creed, national origin, citizenship status, sex, sexual orientation, gender identity and expressions, genetic information, marital status, age, disability, or status as a covered veteran.
In addition, we are committed to furthering the principles of Equal Employment Opportunity (EEO) through Affirmative Action (AA). Our goal is to fully utilize minority, female, disabled and covered veteran individuals at all levels of the workforce. Ecolab is a place where you can grow your career, own your future and impact what matters.
Skills from this JD
Each row merges API 1 extraction, API 2 library match / v3 orchestration (dimensions + locked dims), and API 3 persistence tags.
Aliases — catalog
- Objective-C (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Language
- Sub-category
- Programming Language
- Vendor
- Apple
- License
- other_open
- Year introduced
- 1984
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Objective-C still appears in iOS/macOS legacy maintenance JDs, but most new Apple development listings now favor Swift, indicating a narrow, declining market signal.
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) |
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)
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) |
Aliases — catalog
- iOS (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Platform
- Sub-category
- Mobile Operating Platform
- Vendor
- Apple Inc.
- License
- proprietary
- Year introduced
- 2007
- Confidence
- 0.93
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: iOS is a mainstream mobile platform with high JD volume for Swift/iOS roles across consumer and enterprise apps; Apple continues active platform support and releases, indicating broad adoption rather than niche use.
Skill profile (library / DB)
- Skill nature
- PLATFORM
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 9
- Sub-category id
- 1200
- 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) |
Aliases — catalog
- Agile (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Methodology
- Sub-category
- Agile
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Agile appears in a large share of software job descriptions and is a standard hiring-pipeline requirement; Scrum/Kanban are commonly listed alongside it, showing broad market adoption.
Skill profile (library / DB)
- Skill nature
- METHODOLOGY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 8
- Sub-category id
- 3594
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
-
Software Concepts, Patterns & Practices Catalog dimension db id 478
Library dimension (catalog)
Roles linked in library: Engineering Manager
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) |
|
Software Concepts, Patterns & Practices
software-concepts-patterns-practices
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- Scrum (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Methodology
- Sub-category
- Scrum
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Scrum appears in a large share of agile project-management and product-owner job descriptions, and Scrum Alliance/PSM certifications are widely requested in hiring pipelines.
Skill profile (library / DB)
- Skill nature
- METHODOLOGY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 8
- Sub-category id
- 3627
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
-
Software Concepts, Patterns & Practices Catalog dimension db id 478
Library dimension (catalog)
Roles linked in library: Engineering Manager
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) |
|
Software Concepts, Patterns & Practices
software-concepts-patterns-practices
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Frameworks
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- Core Data (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Framework
- Sub-category
- Persistence Framework
- Vendor
- Apple
- License
- proprietary
- Year introduced
- 2008
- Confidence
- 0.90
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Core Data appears mainly in Apple/iOS-specific job postings and legacy Cocoa codebases; market demand is far narrower than cross-platform persistence stacks like SQLite/Realm, with no broad hiring-pipeline ubiquity.
Skill profile (library / DB)
- Skill nature
- FRAMEWORK
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 5
- Sub-category id
- 336
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Local Persistence and Offline Behavior Catalog dimension db id 85
Library dimension (catalog)
Roles linked in library: Android Developer, Flutter Developer, Hybrid Mobile Developer, Native Mobile Developer, React Native Developer, iOS Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Frameworks
- Sub-category
- general
- Skill nature
- TOOL
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- REST (CANONICAL) primary
Context tags (catalog)
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
-
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) |
Aliases — catalog
- push notifications (CANONICAL) primary
- Push Notifications (CANONICAL)
Context tags (catalog)
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) |
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 |
|---|---|---|---|---|---|---|
| Objective-C | in_db |
Native Mobile Languages
native-mobile-languages
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| Objective-C | in_db |
Swift and Objective-C
swift-and-objective-c
|
✓ | — | 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) | |
| iOS | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Agile | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Agile | in_db |
Software Concepts, Patterns & Practices
software-concepts-patterns-practices
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| SCRUM | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| SCRUM | in_db |
Software Concepts, Patterns & Practices
software-concepts-patterns-practices
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Core Data | in_db |
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | 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) | |
| 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) |
Library artifacts (this run)
| Kind | Detail | DB id |
|---|---|---|
| canonical_skill_proposed | Cocoa Touch | type=Frameworks subtype=general nature=TOOL lifespan=MULTI_YEAR | |
| canonical_skill_proposed | Core Animation | type=Frameworks subtype=general nature=TOOL lifespan=MULTI_YEAR |
nano JD Parser — gpt-4.1-nano click to toggle
Show raw JSON
{
"JD_type": "fail",
"archetype_override_applied": true,
"archetype_override_matched_skills": [
"Scrum",
"Swift",
"Objective-C",
"Agile",
"APIs",
"threading",
"Cloud",
"iOS",
"Core Data",
"push notifications"
],
"role_archetype": "Engineering"
}
API 1 — extract-from-jd click to toggle
{
"final_skills": [
{
"is_primary": true,
"skill_name": "Objective-C"
},
{
"is_primary": true,
"skill_name": "Swift"
},
{
"is_primary": true,
"skill_name": "iOS"
},
{
"is_primary": false,
"skill_name": "Agile"
},
{
"is_primary": false,
"skill_name": "SCRUM"
},
{
"is_primary": false,
"skill_name": "Cocoa Touch"
},
{
"is_primary": false,
"skill_name": "Core Data"
},
{
"is_primary": false,
"skill_name": "Core Animation"
},
{
"is_primary": false,
"skill_name": "REST"
},
{
"is_primary": false,
"skill_name": "Push Notifications"
}
],
"jd_role": null,
"nano_parsed": {
"JD_type": "fail",
"archetype_override_applied": true,
"archetype_override_matched_skills": [
"Scrum",
"Swift",
"Objective-C",
"Agile",
"APIs",
"threading",
"Cloud",
"iOS",
"Core Data",
"push notifications"
],
"role_archetype": "Engineering"
},
"rejected": false,
"rejection_reason": null,
"run_id": "1050f7ff-5486-41c0-b9f3-7a1aa6a47868",
"stage3_signals": {
"alias_found": false,
"alias_match_roles": [],
"kra_match_roles": [
{
"display_name": "iOS Developer",
"kra_matches": [
{
"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": "Proficient with Objective-C or Swift\u202f{{depending on project requirements}}, and Cocoa Touch",
"similarity": 0.599
},
{
"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": "3+ years developing with Objective-C or Swift, or other object-oriented platforms",
"similarity": 0.5682
},
{
"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": "2+ years mobile application development on iOS platform",
"similarity": 0.5146
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 6,
"score": 0.5606,
"slug": "ios-engineer",
"total_count": null
},
{
"display_name": "Hybrid Mobile Developer",
"kra_matches": [
{
"kra_text": "Implements cross-platform mobile features using React Native, Flutter, or Ionic targeting both iOS and Android platforms from a shared codebase.",
"sentence": "2+ years mobile application development on iOS platform",
"similarity": 0.4891
},
{
"kra_text": "Implements cross-platform mobile features using React Native, Flutter, or Ionic targeting both iOS and Android platforms from a shared codebase.",
"sentence": "Proficient with Objective-C or Swift\u202f{{depending on project requirements}}, and Cocoa Touch",
"similarity": 0.4752
},
{
"kra_text": "Implements cross-platform mobile features using React Native, Flutter, or Ionic targeting both iOS and Android platforms from a shared codebase.",
"sentence": "3+ years developing with Objective-C or Swift, or other object-oriented platforms",
"similarity": 0.4329
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 11,
"score": 0.4657,
"slug": "hybrid-mobile-developer",
"total_count": null
},
{
"display_name": "Android Developer",
"kra_matches": [
{
"kra_text": "Develops native Android features using Kotlin or Java with Android SDK, Jetpack Compose, and Material Design components following platform conventions.",
"sentence": "3+ years developing with Objective-C or Swift, or other object-oriented platforms",
"similarity": 0.4276
},
{
"kra_text": "Investigates and resolves app crashes, ANR issues, and device-specific compatibility bugs using Crashlytics, Firebase, and Android Logcat.",
"sentence": "Experience developing mission-critical applications",
"similarity": 0.4274
},
{
"kra_text": "Develops native Android features using Kotlin or Java with Android SDK, Jetpack Compose, and Material Design components following platform conventions.",
"sentence": "Proficient with Objective-C or Swift\u202f{{depending on project requirements}}, and Cocoa Touch",
"similarity": 0.4249
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 4,
"score": 0.4266,
"slug": "android-engineer",
"total_count": null
},
{
"display_name": "React Frontend Developer",
"kra_matches": [
{
"kra_text": "debug user-facing application issues",
"sentence": "Experience developing mission-critical applications",
"similarity": 0.4472
},
{
"kra_text": "ensure accessibility and inclusive behavior",
"sentence": "Our Commitment to Diversity and Inclusion",
"similarity": 0.4222
},
{
"kra_text": "ensure accessibility and inclusive behavior",
"sentence": "Our goal is to fully utilize minority, female, disabled and covered veteran individuals at all levels of the workforce.",
"similarity": 0.3905
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 89,
"score": 0.42,
"slug": "react-frontend-developer",
"total_count": null
},
{
"display_name": "DevOps Engineer",
"kra_matches": [
{
"kra_text": "Collaborates with development teams to improve build processes, reduce deployment friction, containerize applications, and adopt DevOps best practices.",
"sentence": "Experience developing mission-critical applications",
"similarity": 0.4555
},
{
"kra_text": "Collaborates with development teams to improve build processes, reduce deployment friction, containerize applications, and adopt DevOps best practices.",
"sentence": "Experience developing in an Agile / SCRUM Environment",
"similarity": 0.4479
},
{
"kra_text": "Collaborates with development teams to improve build processes, reduce deployment friction, containerize applications, and adopt DevOps best practices.",
"sentence": "At Ecolab, we believe the best teams are diverse and inclusive, and we are on a journey to create a workplace where every associate can grow and achieve their best.",
"similarity": 0.329
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 10,
"score": 0.4108,
"slug": "devops-engineer",
"total_count": null
}
],
"skill_match_roles": [
{
"display_name": "iOS Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"Objective-C",
"Swift"
],
"role_id": 6,
"score": 0.6667,
"slug": "ios-engineer",
"total_count": 3
},
{
"display_name": "Native Mobile Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"Objective-C",
"Swift"
],
"role_id": 75,
"score": 0.6667,
"slug": "native-mobile-developer",
"total_count": 3
}
]
},
"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": [
"iOS Native Mobile Development",
"Mobile Platform Architecture",
"Agile Software Development",
"Performance Optimization",
"Backend API Integration",
"Push Notification Integration"
],
"matched_kras": [
"developing with Objective-C or Swift",
"mobile application development on iOS platform",
"developing in an Agile / SCRUM Environment",
"developing mission-critical applications",
"familiarity with RESTful APIs to connect iOS applications",
"experience with offline storage, threading, and performance tuning"
],
"matched_skills": [
"Objective-C",
"Swift",
"iOS platform",
"Cocoa Touch",
"Core Data",
"Core Animation",
"offline storage",
"threading",
"performance tuning",
"RESTful APIs",
"cloud message APIs",
"push notifications",
"Agile / SCRUM"
],
"new_role_display_name": null,
"new_role_slug": null,
"queued": false,
"reasoning": "Domain=Software Engineering \u2192 sub-role ios-engineer; The JD is clearly for an iOS native mobile application developer using Objective-C/Swift, Cocoa Touch, and iOS frameworks.",
"sub_role": {
"confidence": 0.99,
"display_name": "iOS Developer",
"reasoning": "The JD explicitly requires Objective-C/Swift, Cocoa Touch, and iOS framework experience, which strongly indicates an iOS developer role.",
"role_id": 6,
"slug": "ios-engineer"
}
},
"stage5_updates": {
"centroid_n_after": 51,
"centroid_updated": true,
"collision_log_id": null,
"new_kra_attached": null,
"new_skills_attached": [
{
"is_primary": false,
"queue_id": 13008,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Cocoa Touch",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 13009,
"role_display_name": "Native Mobile Developer",
"role_slug": "native-mobile-developer",
"skill_name": "Core Animation",
"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": 767,
"existing_alias_text": "Objective-C",
"input_term": "Objective-C",
"matched_canonical": {
"category_id": 6,
"display_name": "Objective-C",
"id": 441,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "objective-c",
"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": 2540,
"existing_alias_text": "iOS",
"input_term": "iOS",
"matched_canonical": {
"category_id": 9,
"display_name": "iOS",
"id": 1594,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "ios",
"sub_category_id": 1200,
"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": 868,
"existing_alias_text": "Agile",
"input_term": "Agile",
"matched_canonical": {
"category_id": 8,
"display_name": "Agile",
"id": 520,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "agile",
"sub_category_id": 3594,
"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": 1851,
"existing_alias_text": "Scrum",
"input_term": "SCRUM",
"matched_canonical": {
"category_id": 8,
"display_name": "Scrum",
"id": 1215,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "scrum",
"sub_category_id": 3627,
"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": 785,
"existing_alias_text": "Core Data",
"input_term": "Core Data",
"matched_canonical": {
"category_id": 5,
"display_name": "Core Data",
"id": 459,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "core-data",
"sub_category_id": 336,
"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": 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"
}
],
"candidate_roles": [
{
"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"
},
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
},
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"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": "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": ".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"
},
{
"display_name": "Pega Developer",
"id": 24,
"rationale": null,
"role_archetype": null,
"slug": "pega-developer",
"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 ios-engineer; The JD is clearly for an iOS native mobile application developer using Objective-C/Swift, Cocoa Touch, and iOS frameworks.",
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
"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": "Objective-C",
"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": "Objective-C",
"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": "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": "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": "iOS",
"llm_role": null,
"roles_from_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": "Agile",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Software Concepts, Patterns \u0026 Practices",
"id": 478,
"rationale": "Champion foundational software design patterns, development methodologies, and engineering best practices.",
"slug": "software-concepts-patterns-practices",
"source": "db"
},
"input_skill": "Agile",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"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": "SCRUM",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Software Concepts, Patterns \u0026 Practices",
"id": 478,
"rationale": "Champion foundational software design patterns, development methodologies, and engineering best practices.",
"slug": "software-concepts-patterns-practices",
"source": "db"
},
"input_skill": "SCRUM",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "Core Data",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"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": "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": "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"
}
]
},
{
"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": "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_final_skills": [
"Objective-C",
"Swift",
"iOS",
"Agile",
"SCRUM",
"Cocoa Touch",
"Core Data",
"Core Animation",
"REST",
"Push Notifications"
],
"input_llm_skills": [
"Objective-C",
"Swift",
"iOS",
"Agile",
"SCRUM",
"Cocoa Touch",
"Core Data",
"Core Animation",
"REST",
"Push Notifications"
],
"new_aliases_persisted": 0,
"run_id": "1050f7ff-5486-41c0-b9f3-7a1aa6a47868",
"skills_detail": [
{
"aliases_in_db": [
{
"alias_text": "Objective-C",
"alias_type": "CANONICAL",
"id": 767,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 6,
"display_name": "Objective-C",
"id": 441,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "LANGUAGE",
"slug": "objective-c",
"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": "Objective-C",
"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": "Objective-C",
"llm_role": null,
"roles_from_db": [
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
}
],
"input_skill": "Objective-C",
"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": "iOS",
"alias_type": "CANONICAL",
"id": 2540,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 9,
"display_name": "iOS",
"id": 1594,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "ios",
"sub_category_id": 1200,
"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": "iOS",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "iOS",
"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": "Agile",
"alias_type": "CANONICAL",
"id": 868,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 8,
"display_name": "Agile",
"id": 520,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "agile",
"sub_category_id": 3594,
"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": "Agile",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Software Concepts, Patterns \u0026 Practices",
"id": 478,
"rationale": "Champion foundational software design patterns, development methodologies, and engineering best practices.",
"slug": "software-concepts-patterns-practices",
"source": "db"
},
"input_skill": "Agile",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
]
}
],
"input_skill": "Agile",
"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": "Scrum",
"alias_type": "CANONICAL",
"id": 1851,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 8,
"display_name": "Scrum",
"id": 1215,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "scrum",
"sub_category_id": 3627,
"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": "SCRUM",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Software Concepts, Patterns \u0026 Practices",
"id": 478,
"rationale": "Champion foundational software design patterns, development methodologies, and engineering best practices.",
"slug": "software-concepts-patterns-practices",
"source": "db"
},
"input_skill": "SCRUM",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Engineering Manager",
"id": 121,
"rationale": null,
"role_archetype": null,
"slug": "engineering-manager",
"source": "db"
}
]
}
],
"input_skill": "SCRUM",
"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": "Cocoa Touch",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Frameworks",
"skill_nature": "TOOL",
"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": "cocoa-touch",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Core Data",
"alias_type": "CANONICAL",
"id": 785,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 5,
"display_name": "Core Data",
"id": 459,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "core-data",
"sub_category_id": 336,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "Core Data",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"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": "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"
}
]
}
],
"input_skill": "Core Data",
"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": "Core Animation",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Frameworks",
"skill_nature": "TOOL",
"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": "core-animation",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"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"
}
]
},
{
"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": "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
}
],
"unmatched_skills": [
"Cocoa Touch",
"Core Animation"
]
}
API 3 — final-role-output
{
"chosen_role": {
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": "Domain=Software Engineering \u2192 sub-role ios-engineer; The JD is clearly for an iOS native mobile application developer using Objective-C/Swift, Cocoa Touch, and iOS frameworks.",
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
"chosen_role_resolution": "in_db",
"final_input_skills": [
{
"skill": "Objective-C",
"tag": "in_db"
},
{
"skill": "Swift",
"tag": "in_db"
},
{
"skill": "iOS",
"tag": "in_db"
},
{
"skill": "Agile",
"tag": "in_db"
},
{
"skill": "SCRUM",
"tag": "in_db"
},
{
"skill": "Cocoa Touch",
"tag": "new"
},
{
"skill": "Core Data",
"tag": "in_db"
},
{
"skill": "Core Animation",
"tag": "new"
},
{
"skill": "REST",
"tag": "in_db"
},
{
"skill": "Push Notifications",
"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": "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": "Objective-C",
"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": 441,
"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": "Objective-C",
"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": 441,
"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": "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": "iOS",
"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": 1594,
"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": "Agile",
"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": 520,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Software Concepts, Patterns \u0026 Practices",
"id": 478,
"rationale": "Champion foundational software design patterns, development methodologies, and engineering best practices.",
"slug": "software-concepts-patterns-practices",
"source": "db"
},
"dimension_id": 478,
"input_skill": "Agile",
"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"
}
],
"skill_dimension_saved": true,
"skill_id": 520,
"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": "SCRUM",
"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": 1215,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Software Concepts, Patterns \u0026 Practices",
"id": 478,
"rationale": "Champion foundational software design patterns, development methodologies, and engineering best practices.",
"slug": "software-concepts-patterns-practices",
"source": "db"
},
"dimension_id": 478,
"input_skill": "SCRUM",
"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"
}
],
"skill_dimension_saved": true,
"skill_id": 1215,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 75,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"dimension_id": 85,
"input_skill": "Core Data",
"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": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"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": "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": 459,
"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"
}
],
"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": "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
}
],
"new_skills_created": 0,
"role_dimension_saved": 0,
"skill_dimension_saved": 0,
"skipped": 0
},
"planner_output": null,
"run_id": "1050f7ff-5486-41c0-b9f3-7a1aa6a47868"
}
LLM Calls
Every model call made for this run, in pipeline order. Click a card to see the model's response.