← Back to history

Pipeline run

976cdca5-a9ed-4151-a378-2d887c607347

Pipeline LLM cost (USD)
API 1: $0.0042 API 2: $0.0003 API 3: $0.0000 Total: $0.0045

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 · Cross-platform feature development
Build and ship React Native features across iOS/Android, then debug platform-specific issues, navigation/offline flows, and performance problems while keeping code testable, reusable, and release-ready via CI/CD and OTA updates.
"Build and ship new features end-to-end in React Native for both iOS and Android."
Tech stack maturity
Mainstream Modern
Hybrid mobile development with Android, iOS, React Native, and CI/CD is a widely adopted contemporary stack that is modern but not 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 (23)
React Native iOS Android CI/CD OTA updates Flipper Xcode Android Studio Chrome DevTools Play Store App Store Push notifications Deep linking Offline support Navigation Local DB Performance optimization Debugging Permissions Native modules Camera Storage Maps
Skill cluster (5 dimension groups, role-scoped)
Device APIs and Hardware Integration
Permissions Native modules Camera
Background Execution and Lifecycle
Push notifications
Build and Release Tooling
Xcode
UI Frameworks and Rendering
React Native
Cross-cutting / unaligned
iOS Android CI/CD OTA updates Flipper Android Studio Chrome DevTools Play Store App Store Deep linking Offline support Navigation Local DB Performance optimization Debugging Storage Maps
Show KRA description ↓
• Build and ship new features end-to-end in React Native for both iOS and Android. • Collaborate with product, backend, and QA teams to design performant, testable mobile solutions. • Deep-dive into React Native platform issues from Android release compatibility to iOS gesture bugs and implement long-term fixes. • Maintain and improve existing features to enhance usability, reduce tech debt, and optimize performance. • Implement navigation, offline workflows, local DB, and complex component lifecycles reliably across platforms. • Own code quality and best practices modularity, code reuse, maintainability, and debugging across native boundaries. • Write clean, reusable, and well-tested code. Support CI/CD, OTA updates, and staged rollouts. • 5+ years of experience in React Native development with apps shipped to Play Store and App Store. • Hands-on experience working on complex features like dynamic forms, push notifications, deep linking, media upload, offline support, etc. • Strong knowledge of React Native internals and practical awareness of Android/iOS platform behaviors, bugs, and quirks. • Ability to debug performance issues using Flipper, Xcode, Android Studio, or Chrome DevTools. • Strong understanding of mobile UX patterns, navigation libraries, and lifecycle management in React Native. • Experienced in working within production environments, with a strong understanding of issues that can arise during upgrades. • Proficient in identifying potential risks, ensuring minimal downtime, and proactively addressing challenges. • Experience integrating native modules (camera, storage, push services, maps, etc.) and handling permissions properly. • Comfortable working in a fast-paced, iterative development environment with short release cycles.

Signals

Skill full-stack-engineer
0.20
Alias hybrid-mobile-developer
1.00
KRA hybrid-mobile-developer
0.61
Status: completed Created: 2026-05-27T14:54:55.625716Z Updated: 2026-06-12T17:09:05.303338Z API 3 duration: 18577 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

Hybrid Mobile Developer

React Native Developer

sub-role · 0.95 CASE A

slug: hybrid-mobile-developer · id: 11 · source: db · sub-role slug: react-native-developer

Multi-alias tie (4 roles at 1.0) resolved by TIER_B_TITLE: React Native Developer

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
7
Skipped

Job description

Experience: 5.00 + years

Salary: INR 4000000.00 / year (based on experience)

Expected Notice Period: 15 Days

Shift: (GMT+05:30) Asia/Kolkata (IST)

Opportunity Type: Remote

Placement Type: Full Time Permanent position(Payroll and Compliance to be managed by: Delightree)

(*Note: This is a requirement for one of Uplers' client - A Series A funded California based Software Development Company)

What do you need for this opportunity?

Must have skills required:

Communication Skills, React Native

A Series A funded California based Software Development Company is Looking for:

Job Title: Senior - React Native Developer – SaaS Platform

Experience: 5+ Years

Function: Engineering

Reports To: Head of Engineering

About Us We’re building a SaaS platform that helps distributed teams (franchise operations, field workers, etc.) streamline their tasks, training, audits, and day-to-day operations. Our mobile app is the primary touchpoint for these teams, and we’re looking for a React Native Developer who thrives on solving real-world problems and building high-performance, production-grade mobile apps.

What You’ll Do

• Build and ship new features end-to-end in React Native for both iOS and Android.
• Collaborate with product, backend, and QA teams to design performant, testable mobile solutions.
• Deep-dive into React Native platform issues from Android release compatibility to iOS gesture bugs and implement long-term fixes.
• Maintain and improve existing features to enhance usability, reduce tech debt, and optimize performance.
• Implement navigation, offline workflows, local DB, and complex component lifecycles reliably across platforms.
• Own code quality and best practices modularity, code reuse, maintainability, and debugging across native boundaries.
• Write clean, reusable, and well-tested code. Support CI/CD, OTA updates, and staged rollouts.



What We’re Looking For

• 5+ years of experience in React Native development with apps shipped to Play Store and App Store.
• Hands-on experience working on complex features like dynamic forms, push notifications, deep linking, media upload, offline support, etc.
• Strong knowledge of React Native internals and practical awareness of Android/iOS platform behaviors, bugs, and quirks.
• Ability to debug performance issues using Flipper, Xcode, Android Studio, or Chrome DevTools.
• Strong understanding of mobile UX patterns, navigation libraries, and lifecycle management in React Native.
• Experienced in working within production environments, with a strong understanding of issues that can arise during upgrades.
• Proficient in identifying potential risks, ensuring minimal downtime, and proactively addressing challenges.
• Experience integrating native modules (camera, storage, push services, maps, etc.) and handling permissions properly.
• Comfortable working in a fast-paced, iterative development environment with short release cycles.



Why Join Us?

• Your code will directly impact thousands of users relying on our app every day.
• Opportunity to own modules end-to-end, from tech design to production support.
• Work in a tight-knit team where decisions are fast, feedback is immediate, and your ideas are valued.
• Tackle real-world challenges around scale, reliability, performance, and user experience.



How to apply for this opportunity?

• Step 1: Click On Apply! And Register or Login on our portal.
• Step 2: Complete the Screening Form & Upload updated Resume
• Step 3: Increase your chances to get shortlisted & meet the client for the Interview!



About Uplers:

Our goal is to make hiring reliable, simple, and fast. Our role will be to help all our talents find and apply for relevant contractual onsite opportunities and progress in their career. We will support any grievances or challenges you may face during the engagement.

(Note: There are many more opportunities apart from this on the portal. Depending on the assessments you clear, you can apply for them as well).

So, if you are ready for a new challenge, a great work environment, and an opportunity to take your career to the next level, don't hesitate to apply today. We are waiting for you!

Skills from this JD

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

React Native Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: React Native id=1040 · react-native

Aliases — catalog

  • React Native (CANONICAL) primary

Context tags (catalog)

Android Component Lifecycle Cross-Platform Expo Firebase GraphQL Hooks Hot Reloading JavaScript Jest MobX Mobile UI Native Modules REST API React Hooks React Navigation Redux State Management Styled Components TypeScript UI Kitten iOS

Stored enrichment (catalog DB)

Category
Framework
Sub-category
Mobile App Framework
Vendor
Meta
License
mit
Year introduced
2015
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: React Native appears in many mobile engineer job descriptions and is widely used in production apps by major vendors, indicating strong hiring-pipeline demand rather than niche adoption.

Skill profile (library / DB)

Skill nature
FRAMEWORK
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
5
Sub-category id
2146
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Cross-Platform Mobile UI Frameworks Catalog dimension db id 319

    Library dimension (catalog)

    Roles linked in library: React Native Developer

  • UI Frameworks and Rendering Catalog dimension db id 115

    Library dimension (catalog)

    Roles linked in library: Frontend Developer, Fullstack Developer, Fullstack Developer, Hybrid Mobile Developer, Ionic Developer, Web Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Cross-Platform Mobile UI Frameworks
cross-platform-mobile-ui-frameworks
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
UI Frameworks and Rendering
ui-frameworks-and-rendering
Existing dimension (library) · Role↔dimension saved
iOS Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: iOS id=1594 · ios

Aliases — catalog

  • iOS (CANONICAL)

Context tags (catalog)

App Store Auto Layout Cocoa Touch CocoaPods Core Data MVVM Objective-C Push Notifications RESTful APIs Swift SwiftUI TestFlight UIKit Xcode iCloud

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)
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)
CI/CD Primary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: CI/CD id=1190 · ci-cd

Aliases — catalog

  • CI/CD (CANONICAL)

Context tags (catalog)

Ansible CircleCI Docker GitLab CI Jenkins Kubernetes Terraform Travis CI automated testing build automation continuous deployment continuous integration deployment pipelines monitoring version control

Stored enrichment (catalog DB)

Category
Methodology
Sub-category
Ci Cd Process
Confidence
0.93
Version strategy
NOT_APPLICABLE

Maturity reasoning: CI/CD appears in a large share of software engineering JDs and is a standard requirement across DevOps, platform, and backend roles; major vendors like GitHub, GitLab, and AWS all center product roadmaps on CI/CD pipelines.

Skill profile (library / DB)

Skill nature
METHODOLOGY
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
8
Sub-category id
900
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • CI/CD Pipeline Platforms Catalog dimension db id 150

    Library dimension (catalog)

    Roles linked in library: DevOps Engineer

  • CI/CD for Machine Learning Catalog dimension db id 56

    Library dimension (catalog)

    Roles linked in library: ML Engineer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
CI/CD Pipeline Platforms
ci-cd-pipeline-platforms
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
CI/CD for Machine Learning
ci-cd-for-machine-learning
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
OTA updates Primary 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
Mobile Development
Sub-category
general
Skill nature
PRACTICE
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Flipper 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
Development Tools
Sub-category
general
Skill nature
TOOL
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Xcode Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Xcode id=479 · xcode

Aliases — catalog

  • Xcode (CANONICAL) primary

Context tags (catalog)

App Store Asset Catalog Build Phases Cocoa Cocoa Touch CocoaPods Code Signing Debugging Git integration Instruments Interface Builder Objective-C Provisioning Profiles Simulator Storyboard Swift Swift Package Manager SwiftUI TestFlight UIKit Version Control XCTest Xcode Server code signing debugging iOS SDK storyboards

Stored enrichment (catalog DB)

Category
Tool
Sub-category
Ide Tool
Vendor
Apple
License
proprietary
Year introduced
2003
Confidence
0.98
Version strategy
NOT_APPLICABLE

Maturity reasoning: Xcode is the standard IDE in iOS/macOS job postings and Apple’s official toolchain for Swift/Objective-C development; it remains a common hiring requirement for Apple-platform roles.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Build and Release Tooling Catalog dimension db id 89

    Library dimension (catalog)

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

  • Native Mobile Build and Release Tooling Catalog dimension db id 272

    Library dimension (catalog)

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

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Build and Release Tooling
build-and-release-tooling
Existing dimension (library) · Role↔dimension saved
Native Mobile Build and Release Tooling
native-mobile-build-and-release-tooling
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Android Studio 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
Development Tools
Sub-category
general
Skill nature
TOOL
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Chrome DevTools Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Chrome DevTools id=701 · chrome-devtools

Aliases — catalog

  • Chrome DevTools (CANONICAL) primary

Context tags (catalog)

Application panel CSS debugging Chrome extensions Console DOM inspection Debugger Device mode Elements panel HAR JavaScript debugging Lighthouse Memory profiling Network panel Performance profiling Responsive design mode Security panel Sources panel Workspaces XHR breakpoints console coverage event listeners memory leaks network tab performance profiling responsive design mode source maps

Stored enrichment (catalog DB)

Category
Tool
Sub-category
Browser Developer Tool
Vendor
Google
License
apache_2
Year introduced
2011
Confidence
0.99
Version strategy
NOT_APPLICABLE

Maturity reasoning: Chrome DevTools is a standard browser debugging tool and appears routinely in frontend/web JDs for debugging, performance profiling, and network inspection; no vendor sunset or replacement signal exists.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Release Readiness and Browser Compatibility Catalog dimension db id 129

    Library dimension (catalog)

    Roles linked in library: Angular Frontend Developer, Frontend Developer, React Frontend Developer, Vue Frontend Developer, Web Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Release Readiness and Browser Compatibility
release-readiness-and-browser-compatibility
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
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
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
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
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 saved
Push Notifications and Deep Links
push-notifications-and-deep-links
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Deep linking Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: deep links id=451 · deep-links

Aliases — catalog

  • deep links (CANONICAL) primary
  • Deep links (CANONICAL)

Context tags (catalog)

SEO optimization URI scheme URL scheme URL schemes analytics integration analytics tracking app indexing app install app links app-to-app attribution campaign tracking click tracking click-through rate click-through rates content discovery contextual linking contextual navigation conversion optimization conversion rates cross-platform cross-platform linking custom URL scheme deep linking tools deferred deep linking deferred deep links dynamic links fallback URL in-app messaging in-app navigation intent filters landing page link management link routing linking strategies linking strategy mobile app navigation mobile deep linking mobile marketing mobile navigation open in app referral attribution routing universal links user engagement user experience user retention

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Navigation Concept
Confidence
0.78
Version strategy
NOT_APPLICABLE

Maturity reasoning: Deep links are a standard mobile/web navigation pattern and appear routinely in app, Android/iOS, and marketing JDs; platform docs from Apple and Android actively support them rather than deprecate them.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Client Routing and Navigation Catalog dimension db id 119

    Library dimension (catalog)

    Roles linked in library: Frontend Developer, Web Developer

  • Navigation and Routing Catalog dimension db id 322

    Library dimension (catalog)

    Roles linked in library: Flutter Developer

  • Push Notifications and Deep Links Catalog dimension db id 320

    Library dimension (catalog)

    Roles linked in library: Ionic Developer, React Native Developer

  • Push Notifications and Messaging Catalog dimension db id 88

    Library dimension (catalog)

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

  • Screen Navigation and State Catalog dimension db id 83

    Library dimension (catalog)

    Roles linked in library: Android Developer, Flutter Developer, Fullstack Developer, Hybrid Mobile Developer, Ionic Developer, Native Mobile Developer, React Native Developer, iOS Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Client Routing and Navigation
client-routing-and-navigation
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
Navigation and Routing
navigation-and-routing
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
Push Notifications and Deep Links
push-notifications-and-deep-links
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
Push Notifications and Messaging
push-notifications-and-messaging
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
Screen Navigation and State
screen-navigation-and-state
Skipped — no persistable v3 meta for new skill
skill_not_in_db_v3_proposed
Offline support Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: offline support id=2715 · offline-support

Aliases — catalog

  • offline support (CANONICAL) primary

Context tags (catalog)

API fallback PWA background sync client-side storage content delivery data persistence data synchronization event-driven intermittent connectivity local caching mobile applications network resilience offline-first service workers user experience

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Offline Capability Concept
Confidence
0.88
Version strategy
NOT_APPLICABLE

Maturity reasoning: Commonly requested in mobile/PWA JDs and product specs; market signal is widespread use of service workers and offline-first features in modern web apps, especially for field and retail apps.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Responsive and Mobile Web Design Catalog dimension db id 125

    Library dimension (catalog)

    Roles linked in library: Angular Frontend Developer, Frontend Developer, React Frontend Developer, Svelte Frontend Developer, Vue Frontend Developer, Web Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Responsive and Mobile Web Design
responsive-and-mobile-web-design
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Navigation 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
Mobile Development
Sub-category
general
Skill nature
CONCEPT
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Local DB 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
Databases
Sub-category
general
Skill nature
CONCEPT
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Performance optimization 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
Software Engineering
Sub-category
general
Skill nature
PRACTICE
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Debugging Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: debugging id=4182 · debugging

Aliases — catalog

  • debugging (CANONICAL) primary

Context tags (catalog)

assertions breakpoints code review debugger debugging tools error handling interactive debugging logging memory leaks performance tuning profiling root cause analysis stack trace test-driven development unit tests watch expressions

Stored enrichment (catalog DB)

Category
Methodology
Sub-category
Debugging Methodology
Confidence
0.96
Version strategy
NOT_APPLICABLE

Maturity reasoning: Debugging is a universal hiring-pipeline skill across software JDs and interview loops; it appears in role requirements for backend, frontend, SRE, and QA, with no successor replacing it.

Skill profile (library / DB)

Skill nature
METHODOLOGY
Volatility
STABLE
Typical lifespan
EVERGREEN
Category id
8
Sub-category id
3293
Extractable
True
Also category
False

Dimensions (API 2 worklist)

  • Sitecore Troubleshooting and Maintenance Catalog dimension db id 447

    Library dimension (catalog)

    Roles linked in library: Sitecore Dev

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Sitecore Troubleshooting and Maintenance
sitecore-troubleshooting-and-maintenance
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Permissions Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: permissions id=2875 · permissions

Aliases — catalog

  • permissions (CANONICAL) primary
  • Permissions (CANONICAL)

Context tags (catalog)

ACL JWT OAuth RBAC SAML access control access rights audit trails authentication authorization compliance standards granular permissions identity management least privilege multi-factor authentication permission inheritance permission sets permissions model policy enforcement principle of least privilege privilege escalation resource access resource permissions resource protection role assignment role-based access scope of access security model security policies security tokens user roles

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Access Control Permission
Confidence
0.93
Version strategy
NOT_APPLICABLE

Maturity reasoning: Permissions are a core access-control concept in most JDs for web, cloud, and enterprise systems; they appear across IAM/RBAC/ACL requirements rather than as a niche tool.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Access Control and Permissions Catalog dimension db id 350

    Library dimension (catalog)

    Roles linked in library: Drupal Dev

  • CMS Access Control and Permissions Catalog dimension db id 437

    Library dimension (catalog)

    Roles linked in library: Sitecore Dev

  • Device APIs and Hardware Integration Catalog dimension db id 171

    Library dimension (catalog)

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

  • Magento Security and Access Control Catalog dimension db id 406

    Library dimension (catalog)

    Roles linked in library: Magento Dev

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Access Control and Permissions
access-control-and-permissions
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
CMS Access Control and Permissions
cms-access-control-and-permissions
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Device APIs and Hardware Integration
device-apis-and-hardware-integration
Existing dimension (library) · Role↔dimension saved
Magento Security and Access Control
magento-security-and-access-control
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Native modules Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: native modules id=2876 · native-modules

Aliases — catalog

  • native modules (CANONICAL) primary

Context tags (catalog)

API design C extensions C++ FFI JavaScript N-API Node.js asynchronous binding build tools cross-platform interoperability memory management module loading native add-ons performance optimization

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Native Integration Concept
Confidence
0.73
Version strategy
NOT_APPLICABLE

Maturity reasoning: Common in JDs for mobile and JS ecosystems (e.g., React Native native modules, Node.js addons) where teams need platform integration; broad hiring signal rather than a niche or sunset tech.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Device APIs and Hardware Integration Catalog dimension db id 171

    Library dimension (catalog)

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

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Device APIs and Hardware Integration
device-apis-and-hardware-integration
Existing dimension (library) · Role↔dimension saved
Camera Secondary Library skill API 3: existing canonical (in_db) Existing skill (matched library)
Canonical: Camera id=1080 · camera

Aliases — catalog

  • Camera (CANONICAL) primary
  • camera (CANONICAL)

Context tags (catalog)

HDR HDR imaging ISO ISO settings JPEG RAW RAW format aperture camera API camera calibration camera settings composition depth of field digital imaging digital photography exposure exposure settings focus focus modes frame rates image processing image sensor image stabilization lens lens distortion photography raw format sensor sensor types shutter speed tripod video capture viewfinder white balance

Stored enrichment (catalog DB)

Category
Concept
Sub-category
Device Capability Concept
Confidence
0.76
Version strategy
NOT_APPLICABLE

Maturity reasoning: Camera is a ubiquitous device capability in mobile/web JDs and SDK docs (e.g., iOS AVFoundation, Android CameraX, WebRTC getUserMedia), with broad hiring demand across consumer apps and computer vision products.

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

  • Device APIs and Hardware Integration Catalog dimension db id 171

    Library dimension (catalog)

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

  • Device Capabilities and Sensors Catalog dimension db id 379

    Library dimension (catalog)

    Roles linked in library: Ionic Developer

  • Platform Channels and Device APIs Catalog dimension db id 314

    Library dimension (catalog)

    Roles linked in library: Flutter Developer

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Device APIs and Hardware Integration
device-apis-and-hardware-integration
Existing dimension (library) · Role↔dimension saved
Device Capabilities and Sensors
device-capabilities-and-sensors
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Platform Channels and Device APIs
platform-channels-and-device-apis
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
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
Databases
Sub-category
general
Skill nature
CONCEPT
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED
Maps 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
Mobile Development
Sub-category
general
Skill nature
CONCEPT
Volatility
MEDIUM
Typical lifespan
MULTI_YEAR
Version strategy
UNVERSIONED

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
React Native in_db
Cross-Platform Mobile UI Frameworks
cross-platform-mobile-ui-frameworks
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
React Native in_db
UI Frameworks and Rendering
ui-frameworks-and-rendering
Existing dimension (library) · Role↔dimension saved
iOS in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Android in_db
React Frontend Development
d_init_01
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
CI/CD in_db
CI/CD Pipeline Platforms
ci-cd-pipeline-platforms
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
CI/CD in_db
CI/CD for Machine Learning
ci-cd-for-machine-learning
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Xcode in_db
Build and Release Tooling
build-and-release-tooling
Existing dimension (library) · Role↔dimension saved
Xcode in_db
Native Mobile Build and Release Tooling
native-mobile-build-and-release-tooling
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Chrome DevTools in_db
Release Readiness and Browser Compatibility
release-readiness-and-browser-compatibility
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Play Store new
Mobile Vendor Platforms
mobile-vendor-platforms
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed
App Store new
Mobile Vendor Platforms
mobile-vendor-platforms
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed
Push notifications in_db
Background Execution and Lifecycle
background-execution-and-lifecycle
Existing dimension (library) · Role↔dimension saved
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)
Deep linking new
Client Routing and Navigation
client-routing-and-navigation
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed
Deep linking new
Navigation and Routing
navigation-and-routing
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed
Deep linking new
Push Notifications and Deep Links
push-notifications-and-deep-links
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed
Deep linking new
Push Notifications and Messaging
push-notifications-and-messaging
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed
Deep linking new
Screen Navigation and State
screen-navigation-and-state
Skipped — no persistable v3 meta for new skill skill_not_in_db_v3_proposed
Offline support in_db
Responsive and Mobile Web Design
responsive-and-mobile-web-design
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Debugging in_db
Sitecore Troubleshooting and Maintenance
sitecore-troubleshooting-and-maintenance
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Permissions in_db
Access Control and Permissions
access-control-and-permissions
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Permissions in_db
CMS Access Control and Permissions
cms-access-control-and-permissions
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Permissions in_db
Device APIs and Hardware Integration
device-apis-and-hardware-integration
Existing dimension (library) · Role↔dimension saved
Permissions in_db
Magento Security and Access Control
magento-security-and-access-control
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Native modules in_db
Device APIs and Hardware Integration
device-apis-and-hardware-integration
Existing dimension (library) · Role↔dimension saved
Camera in_db
Device APIs and Hardware Integration
device-apis-and-hardware-integration
Existing dimension (library) · Role↔dimension saved
Camera in_db
Device Capabilities and Sensors
device-capabilities-and-sensors
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
Camera in_db
Platform Channels and Device APIs
platform-channels-and-device-apis
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)

Library artifacts (this run)

Kind Detail DB id
canonical_skill_proposed OTA updates | type=Mobile Development subtype=general nature=PRACTICE lifespan=MULTI_YEAR
canonical_skill_proposed Flipper | type=Development Tools subtype=general nature=TOOL lifespan=MULTI_YEAR
canonical_skill_proposed Android Studio | type=Development Tools subtype=general nature=TOOL lifespan=MULTI_YEAR
canonical_skill_proposed Navigation | type=Mobile Development subtype=general nature=CONCEPT lifespan=MULTI_YEAR
canonical_skill_proposed Local DB | type=Databases subtype=general nature=CONCEPT lifespan=MULTI_YEAR
canonical_skill_proposed Performance optimization | type=Software Engineering subtype=general nature=PRACTICE lifespan=MULTI_YEAR
canonical_skill_proposed Storage | type=Databases subtype=general nature=CONCEPT lifespan=MULTI_YEAR
canonical_skill_proposed Maps | type=Mobile Development subtype=general nature=CONCEPT lifespan=MULTI_YEAR
dimension_skill_link_proposed Play Store ↔ Mobile Vendor Platforms
role_dimension_link_proposed Hybrid Mobile Developer ↔ Mobile Vendor Platforms
dimension_skill_link_proposed App Store ↔ Mobile Vendor Platforms
role_dimension_link_proposed Hybrid Mobile Developer ↔ Mobile Vendor Platforms
dimension_skill_link_proposed Deep linking ↔ Client Routing and Navigation
dimension_skill_link_proposed Deep linking ↔ Navigation and Routing
dimension_skill_link_proposed Deep linking ↔ Push Notifications and Deep Links
dimension_skill_link_proposed Deep linking ↔ Push Notifications and Messaging
role_dimension_link_proposed Hybrid Mobile Developer ↔ Push Notifications and Messaging
dimension_skill_link_proposed Deep linking ↔ Screen Navigation and State
role_dimension_link_proposed Hybrid Mobile Developer ↔ Screen Navigation and State
nano JD Parser — gpt-4.1-nano click to toggle
RoleSenior - React Native Developer – SaaS Platform
CompanyUplers
Experience5+ Years
CTC{'max': 4000000, 'min': 4000000, 'raw': 'INR 4000000.00 / year', 'period': 'annual', 'currency': 'INR'}
DomainSoftware & SaaS Products
Location India (remote)
JD type pass
Show raw JSON
{
  "JD_type": "pass",
  "about_company": {
    "source_marker": {
      "first_5_words": "About Uplers:\nOur goal is",
      "last_5_words": "you may face during the engagement."
    },
    "text": "About Uplers:\nOur goal is to make hiring reliable, simple, and fast. Our role will be to help all our talents find and apply for relevant contractual onsite opportunities and progress in their career. We will support any grievances or challenges you may face during the engagement.",
    "word_count": 52
  },
  "certifications": [],
  "company_name": "Uplers",
  "ctc": {
    "currency": "INR",
    "max": 4000000,
    "min": 4000000,
    "period": "annual",
    "raw": "INR 4000000.00 / year"
  },
  "domain": {
    "primary": {
      "aliases": [
        "SaaS",
        "Software Development"
      ],
      "domain": "Software \u0026 SaaS Products"
    },
    "secondary": null
  },
  "education": [],
  "experience": {
    "max": null,
    "min": 5,
    "raw": "5+ Years"
  },
  "job_locations": [
    {
      "aliases": [],
      "city": null,
      "country": "India",
      "state": null,
      "work_mode": "remote"
    }
  ],
  "role": "Senior - React Native Developer \u2013 SaaS Platform",
  "role_aliases": [
    "React Native Developer",
    "Senior React Native Developer",
    "Mobile Developer"
  ],
  "role_archetype": "Engineering",
  "roles_and_responsibilities": [
    {
      "bullet_count": 7,
      "heading": "What You\u2019ll Do",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "\u2022 Build and ship new",
        "last_5_words": "and staged rollouts."
      },
      "text": "\u2022 Build and ship new features end-to-end in React Native for both iOS and Android.\n\u2022 Collaborate with product, backend, and QA teams to design performant, testable mobile solutions.\n\u2022 Deep-dive into React Native platform issues from Android release compatibility to iOS gesture bugs and implement long-term fixes.\n\u2022 Maintain and improve existing features to enhance usability, reduce tech debt, and optimize performance.\n\u2022 Implement navigation, offline workflows, local DB, and complex component lifecycles reliably across platforms.\n\u2022 Own code quality and best practices modularity, code reuse, maintainability, and debugging across native boundaries.\n\u2022 Write clean, reusable, and well-tested code. Support CI/CD, OTA updates, and staged rollouts.",
      "word_count": 134
    },
    {
      "bullet_count": 9,
      "heading": "What We\u2019re Looking For",
      "heading_was_present": true,
      "source_marker": {
        "first_5_words": "\u2022 5+ years of experience",
        "last_5_words": "release cycles."
      },
      "text": "\u2022 5+ years of experience in React Native development with apps shipped to Play Store and App Store.\n\u2022 Hands-on experience working on complex features like dynamic forms, push notifications, deep linking, media upload, offline support, etc.\n\u2022 Strong knowledge of React Native internals and practical awareness of Android/iOS platform behaviors, bugs, and quirks.\n\u2022 Ability to debug performance issues using Flipper, Xcode, Android Studio, or Chrome DevTools.\n\u2022 Strong understanding of mobile UX patterns, navigation libraries, and lifecycle management in React Native.\n\u2022 Experienced in working within production environments, with a strong understanding of issues that can arise during upgrades.\n\u2022 Proficient in identifying potential risks, ensuring minimal downtime, and proactively addressing challenges.\n\u2022 Experience integrating native modules (camera, storage, push services, maps, etc.) and handling permissions properly.\n\u2022 Comfortable working in a fast-paced, iterative development environment with short release cycles.",
      "word_count": 164
    }
  ],
  "urls": []
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "React Native"
    },
    {
      "is_primary": true,
      "skill_name": "iOS"
    },
    {
      "is_primary": true,
      "skill_name": "Android"
    },
    {
      "is_primary": true,
      "skill_name": "CI/CD"
    },
    {
      "is_primary": true,
      "skill_name": "OTA updates"
    },
    {
      "is_primary": false,
      "skill_name": "Flipper"
    },
    {
      "is_primary": false,
      "skill_name": "Xcode"
    },
    {
      "is_primary": false,
      "skill_name": "Android Studio"
    },
    {
      "is_primary": false,
      "skill_name": "Chrome DevTools"
    },
    {
      "is_primary": false,
      "skill_name": "Play Store"
    },
    {
      "is_primary": false,
      "skill_name": "App Store"
    },
    {
      "is_primary": false,
      "skill_name": "Push notifications"
    },
    {
      "is_primary": false,
      "skill_name": "Deep linking"
    },
    {
      "is_primary": false,
      "skill_name": "Offline support"
    },
    {
      "is_primary": false,
      "skill_name": "Navigation"
    },
    {
      "is_primary": false,
      "skill_name": "Local DB"
    },
    {
      "is_primary": false,
      "skill_name": "Performance optimization"
    },
    {
      "is_primary": false,
      "skill_name": "Debugging"
    },
    {
      "is_primary": false,
      "skill_name": "Permissions"
    },
    {
      "is_primary": false,
      "skill_name": "Native modules"
    },
    {
      "is_primary": false,
      "skill_name": "Camera"
    },
    {
      "is_primary": false,
      "skill_name": "Storage"
    },
    {
      "is_primary": false,
      "skill_name": "Maps"
    }
  ],
  "jd_role": {
    "display_name": "Senior - React Native Developer \u2013 SaaS Platform",
    "rationale": null,
    "role_aliases": [
      "React Native Developer",
      "Senior React Native Developer",
      "Mobile Developer"
    ],
    "role_archetype": "Engineering",
    "slug": ""
  },
  "nano_parsed": {
    "JD_type": "pass",
    "about_company": {
      "source_marker": {
        "first_5_words": "About Uplers:\nOur goal is",
        "last_5_words": "you may face during the engagement."
      },
      "text": "About Uplers:\nOur goal is to make hiring reliable, simple, and fast. Our role will be to help all our talents find and apply for relevant contractual onsite opportunities and progress in their career. We will support any grievances or challenges you may face during the engagement.",
      "word_count": 52
    },
    "certifications": [],
    "company_name": "Uplers",
    "ctc": {
      "currency": "INR",
      "max": 4000000,
      "min": 4000000,
      "period": "annual",
      "raw": "INR 4000000.00 / year"
    },
    "domain": {
      "primary": {
        "aliases": [
          "SaaS",
          "Software Development"
        ],
        "domain": "Software \u0026 SaaS Products"
      },
      "secondary": null
    },
    "education": [],
    "experience": {
      "max": null,
      "min": 5,
      "raw": "5+ Years"
    },
    "job_locations": [
      {
        "aliases": [],
        "city": null,
        "country": "India",
        "state": null,
        "work_mode": "remote"
      }
    ],
    "role": "Senior - React Native Developer \u2013 SaaS Platform",
    "role_aliases": [
      "React Native Developer",
      "Senior React Native Developer",
      "Mobile Developer"
    ],
    "role_archetype": "Engineering",
    "roles_and_responsibilities": [
      {
        "bullet_count": 7,
        "heading": "What You\u2019ll Do",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "\u2022 Build and ship new",
          "last_5_words": "and staged rollouts."
        },
        "text": "\u2022 Build and ship new features end-to-end in React Native for both iOS and Android.\n\u2022 Collaborate with product, backend, and QA teams to design performant, testable mobile solutions.\n\u2022 Deep-dive into React Native platform issues from Android release compatibility to iOS gesture bugs and implement long-term fixes.\n\u2022 Maintain and improve existing features to enhance usability, reduce tech debt, and optimize performance.\n\u2022 Implement navigation, offline workflows, local DB, and complex component lifecycles reliably across platforms.\n\u2022 Own code quality and best practices modularity, code reuse, maintainability, and debugging across native boundaries.\n\u2022 Write clean, reusable, and well-tested code. Support CI/CD, OTA updates, and staged rollouts.",
        "word_count": 134
      },
      {
        "bullet_count": 9,
        "heading": "What We\u2019re Looking For",
        "heading_was_present": true,
        "source_marker": {
          "first_5_words": "\u2022 5+ years of experience",
          "last_5_words": "release cycles."
        },
        "text": "\u2022 5+ years of experience in React Native development with apps shipped to Play Store and App Store.\n\u2022 Hands-on experience working on complex features like dynamic forms, push notifications, deep linking, media upload, offline support, etc.\n\u2022 Strong knowledge of React Native internals and practical awareness of Android/iOS platform behaviors, bugs, and quirks.\n\u2022 Ability to debug performance issues using Flipper, Xcode, Android Studio, or Chrome DevTools.\n\u2022 Strong understanding of mobile UX patterns, navigation libraries, and lifecycle management in React Native.\n\u2022 Experienced in working within production environments, with a strong understanding of issues that can arise during upgrades.\n\u2022 Proficient in identifying potential risks, ensuring minimal downtime, and proactively addressing challenges.\n\u2022 Experience integrating native modules (camera, storage, push services, maps, etc.) and handling permissions properly.\n\u2022 Comfortable working in a fast-paced, iterative development environment with short release cycles.",
        "word_count": 164
      }
    ],
    "urls": []
  },
  "rejected": false,
  "rejection_reason": null,
  "run_id": "976cdca5-a9ed-4151-a378-2d887c607347",
  "stage3_signals": {
    "alias_found": true,
    "alias_match_roles": [
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 11,
        "score": 1.0,
        "slug": "hybrid-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
      },
      {
        "display_name": "React Native Developer",
        "kra_matches": null,
        "matched_count": null,
        "matched_skills": null,
        "role_id": 73,
        "score": 1.0,
        "slug": "react-native-developer",
        "total_count": null
      },
      {
        "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
      }
    ],
    "kra_match_roles": [
      {
        "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": "Build and ship new features end-to-end in React Native for both iOS and Android.",
            "similarity": 0.668
          },
          {
            "kra_text": "Accesses native device capabilities including camera, location services, Bluetooth, and biometric authentication through React Native or Flutter plugins.",
            "sentence": "Hands-on experience working on complex features like dynamic forms, push notifications, deep linking, media upload, offline support, etc. \u2022 Strong knowledge of React Native internals and practical awareness of Android/iOS platform behaviors, bugs, and quirks.",
            "similarity": 0.5874
          },
          {
            "kra_text": "Debugs cross-platform mobile issues including native module bridge failures, platform-specific rendering differences, and build configuration conflicts.",
            "sentence": "Deep-dive into React Native platform issues from Android release compatibility to iOS gesture bugs and implement long-term fixes.",
            "similarity": 0.5867
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 11,
        "score": 0.614,
        "slug": "hybrid-mobile-developer",
        "total_count": null
      },
      {
        "display_name": "Fullstack Developer",
        "kra_matches": [
          {
            "kra_text": "Delivers features through CI/CD pipelines using automated tests, staged rollouts, feature flags, and incremental deployments.",
            "sentence": "Support CI/CD, OTA updates, and staged rollouts.",
            "similarity": 0.7077
          },
          {
            "kra_text": "Works closely with product managers and UX designers to translate requirements and wireframes into working software features through iterative development.",
            "sentence": "Collaborate with product, backend, and QA teams to design performant, testable mobile solutions.",
            "similarity": 0.5726
          },
          {
            "kra_text": "Debugs full-stack issues that span frontend rendering, API behavior, database queries, and infrastructure configuration to identify root causes.",
            "sentence": "Ability to debug performance issues using Flipper, Xcode, Android Studio, or Chrome DevTools.",
            "similarity": 0.5583
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 15,
        "score": 0.6129,
        "slug": "full-stack-engineer",
        "total_count": null
      },
      {
        "display_name": "Flutter Developer",
        "kra_matches": [
          {
            "kra_text": "collaborate with design, product, and backend teams",
            "sentence": "Collaborate with product, backend, and QA teams to design performant, testable mobile solutions.",
            "similarity": 0.6952
          },
          {
            "kra_text": "structure reusable application code",
            "sentence": "Write clean, reusable, and well-tested code.",
            "similarity": 0.5671
          },
          {
            "kra_text": "optimize responsiveness and performance",
            "sentence": "Maintain and improve existing features to enhance usability, reduce tech debt, and optimize performance.",
            "similarity": 0.5514
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 74,
        "score": 0.6046,
        "slug": "flutter-developer",
        "total_count": null
      },
      {
        "display_name": "React Native Developer",
        "kra_matches": [
          {
            "kra_text": "maintain code quality",
            "sentence": "Write clean, reusable, and well-tested code.",
            "similarity": 0.6814
          },
          {
            "kra_text": "maintain code quality",
            "sentence": "Own code quality and best practices modularity, code reuse, maintainability, and debugging across native boundaries.",
            "similarity": 0.5632
          },
          {
            "kra_text": "maintain code quality",
            "sentence": "Maintain and improve existing features to enhance usability, reduce tech debt, and optimize performance.",
            "similarity": 0.5388
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 73,
        "score": 0.5945,
        "slug": "react-native-developer",
        "total_count": null
      },
      {
        "display_name": "Angular Frontend Developer",
        "kra_matches": [
          {
            "kra_text": "collaboration with design and QA",
            "sentence": "Collaborate with product, backend, and QA teams to design performant, testable mobile solutions.",
            "similarity": 0.6679
          },
          {
            "kra_text": "code review and refactoring",
            "sentence": "Write clean, reusable, and well-tested code.",
            "similarity": 0.5806
          },
          {
            "kra_text": "code review and refactoring",
            "sentence": "Own code quality and best practices modularity, code reuse, maintainability, and debugging across native boundaries.",
            "similarity": 0.5028
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 90,
        "score": 0.5838,
        "slug": "angular-frontend-developer",
        "total_count": null
      }
    ],
    "skill_match_roles": [
      {
        "display_name": "Fullstack Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "React Native"
        ],
        "role_id": 15,
        "score": 0.2,
        "slug": "full-stack-engineer",
        "total_count": 5
      },
      {
        "display_name": "ML Engineer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "CI/CD"
        ],
        "role_id": 3,
        "score": 0.2,
        "slug": "ml-engineer",
        "total_count": 5
      },
      {
        "display_name": "Frontend Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "React Native"
        ],
        "role_id": 7,
        "score": 0.2,
        "slug": "frontend-engineer",
        "total_count": 5
      },
      {
        "display_name": "DevOps Engineer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "CI/CD"
        ],
        "role_id": 10,
        "score": 0.2,
        "slug": "devops-engineer",
        "total_count": 5
      },
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "React Native"
        ],
        "role_id": 11,
        "score": 0.2,
        "slug": "hybrid-mobile-developer",
        "total_count": 5
      }
    ]
  },
  "stage4_decision": {
    "alias_collision_detected": true,
    "case": "A",
    "chosen_role": {
      "display_name": "Hybrid Mobile Developer",
      "kra_matches": null,
      "matched_count": null,
      "matched_skills": null,
      "role_id": 11,
      "score": 1.0,
      "slug": "hybrid-mobile-developer",
      "total_count": null
    },
    "confidence": 0.95,
    "is_new_role": false,
    "llm2_fired": false,
    "llm2_reasoning": null,
    "matched_dimensions": [],
    "matched_kras": [],
    "matched_skills": [],
    "new_role_display_name": null,
    "new_role_slug": null,
    "queued": false,
    "reasoning": "Multi-alias tie (4 roles at 1.0) resolved by TIER_B_TITLE: React Native Developer",
    "sub_role": {
      "confidence": 0.95,
      "display_name": "React Native Developer",
      "reasoning": "hoisted from chosen leaf (case=A)",
      "role_id": 73,
      "slug": "react-native-developer"
    }
  },
  "stage5_updates": 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": 1657,
      "existing_alias_text": "React Native",
      "input_term": "React Native",
      "matched_canonical": {
        "category_id": 5,
        "display_name": "React Native",
        "id": 1040,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "react-native",
        "sub_category_id": 2146,
        "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": 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": 1826,
      "existing_alias_text": "CI/CD",
      "input_term": "CI/CD",
      "matched_canonical": {
        "category_id": 8,
        "display_name": "CI/CD",
        "id": 1190,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "METHODOLOGY",
        "slug": "ci-cd",
        "sub_category_id": 900,
        "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": 805,
      "existing_alias_text": "Xcode",
      "input_term": "Xcode",
      "matched_canonical": {
        "category_id": 13,
        "display_name": "Xcode",
        "id": 479,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "xcode",
        "sub_category_id": 359,
        "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": 1206,
      "existing_alias_text": "Chrome DevTools",
      "input_term": "Chrome DevTools",
      "matched_canonical": {
        "category_id": 13,
        "display_name": "Chrome DevTools",
        "id": 701,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "chrome-devtools",
        "sub_category_id": 508,
        "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": 1712,
      "existing_alias_text": "Google Play Store",
      "input_term": "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": "embedding_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": 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": 4388,
      "existing_alias_text": "Deep links",
      "input_term": "Deep linking",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "deep links",
        "id": 451,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "deep-links",
        "sub_category_id": 317,
        "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": 4159,
      "existing_alias_text": "offline support",
      "input_term": "Offline support",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "offline support",
        "id": 2715,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "offline-support",
        "sub_category_id": 1971,
        "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": 5905,
      "existing_alias_text": "debugging",
      "input_term": "Debugging",
      "matched_canonical": {
        "category_id": 8,
        "display_name": "debugging",
        "id": 4182,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "METHODOLOGY",
        "slug": "debugging",
        "sub_category_id": 3293,
        "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": 4327,
      "existing_alias_text": "permissions",
      "input_term": "Permissions",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "permissions",
        "id": 2875,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "permissions",
        "sub_category_id": 3222,
        "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": 4328,
      "existing_alias_text": "native modules",
      "input_term": "Native modules",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "native modules",
        "id": 2876,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "native-modules",
        "sub_category_id": 2133,
        "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": 4411,
      "existing_alias_text": "Camera",
      "input_term": "Camera",
      "matched_canonical": {
        "category_id": 2,
        "display_name": "Camera",
        "id": 1080,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "camera",
        "sub_category_id": 2693,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "matched_via": "alias"
    }
  ],
  "candidate_roles": [
    {
      "display_name": "React Native Developer",
      "id": 73,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "react-native-developer",
      "source": "db"
    },
    {
      "display_name": "Frontend Developer",
      "id": 7,
      "rationale": null,
      "role_archetype": null,
      "slug": "frontend-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"
    },
    {
      "display_name": "Hybrid Mobile Developer",
      "id": 11,
      "rationale": null,
      "role_archetype": null,
      "slug": "hybrid-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "Ionic Developer",
      "id": 434,
      "rationale": null,
      "role_archetype": null,
      "slug": "ionic-developer",
      "source": "db"
    },
    {
      "display_name": "Web Developer",
      "id": 25,
      "rationale": null,
      "role_archetype": null,
      "slug": "web-developer",
      "source": "db"
    },
    {
      "display_name": "DevOps Engineer",
      "id": 10,
      "rationale": null,
      "role_archetype": null,
      "slug": "devops-engineer",
      "source": "db"
    },
    {
      "display_name": "ML Engineer",
      "id": 3,
      "rationale": null,
      "role_archetype": null,
      "slug": "ml-engineer",
      "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": "iOS Developer",
      "id": 6,
      "rationale": null,
      "role_archetype": null,
      "slug": "ios-engineer",
      "source": "db"
    },
    {
      "display_name": "Native Mobile Developer",
      "id": 75,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "native-mobile-developer",
      "source": "db"
    },
    {
      "display_name": "Angular Frontend Developer",
      "id": 90,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "angular-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "React Frontend Developer",
      "id": 89,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "react-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Vue Frontend Developer",
      "id": 91,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "vue-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Svelte Frontend Developer",
      "id": 92,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "svelte-frontend-developer",
      "source": "db"
    },
    {
      "display_name": "Sitecore Dev",
      "id": 233,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "sitecore-dev",
      "source": "db"
    },
    {
      "display_name": "Drupal Dev",
      "id": 228,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "drupal-dev",
      "source": "db"
    },
    {
      "display_name": "Magento Dev",
      "id": 231,
      "rationale": null,
      "role_archetype": "Engineering",
      "slug": "magento-dev",
      "source": "db"
    }
  ],
  "chosen_role": {
    "display_name": "Hybrid Mobile Developer",
    "id": 11,
    "rationale": "Multi-alias tie (4 roles at 1.0) resolved by TIER_B_TITLE: React Native Developer",
    "role_archetype": null,
    "slug": "hybrid-mobile-developer",
    "source": "db"
  },
  "dimensions": [
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Cross-Platform Mobile UI Frameworks",
        "id": 319,
        "rationale": "Frameworks, rendering models, and component libraries used to build shared mobile screens, layouts, and interactive experiences across platforms. This includes React Native and related tooling such as React Native CLI and Expo, as well as cross-platform UI libraries and interaction patterns like React Native Paper, NativeBase, gesture handlers, and animated components; it also covers comparable hybrid mobile UI frameworks such as Flutter. Excludes browser-only frontend frameworks and native platform UI toolkits such as SwiftUI, UIKit, Jetpack Compose, and Android Views.",
        "slug": "cross-platform-mobile-ui-frameworks",
        "source": "db"
      },
      "input_skill": "React Native",
      "llm_role": null,
      "roles_from_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": "UI Frameworks and Rendering",
        "id": 115,
        "rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
        "slug": "ui-frameworks-and-rendering",
        "source": "db"
      },
      "input_skill": "React Native",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Frontend Developer",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "frontend-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"
        },
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "Ionic Developer",
          "id": 434,
          "rationale": null,
          "role_archetype": null,
          "slug": "ionic-developer",
          "source": "db"
        },
        {
          "display_name": "Web Developer",
          "id": 25,
          "rationale": null,
          "role_archetype": null,
          "slug": "web-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": "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": "Android",
      "llm_role": null,
      "roles_from_db": []
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "CI/CD Pipeline Platforms",
        "id": 150,
        "rationale": "Systems used to define, run, and maintain automated build and deployment workflows. This cluster is coherent because the role owns delivery automation end to end, including pipeline reliability and promotion logic.",
        "slug": "ci-cd-pipeline-platforms",
        "source": "db"
      },
      "input_skill": "CI/CD",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "DevOps Engineer",
          "id": 10,
          "rationale": null,
          "role_archetype": null,
          "slug": "devops-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "CI/CD for Machine Learning",
        "id": 56,
        "rationale": "Tools and platforms for automating ML model integration, testing, and deployment pipelines.",
        "slug": "ci-cd-for-machine-learning",
        "source": "db"
      },
      "input_skill": "CI/CD",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "ML Engineer",
          "id": 3,
          "rationale": null,
          "role_archetype": null,
          "slug": "ml-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Build and Release Tooling",
        "id": 89,
        "rationale": "Tooling used to compile, sign, package, and automate iOS app builds. iOS engineers rely on this stack to produce reproducible release artifacts and manage build-time configuration.",
        "slug": "build-and-release-tooling",
        "source": "db"
      },
      "input_skill": "Xcode",
      "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": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Native Mobile Build and Release Tooling",
        "id": 272,
        "rationale": "Tooling used to compile, sign, package, version, and automate release-ready builds for native mobile apps across iOS and Android. This cluster includes platform-specific build systems and release automation used to produce reproducible app artifacts and prepare internal or public release candidates.",
        "slug": "native-mobile-build-and-release-tooling",
        "source": "db"
      },
      "input_skill": "Xcode",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Flutter Developer",
          "id": 74,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "flutter-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"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Release Readiness and Browser Compatibility",
        "id": 129,
        "rationale": "Practices for verifying frontend changes across browsers, environments, and release stages. This cluster is coherent because frontend engineers often own the last-mile quality checks before shipping UI changes.",
        "slug": "release-readiness-and-browser-compatibility",
        "source": "db"
      },
      "input_skill": "Chrome DevTools",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Angular Frontend Developer",
          "id": 90,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "angular-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Frontend Developer",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "frontend-engineer",
          "source": "db"
        },
        {
          "display_name": "React Frontend Developer",
          "id": 89,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Vue Frontend Developer",
          "id": 91,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "vue-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Web Developer",
          "id": 25,
          "rationale": null,
          "role_archetype": null,
          "slug": "web-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": "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": "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": "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": "Client Routing and Navigation",
        "id": 119,
        "rationale": "Browser-side navigation, route matching, nested views, and URL-driven application flow. This cluster is coherent because frontend engineers own how users move through the app and how state maps to routes.",
        "slug": "client-routing-and-navigation",
        "source": "db"
      },
      "input_skill": "Deep linking",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Frontend Developer",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "frontend-engineer",
          "source": "db"
        },
        {
          "display_name": "Web Developer",
          "id": 25,
          "rationale": null,
          "role_archetype": null,
          "slug": "web-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Navigation and Routing",
        "id": 322,
        "rationale": "Screen flow control, route definitions, deep links, and back-stack behavior for Flutter applications. This is a distinct cluster because Flutter developers own how users move through shared-code app journeys.",
        "slug": "navigation-and-routing",
        "source": "db"
      },
      "input_skill": "Deep linking",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Flutter Developer",
          "id": 74,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "flutter-developer",
          "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": "Deep linking",
      "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": "Push Notifications and Messaging",
        "id": 88,
        "rationale": "Mechanisms for receiving, presenting, and acting on remote notifications and message-driven entry points on iOS. This cluster is distinct because notifications affect app engagement, deep linking, and background updates.",
        "slug": "push-notifications-and-messaging",
        "source": "db"
      },
      "input_skill": "Deep linking",
      "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": "iOS Developer",
          "id": 6,
          "rationale": null,
          "role_archetype": null,
          "slug": "ios-engineer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Screen Navigation and State",
        "id": 83,
        "rationale": "Patterns for moving users through app flows and keeping client state consistent across screens, refreshes, and app transitions. This is central to feature work because iOS engineers own the in-app request flow and UI logic.",
        "slug": "screen-navigation-and-state",
        "source": "db"
      },
      "input_skill": "Deep linking",
      "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": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        },
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "Ionic Developer",
          "id": 434,
          "rationale": null,
          "role_archetype": null,
          "slug": "ionic-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": "Responsive and Mobile Web Design",
        "id": 125,
        "rationale": "Patterns for adapting browser interfaces across screen sizes, input modes, and mobile constraints. This is a distinct cluster because frontend engineers must ensure layouts and interactions work well on phones, tablets, and desktops.",
        "slug": "responsive-and-mobile-web-design",
        "source": "db"
      },
      "input_skill": "Offline support",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Angular Frontend Developer",
          "id": 90,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "angular-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Frontend Developer",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "frontend-engineer",
          "source": "db"
        },
        {
          "display_name": "React Frontend Developer",
          "id": 89,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Svelte Frontend Developer",
          "id": 92,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "svelte-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Vue Frontend Developer",
          "id": 91,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "vue-frontend-developer",
          "source": "db"
        },
        {
          "display_name": "Web Developer",
          "id": 25,
          "rationale": null,
          "role_archetype": null,
          "slug": "web-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Sitecore Troubleshooting and Maintenance",
        "id": 447,
        "rationale": "Diagnosing defects, regressions, and maintainability issues across Sitecore code, configuration, and content behavior. This is a coherent cluster because the role is expected to stabilize the site experience over time.",
        "slug": "sitecore-troubleshooting-and-maintenance",
        "source": "db"
      },
      "input_skill": "Debugging",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Sitecore Dev",
          "id": 233,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "sitecore-dev",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Access Control and Permissions",
        "id": 350,
        "rationale": "Drupal role, permission, and access-check configuration that governs who can see or change content and site features. This cluster is coherent because Drupal developers must translate business rules into access behavior across content and admin surfaces.",
        "slug": "access-control-and-permissions",
        "source": "db"
      },
      "input_skill": "Permissions",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Drupal Dev",
          "id": 228,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "drupal-dev",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "CMS Access Control and Permissions",
        "id": 437,
        "rationale": "Role-, permission-, and access-rule configuration for CMS platforms that governs who can view, edit, publish, or otherwise interact with content and site features. Includes item/node/entity/route access, security inheritance, access checks, restricted content, authoring roles, publish permissions, and safe handling of authenticated content. Excludes enterprise identity provider administration, authentication protocol design, and broader IAM/federation architecture.",
        "slug": "cms-access-control-and-permissions",
        "source": "db"
      },
      "input_skill": "Permissions",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Sitecore Dev",
          "id": 233,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "sitecore-dev",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Device APIs and Hardware Integration",
        "id": 171,
        "rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
        "slug": "device-apis-and-hardware-integration",
        "source": "db"
      },
      "input_skill": "Permissions",
      "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": "Magento Security and Access Control",
        "id": 406,
        "rationale": "Application-layer security concerns specific to Magento storefronts and admin-adjacent behavior. This includes protecting customer data, controlling privileged actions, and avoiding unsafe customizations in commerce flows.",
        "slug": "magento-security-and-access-control",
        "source": "db"
      },
      "input_skill": "Permissions",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Magento Dev",
          "id": 231,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "magento-dev",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Device APIs and Hardware Integration",
        "id": 171,
        "rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
        "slug": "device-apis-and-hardware-integration",
        "source": "db"
      },
      "input_skill": "Native modules",
      "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": "Device APIs and Hardware Integration",
        "id": 171,
        "rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
        "slug": "device-apis-and-hardware-integration",
        "source": "db"
      },
      "input_skill": "Camera",
      "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": "Device Capabilities and Sensors",
        "id": 379,
        "rationale": "Platform capabilities exposed through Ionic plugins and browser/mobile APIs. Ionic developers use these integrations for camera, location, file access, and other device-aware behaviors in shared apps.",
        "slug": "device-capabilities-and-sensors",
        "source": "db"
      },
      "input_skill": "Camera",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Ionic Developer",
          "id": 434,
          "rationale": null,
          "role_archetype": null,
          "slug": "ionic-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Platform Channels and Device APIs",
        "id": 314,
        "rationale": "Bridges between Flutter code and platform-specific capabilities exposed by Android, iOS, and device hardware. This cluster is coherent because Flutter developers often need to call native APIs when shared widgets are not enough.",
        "slug": "platform-channels-and-device-apis",
        "source": "db"
      },
      "input_skill": "Camera",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Flutter Developer",
          "id": 74,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "flutter-developer",
          "source": "db"
        }
      ]
    }
  ],
  "input_final_skills": [
    "React Native",
    "iOS",
    "Android",
    "CI/CD",
    "OTA updates",
    "Flipper",
    "Xcode",
    "Android Studio",
    "Chrome DevTools",
    "Play Store",
    "App Store",
    "Push notifications",
    "Deep linking",
    "Offline support",
    "Navigation",
    "Local DB",
    "Performance optimization",
    "Debugging",
    "Permissions",
    "Native modules",
    "Camera",
    "Storage",
    "Maps"
  ],
  "input_llm_skills": [
    "React Native",
    "iOS",
    "Android",
    "CI/CD",
    "OTA updates",
    "Flipper",
    "Xcode",
    "Android Studio",
    "Chrome DevTools",
    "Play Store",
    "App Store",
    "Push notifications",
    "Deep linking",
    "Offline support",
    "Navigation",
    "Local DB",
    "Performance optimization",
    "Debugging",
    "Permissions",
    "Native modules",
    "Camera",
    "Storage",
    "Maps"
  ],
  "new_aliases_persisted": 0,
  "run_id": "976cdca5-a9ed-4151-a378-2d887c607347",
  "skills_detail": [
    {
      "aliases_in_db": [
        {
          "alias_text": "React Native",
          "alias_type": "CANONICAL",
          "id": 1657,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 5,
        "display_name": "React Native",
        "id": 1040,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "react-native",
        "sub_category_id": 2146,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Cross-Platform Mobile UI Frameworks",
            "id": 319,
            "rationale": "Frameworks, rendering models, and component libraries used to build shared mobile screens, layouts, and interactive experiences across platforms. This includes React Native and related tooling such as React Native CLI and Expo, as well as cross-platform UI libraries and interaction patterns like React Native Paper, NativeBase, gesture handlers, and animated components; it also covers comparable hybrid mobile UI frameworks such as Flutter. Excludes browser-only frontend frameworks and native platform UI toolkits such as SwiftUI, UIKit, Jetpack Compose, and Android Views.",
            "slug": "cross-platform-mobile-ui-frameworks",
            "source": "db"
          },
          "input_skill": "React Native",
          "llm_role": null,
          "roles_from_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": "UI Frameworks and Rendering",
            "id": 115,
            "rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
            "slug": "ui-frameworks-and-rendering",
            "source": "db"
          },
          "input_skill": "React Native",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Frontend Developer",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "frontend-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"
            },
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "Ionic Developer",
              "id": 434,
              "rationale": null,
              "role_archetype": null,
              "slug": "ionic-developer",
              "source": "db"
            },
            {
              "display_name": "Web Developer",
              "id": 25,
              "rationale": null,
              "role_archetype": null,
              "slug": "web-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "React Native",
      "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": "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": "CI/CD",
          "alias_type": "CANONICAL",
          "id": 1826,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 8,
        "display_name": "CI/CD",
        "id": 1190,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "METHODOLOGY",
        "slug": "ci-cd",
        "sub_category_id": 900,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "CI/CD Pipeline Platforms",
            "id": 150,
            "rationale": "Systems used to define, run, and maintain automated build and deployment workflows. This cluster is coherent because the role owns delivery automation end to end, including pipeline reliability and promotion logic.",
            "slug": "ci-cd-pipeline-platforms",
            "source": "db"
          },
          "input_skill": "CI/CD",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "DevOps Engineer",
              "id": 10,
              "rationale": null,
              "role_archetype": null,
              "slug": "devops-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "CI/CD for Machine Learning",
            "id": 56,
            "rationale": "Tools and platforms for automating ML model integration, testing, and deployment pipelines.",
            "slug": "ci-cd-for-machine-learning",
            "source": "db"
          },
          "input_skill": "CI/CD",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "ML Engineer",
              "id": 3,
              "rationale": null,
              "role_archetype": null,
              "slug": "ml-engineer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "CI/CD",
      "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": "OTA updates",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Mobile Development",
          "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": "ota-updates",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Flipper",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Development Tools",
          "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": "flipper",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Xcode",
          "alias_type": "CANONICAL",
          "id": 805,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 13,
        "display_name": "Xcode",
        "id": 479,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "xcode",
        "sub_category_id": 359,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Build and Release Tooling",
            "id": 89,
            "rationale": "Tooling used to compile, sign, package, and automate iOS app builds. iOS engineers rely on this stack to produce reproducible release artifacts and manage build-time configuration.",
            "slug": "build-and-release-tooling",
            "source": "db"
          },
          "input_skill": "Xcode",
          "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": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Native Mobile Build and Release Tooling",
            "id": 272,
            "rationale": "Tooling used to compile, sign, package, version, and automate release-ready builds for native mobile apps across iOS and Android. This cluster includes platform-specific build systems and release automation used to produce reproducible app artifacts and prepare internal or public release candidates.",
            "slug": "native-mobile-build-and-release-tooling",
            "source": "db"
          },
          "input_skill": "Xcode",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Flutter Developer",
              "id": 74,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "flutter-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"
            }
          ]
        }
      ],
      "input_skill": "Xcode",
      "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": "Android Studio",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Development Tools",
          "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": "android-studio",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "Chrome DevTools",
          "alias_type": "CANONICAL",
          "id": 1206,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 13,
        "display_name": "Chrome DevTools",
        "id": 701,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "TOOL",
        "slug": "chrome-devtools",
        "sub_category_id": 508,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Release Readiness and Browser Compatibility",
            "id": 129,
            "rationale": "Practices for verifying frontend changes across browsers, environments, and release stages. This cluster is coherent because frontend engineers often own the last-mile quality checks before shipping UI changes.",
            "slug": "release-readiness-and-browser-compatibility",
            "source": "db"
          },
          "input_skill": "Chrome DevTools",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Angular Frontend Developer",
              "id": 90,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "angular-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Frontend Developer",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "frontend-engineer",
              "source": "db"
            },
            {
              "display_name": "React Frontend Developer",
              "id": 89,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Vue Frontend Developer",
              "id": 91,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "vue-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Web Developer",
              "id": 25,
              "rationale": null,
              "role_archetype": null,
              "slug": "web-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Chrome DevTools",
      "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": "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": "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": "Play 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": "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": "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": "deep links",
          "alias_type": "CANONICAL",
          "id": 777,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Deep links",
          "alias_type": "CANONICAL",
          "id": 4388,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "deep links",
        "id": 451,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "deep-links",
        "sub_category_id": 317,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Client Routing and Navigation",
            "id": 119,
            "rationale": "Browser-side navigation, route matching, nested views, and URL-driven application flow. This cluster is coherent because frontend engineers own how users move through the app and how state maps to routes.",
            "slug": "client-routing-and-navigation",
            "source": "db"
          },
          "input_skill": "Deep linking",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Frontend Developer",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "frontend-engineer",
              "source": "db"
            },
            {
              "display_name": "Web Developer",
              "id": 25,
              "rationale": null,
              "role_archetype": null,
              "slug": "web-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Navigation and Routing",
            "id": 322,
            "rationale": "Screen flow control, route definitions, deep links, and back-stack behavior for Flutter applications. This is a distinct cluster because Flutter developers own how users move through shared-code app journeys.",
            "slug": "navigation-and-routing",
            "source": "db"
          },
          "input_skill": "Deep linking",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Flutter Developer",
              "id": 74,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "flutter-developer",
              "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": "Deep linking",
          "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": "Push Notifications and Messaging",
            "id": 88,
            "rationale": "Mechanisms for receiving, presenting, and acting on remote notifications and message-driven entry points on iOS. This cluster is distinct because notifications affect app engagement, deep linking, and background updates.",
            "slug": "push-notifications-and-messaging",
            "source": "db"
          },
          "input_skill": "Deep linking",
          "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": "iOS Developer",
              "id": 6,
              "rationale": null,
              "role_archetype": null,
              "slug": "ios-engineer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Screen Navigation and State",
            "id": 83,
            "rationale": "Patterns for moving users through app flows and keeping client state consistent across screens, refreshes, and app transitions. This is central to feature work because iOS engineers own the in-app request flow and UI logic.",
            "slug": "screen-navigation-and-state",
            "source": "db"
          },
          "input_skill": "Deep linking",
          "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": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            },
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "Ionic Developer",
              "id": 434,
              "rationale": null,
              "role_archetype": null,
              "slug": "ionic-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": "Deep linking",
      "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": "offline support",
          "alias_type": "CANONICAL",
          "id": 4159,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "offline support",
        "id": 2715,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "offline-support",
        "sub_category_id": 1971,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Responsive and Mobile Web Design",
            "id": 125,
            "rationale": "Patterns for adapting browser interfaces across screen sizes, input modes, and mobile constraints. This is a distinct cluster because frontend engineers must ensure layouts and interactions work well on phones, tablets, and desktops.",
            "slug": "responsive-and-mobile-web-design",
            "source": "db"
          },
          "input_skill": "Offline support",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Angular Frontend Developer",
              "id": 90,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "angular-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Frontend Developer",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "frontend-engineer",
              "source": "db"
            },
            {
              "display_name": "React Frontend Developer",
              "id": 89,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Svelte Frontend Developer",
              "id": 92,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "svelte-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Vue Frontend Developer",
              "id": 91,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "vue-frontend-developer",
              "source": "db"
            },
            {
              "display_name": "Web Developer",
              "id": 25,
              "rationale": null,
              "role_archetype": null,
              "slug": "web-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Offline support",
      "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": "Navigation",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Mobile Development",
          "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": "navigation",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Local DB",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Databases",
          "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": "local-db",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Performance optimization",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Software Engineering",
          "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": "performance-optimization",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [
        {
          "alias_text": "debugging",
          "alias_type": "CANONICAL",
          "id": 5905,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 8,
        "display_name": "debugging",
        "id": 4182,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "METHODOLOGY",
        "slug": "debugging",
        "sub_category_id": 3293,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Sitecore Troubleshooting and Maintenance",
            "id": 447,
            "rationale": "Diagnosing defects, regressions, and maintainability issues across Sitecore code, configuration, and content behavior. This is a coherent cluster because the role is expected to stabilize the site experience over time.",
            "slug": "sitecore-troubleshooting-and-maintenance",
            "source": "db"
          },
          "input_skill": "Debugging",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Sitecore Dev",
              "id": 233,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "sitecore-dev",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Debugging",
      "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": "permissions",
          "alias_type": "CANONICAL",
          "id": 4327,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "Permissions",
          "alias_type": "CANONICAL",
          "id": 5385,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "permissions",
        "id": 2875,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "permissions",
        "sub_category_id": 3222,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Access Control and Permissions",
            "id": 350,
            "rationale": "Drupal role, permission, and access-check configuration that governs who can see or change content and site features. This cluster is coherent because Drupal developers must translate business rules into access behavior across content and admin surfaces.",
            "slug": "access-control-and-permissions",
            "source": "db"
          },
          "input_skill": "Permissions",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Drupal Dev",
              "id": 228,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "drupal-dev",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "CMS Access Control and Permissions",
            "id": 437,
            "rationale": "Role-, permission-, and access-rule configuration for CMS platforms that governs who can view, edit, publish, or otherwise interact with content and site features. Includes item/node/entity/route access, security inheritance, access checks, restricted content, authoring roles, publish permissions, and safe handling of authenticated content. Excludes enterprise identity provider administration, authentication protocol design, and broader IAM/federation architecture.",
            "slug": "cms-access-control-and-permissions",
            "source": "db"
          },
          "input_skill": "Permissions",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Sitecore Dev",
              "id": 233,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "sitecore-dev",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Device APIs and Hardware Integration",
            "id": 171,
            "rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
            "slug": "device-apis-and-hardware-integration",
            "source": "db"
          },
          "input_skill": "Permissions",
          "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": "Magento Security and Access Control",
            "id": 406,
            "rationale": "Application-layer security concerns specific to Magento storefronts and admin-adjacent behavior. This includes protecting customer data, controlling privileged actions, and avoiding unsafe customizations in commerce flows.",
            "slug": "magento-security-and-access-control",
            "source": "db"
          },
          "input_skill": "Permissions",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Magento Dev",
              "id": 231,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "magento-dev",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Permissions",
      "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": "native modules",
          "alias_type": "CANONICAL",
          "id": 4328,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "native modules",
        "id": 2876,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "native-modules",
        "sub_category_id": 2133,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Device APIs and Hardware Integration",
            "id": 171,
            "rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
            "slug": "device-apis-and-hardware-integration",
            "source": "db"
          },
          "input_skill": "Native modules",
          "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"
            }
          ]
        }
      ],
      "input_skill": "Native modules",
      "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": "Camera",
          "alias_type": "CANONICAL",
          "id": 4411,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        },
        {
          "alias_text": "camera",
          "alias_type": "CANONICAL",
          "id": 1706,
          "is_primary": false,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 2,
        "display_name": "Camera",
        "id": 1080,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "CONCEPT",
        "slug": "camera",
        "sub_category_id": 2693,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Device APIs and Hardware Integration",
            "id": 171,
            "rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
            "slug": "device-apis-and-hardware-integration",
            "source": "db"
          },
          "input_skill": "Camera",
          "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": "Device Capabilities and Sensors",
            "id": 379,
            "rationale": "Platform capabilities exposed through Ionic plugins and browser/mobile APIs. Ionic developers use these integrations for camera, location, file access, and other device-aware behaviors in shared apps.",
            "slug": "device-capabilities-and-sensors",
            "source": "db"
          },
          "input_skill": "Camera",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Ionic Developer",
              "id": 434,
              "rationale": null,
              "role_archetype": null,
              "slug": "ionic-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Platform Channels and Device APIs",
            "id": 314,
            "rationale": "Bridges between Flutter code and platform-specific capabilities exposed by Android, iOS, and device hardware. This cluster is coherent because Flutter developers often need to call native APIs when shared widgets are not enough.",
            "slug": "platform-channels-and-device-apis",
            "source": "db"
          },
          "input_skill": "Camera",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Flutter Developer",
              "id": 74,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "flutter-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "Camera",
      "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": "Storage",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Databases",
          "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": "storage",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    },
    {
      "aliases_in_db": [],
      "canonical": null,
      "dimensions": [],
      "input_skill": "Maps",
      "matched_via": null,
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": {
        "derived": {
          "category": "Mobile Development",
          "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": "maps",
        "split_log": [],
        "typed": null,
        "warnings": []
      },
      "source_tag": "llm",
      "was_in_llm_skills": true
    }
  ],
  "unmatched_skills": [
    "OTA updates",
    "Flipper",
    "Android Studio",
    "Navigation",
    "Local DB",
    "Performance optimization",
    "Storage",
    "Maps"
  ]
}
API 3 — final-role-output
{
  "chosen_role": {
    "display_name": "Hybrid Mobile Developer",
    "id": 11,
    "rationale": "Multi-alias tie (4 roles at 1.0) resolved by TIER_B_TITLE: React Native Developer",
    "role_archetype": null,
    "slug": "hybrid-mobile-developer",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "React Native",
      "tag": "in_db"
    },
    {
      "skill": "iOS",
      "tag": "in_db"
    },
    {
      "skill": "Android",
      "tag": "in_db"
    },
    {
      "skill": "CI/CD",
      "tag": "in_db"
    },
    {
      "skill": "OTA updates",
      "tag": "new"
    },
    {
      "skill": "Flipper",
      "tag": "new"
    },
    {
      "skill": "Xcode",
      "tag": "in_db"
    },
    {
      "skill": "Android Studio",
      "tag": "new"
    },
    {
      "skill": "Chrome DevTools",
      "tag": "in_db"
    },
    {
      "skill": "Play Store",
      "tag": "in_db"
    },
    {
      "skill": "App Store",
      "tag": "in_db"
    },
    {
      "skill": "Push notifications",
      "tag": "in_db"
    },
    {
      "skill": "Deep linking",
      "tag": "in_db"
    },
    {
      "skill": "Offline support",
      "tag": "in_db"
    },
    {
      "skill": "Navigation",
      "tag": "new"
    },
    {
      "skill": "Local DB",
      "tag": "new"
    },
    {
      "skill": "Performance optimization",
      "tag": "new"
    },
    {
      "skill": "Debugging",
      "tag": "in_db"
    },
    {
      "skill": "Permissions",
      "tag": "in_db"
    },
    {
      "skill": "Native modules",
      "tag": "in_db"
    },
    {
      "skill": "Camera",
      "tag": "in_db"
    },
    {
      "skill": "Storage",
      "tag": "new"
    },
    {
      "skill": "Maps",
      "tag": "new"
    }
  ],
  "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": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Cross-Platform Mobile UI Frameworks",
          "id": 319,
          "rationale": "Frameworks, rendering models, and component libraries used to build shared mobile screens, layouts, and interactive experiences across platforms. This includes React Native and related tooling such as React Native CLI and Expo, as well as cross-platform UI libraries and interaction patterns like React Native Paper, NativeBase, gesture handlers, and animated components; it also covers comparable hybrid mobile UI frameworks such as Flutter. Excludes browser-only frontend frameworks and native platform UI toolkits such as SwiftUI, UIKit, Jetpack Compose, and Android Views.",
          "slug": "cross-platform-mobile-ui-frameworks",
          "source": "db"
        },
        "dimension_id": 319,
        "input_skill": "React Native",
        "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": "React Native Developer",
            "id": 73,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-native-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1040,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "UI Frameworks and Rendering",
          "id": 115,
          "rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
          "slug": "ui-frameworks-and-rendering",
          "source": "db"
        },
        "dimension_id": 115,
        "input_skill": "React Native",
        "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": "Frontend Developer",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "frontend-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"
          },
          {
            "display_name": "Hybrid Mobile Developer",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "hybrid-mobile-developer",
            "source": "db"
          },
          {
            "display_name": "Ionic Developer",
            "id": 434,
            "rationale": null,
            "role_archetype": null,
            "slug": "ionic-developer",
            "source": "db"
          },
          {
            "display_name": "Web Developer",
            "id": 25,
            "rationale": null,
            "role_archetype": null,
            "slug": "web-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1040,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "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": 11,
        "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": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "CI/CD Pipeline Platforms",
          "id": 150,
          "rationale": "Systems used to define, run, and maintain automated build and deployment workflows. This cluster is coherent because the role owns delivery automation end to end, including pipeline reliability and promotion logic.",
          "slug": "ci-cd-pipeline-platforms",
          "source": "db"
        },
        "dimension_id": 150,
        "input_skill": "CI/CD",
        "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": "DevOps Engineer",
            "id": 10,
            "rationale": null,
            "role_archetype": null,
            "slug": "devops-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1190,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "CI/CD for Machine Learning",
          "id": 56,
          "rationale": "Tools and platforms for automating ML model integration, testing, and deployment pipelines.",
          "slug": "ci-cd-for-machine-learning",
          "source": "db"
        },
        "dimension_id": 56,
        "input_skill": "CI/CD",
        "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": "ML Engineer",
            "id": 3,
            "rationale": null,
            "role_archetype": null,
            "slug": "ml-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1190,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Build and Release Tooling",
          "id": 89,
          "rationale": "Tooling used to compile, sign, package, and automate iOS app builds. iOS engineers rely on this stack to produce reproducible release artifacts and manage build-time configuration.",
          "slug": "build-and-release-tooling",
          "source": "db"
        },
        "dimension_id": 89,
        "input_skill": "Xcode",
        "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": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 479,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Native Mobile Build and Release Tooling",
          "id": 272,
          "rationale": "Tooling used to compile, sign, package, version, and automate release-ready builds for native mobile apps across iOS and Android. This cluster includes platform-specific build systems and release automation used to produce reproducible app artifacts and prepare internal or public release candidates.",
          "slug": "native-mobile-build-and-release-tooling",
          "source": "db"
        },
        "dimension_id": 272,
        "input_skill": "Xcode",
        "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": "Flutter Developer",
            "id": 74,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "flutter-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"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 479,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Release Readiness and Browser Compatibility",
          "id": 129,
          "rationale": "Practices for verifying frontend changes across browsers, environments, and release stages. This cluster is coherent because frontend engineers often own the last-mile quality checks before shipping UI changes.",
          "slug": "release-readiness-and-browser-compatibility",
          "source": "db"
        },
        "dimension_id": 129,
        "input_skill": "Chrome DevTools",
        "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": "Angular Frontend Developer",
            "id": 90,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "angular-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Frontend Developer",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "frontend-engineer",
            "source": "db"
          },
          {
            "display_name": "React Frontend Developer",
            "id": 89,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Vue Frontend Developer",
            "id": 91,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "vue-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Web Developer",
            "id": 25,
            "rationale": null,
            "role_archetype": null,
            "slug": "web-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 701,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "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": "Play Store",
        "llm_role": null,
        "matched_chosen_role": true,
        "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": 11,
        "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": true,
        "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": 11,
        "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": true,
        "outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
        "role_dimension_saved": true,
        "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": 11,
        "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": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Client Routing and Navigation",
          "id": 119,
          "rationale": "Browser-side navigation, route matching, nested views, and URL-driven application flow. This cluster is coherent because frontend engineers own how users move through the app and how state maps to routes.",
          "slug": "client-routing-and-navigation",
          "source": "db"
        },
        "dimension_id": 119,
        "input_skill": "Deep linking",
        "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": "Frontend Developer",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "frontend-engineer",
            "source": "db"
          },
          {
            "display_name": "Web Developer",
            "id": 25,
            "rationale": null,
            "role_archetype": null,
            "slug": "web-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": false,
        "skill_id": null,
        "skill_tag": "new",
        "skipped_reason": "skill_not_in_db_v3_proposed"
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Navigation and Routing",
          "id": 322,
          "rationale": "Screen flow control, route definitions, deep links, and back-stack behavior for Flutter applications. This is a distinct cluster because Flutter developers own how users move through shared-code app journeys.",
          "slug": "navigation-and-routing",
          "source": "db"
        },
        "dimension_id": 322,
        "input_skill": "Deep linking",
        "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": "Flutter Developer",
            "id": 74,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "flutter-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": false,
        "skill_id": null,
        "skill_tag": "new",
        "skipped_reason": "skill_not_in_db_v3_proposed"
      },
      {
        "chosen_role_id": 11,
        "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": "Deep linking",
        "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": "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": false,
        "skill_id": null,
        "skill_tag": "new",
        "skipped_reason": "skill_not_in_db_v3_proposed"
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Push Notifications and Messaging",
          "id": 88,
          "rationale": "Mechanisms for receiving, presenting, and acting on remote notifications and message-driven entry points on iOS. This cluster is distinct because notifications affect app engagement, deep linking, and background updates.",
          "slug": "push-notifications-and-messaging",
          "source": "db"
        },
        "dimension_id": 88,
        "input_skill": "Deep linking",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
        "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": "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": "iOS Developer",
            "id": 6,
            "rationale": null,
            "role_archetype": null,
            "slug": "ios-engineer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": false,
        "skill_id": null,
        "skill_tag": "new",
        "skipped_reason": "skill_not_in_db_v3_proposed"
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Screen Navigation and State",
          "id": 83,
          "rationale": "Patterns for moving users through app flows and keeping client state consistent across screens, refreshes, and app transitions. This is central to feature work because iOS engineers own the in-app request flow and UI logic.",
          "slug": "screen-navigation-and-state",
          "source": "db"
        },
        "dimension_id": 83,
        "input_skill": "Deep linking",
        "llm_role": null,
        "matched_chosen_role": true,
        "outcome_line": "Skipped \u2014 no persistable v3 meta for new skill",
        "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": "Flutter Developer",
            "id": 74,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "flutter-developer",
            "source": "db"
          },
          {
            "display_name": "Fullstack Developer",
            "id": 15,
            "rationale": null,
            "role_archetype": null,
            "slug": "full-stack-engineer",
            "source": "db"
          },
          {
            "display_name": "Hybrid Mobile Developer",
            "id": 11,
            "rationale": null,
            "role_archetype": null,
            "slug": "hybrid-mobile-developer",
            "source": "db"
          },
          {
            "display_name": "Ionic Developer",
            "id": 434,
            "rationale": null,
            "role_archetype": null,
            "slug": "ionic-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": false,
        "skill_id": null,
        "skill_tag": "new",
        "skipped_reason": "skill_not_in_db_v3_proposed"
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Responsive and Mobile Web Design",
          "id": 125,
          "rationale": "Patterns for adapting browser interfaces across screen sizes, input modes, and mobile constraints. This is a distinct cluster because frontend engineers must ensure layouts and interactions work well on phones, tablets, and desktops.",
          "slug": "responsive-and-mobile-web-design",
          "source": "db"
        },
        "dimension_id": 125,
        "input_skill": "Offline support",
        "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": "Angular Frontend Developer",
            "id": 90,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "angular-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Frontend Developer",
            "id": 7,
            "rationale": null,
            "role_archetype": null,
            "slug": "frontend-engineer",
            "source": "db"
          },
          {
            "display_name": "React Frontend Developer",
            "id": 89,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "react-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Svelte Frontend Developer",
            "id": 92,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "svelte-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Vue Frontend Developer",
            "id": 91,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "vue-frontend-developer",
            "source": "db"
          },
          {
            "display_name": "Web Developer",
            "id": 25,
            "rationale": null,
            "role_archetype": null,
            "slug": "web-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2715,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Sitecore Troubleshooting and Maintenance",
          "id": 447,
          "rationale": "Diagnosing defects, regressions, and maintainability issues across Sitecore code, configuration, and content behavior. This is a coherent cluster because the role is expected to stabilize the site experience over time.",
          "slug": "sitecore-troubleshooting-and-maintenance",
          "source": "db"
        },
        "dimension_id": 447,
        "input_skill": "Debugging",
        "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": "Sitecore Dev",
            "id": 233,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "sitecore-dev",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 4182,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Access Control and Permissions",
          "id": 350,
          "rationale": "Drupal role, permission, and access-check configuration that governs who can see or change content and site features. This cluster is coherent because Drupal developers must translate business rules into access behavior across content and admin surfaces.",
          "slug": "access-control-and-permissions",
          "source": "db"
        },
        "dimension_id": 350,
        "input_skill": "Permissions",
        "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": "Drupal Dev",
            "id": 228,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "drupal-dev",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2875,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "CMS Access Control and Permissions",
          "id": 437,
          "rationale": "Role-, permission-, and access-rule configuration for CMS platforms that governs who can view, edit, publish, or otherwise interact with content and site features. Includes item/node/entity/route access, security inheritance, access checks, restricted content, authoring roles, publish permissions, and safe handling of authenticated content. Excludes enterprise identity provider administration, authentication protocol design, and broader IAM/federation architecture.",
          "slug": "cms-access-control-and-permissions",
          "source": "db"
        },
        "dimension_id": 437,
        "input_skill": "Permissions",
        "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": "Sitecore Dev",
            "id": 233,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "sitecore-dev",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2875,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Device APIs and Hardware Integration",
          "id": 171,
          "rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
          "slug": "device-apis-and-hardware-integration",
          "source": "db"
        },
        "dimension_id": 171,
        "input_skill": "Permissions",
        "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": "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": 2875,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Magento Security and Access Control",
          "id": 406,
          "rationale": "Application-layer security concerns specific to Magento storefronts and admin-adjacent behavior. This includes protecting customer data, controlling privileged actions, and avoiding unsafe customizations in commerce flows.",
          "slug": "magento-security-and-access-control",
          "source": "db"
        },
        "dimension_id": 406,
        "input_skill": "Permissions",
        "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": "Magento Dev",
            "id": 231,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "magento-dev",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 2875,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Device APIs and Hardware Integration",
          "id": 171,
          "rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
          "slug": "device-apis-and-hardware-integration",
          "source": "db"
        },
        "dimension_id": 171,
        "input_skill": "Native modules",
        "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": "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": 2876,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Device APIs and Hardware Integration",
          "id": 171,
          "rationale": "Platform capabilities exposed through mobile devices that shared apps commonly integrate with. This includes sensors, camera, location, Bluetooth, file access, and other device-bound features that require platform-aware adaptation.",
          "slug": "device-apis-and-hardware-integration",
          "source": "db"
        },
        "dimension_id": 171,
        "input_skill": "Camera",
        "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": "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": 1080,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Device Capabilities and Sensors",
          "id": 379,
          "rationale": "Platform capabilities exposed through Ionic plugins and browser/mobile APIs. Ionic developers use these integrations for camera, location, file access, and other device-aware behaviors in shared apps.",
          "slug": "device-capabilities-and-sensors",
          "source": "db"
        },
        "dimension_id": 379,
        "input_skill": "Camera",
        "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"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1080,
        "skill_tag": "in_db",
        "skipped_reason": null
      },
      {
        "chosen_role_id": 11,
        "dimension": {
          "difficulty_hint": "well_known",
          "display_name": "Platform Channels and Device APIs",
          "id": 314,
          "rationale": "Bridges between Flutter code and platform-specific capabilities exposed by Android, iOS, and device hardware. This cluster is coherent because Flutter developers often need to call native APIs when shared widgets are not enough.",
          "slug": "platform-channels-and-device-apis",
          "source": "db"
        },
        "dimension_id": 314,
        "input_skill": "Camera",
        "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": "Flutter Developer",
            "id": 74,
            "rationale": null,
            "role_archetype": "Engineering",
            "slug": "flutter-developer",
            "source": "db"
          }
        ],
        "skill_dimension_saved": true,
        "skill_id": 1080,
        "skill_tag": "in_db",
        "skipped_reason": null
      }
    ],
    "new_skills_created": 0,
    "role_dimension_saved": 0,
    "skill_dimension_saved": 0,
    "skipped": 7
  },
  "planner_output": null,
  "run_id": "976cdca5-a9ed-4151-a378-2d887c607347"
}

LLM Calls

Every model call made for this run, in pipeline order. Click a card to see the model's response.

Loading…