Pipeline run
7de45273-69bb-4a7a-8bfe-73ace34d001f
Client output enrichment
v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA descriptionvocab breakdown (legacy)
Signals
Post-classification
Captured for admin review
1 POST /skills/extract-from-jd
2 POST /skills/extract-details
3 POST /skills/final-role-output
Hybrid Mobile Developer
→React Native Developer
sub-role · 0.94 domain · Software Engineering CASE DOMAINslug: hybrid-mobile-developer · id: 11 · source: db · sub-role slug: react-native-developer
Domain=Software Engineering → sub-role react-native-developer; The JD is centered on cross-platform mobile app development with React Native, Kotlin Multiplatform, and deployment to iOS/Android stores, which best matches Hybrid Mobile Developer.
Matched skills
Matched dimensions
Matched KRAs
Resolution:
in_db
— role exists in library; skill↔dim and role↔dim links saved when applicable.
Job description
Job Title: Sr Mobile Application Developer (Android and iOS) Location: Bangalore [Hybrid] Department: Platform Engineering Reports to: Engineering Manager Job Summary: Wadhwani Foundation is looking for a Senior Mobile Application Developer to drive the development and enhancement of our mobile clients (iOS and Android). The developer will design the entire app lifecycle right from PoC stage until delivery and post launch support. In this role, you will design and build, high performance, user-friendly and secure mobile applications. As a Senior Mobile Application developer, you will work closely with engineering and product teams to deliver a seamless mobile experience. You will play a key role in ensuring that our mobile apps meet high standards for usability, performance, security across both platforms and serves beneficiaries in multiple countries. Core Responsibilities: • Lead development and delivery of cross-platform (Kotlin Multiplatform, React Native) mobile applications. • Translate UI/UX designs into clean, efficient, and reusable code following best practices. • Collaborate with cross-functional teams to develop and maintain application. • Mentor junior engineers, enforce coding standards, and promote best practices in mobile development. Required Qualifications: • Proven experience with App Store and Google Play deployment processes, including provisioning, certificate management, release automation, beta testing and compliance. • Experience developing reusable or cross-platform components using technologies like Kotlin Multiplatform, , React Native or Flutter. • Integrate apps with backend APIs, ensuring secure data handling and high performance. • Proficient in debugging, profiling, and optimizing performance for mobile applications on both platforms. • Proven ability to lead complex technical initiatives, manage multiple priorities, and deliver on deadlines. • Excellent communication and interpersonal skills, with the ability to influence and align cross-functional stakeholders. Technical Expertise: • 5:8 years of professional experience in mobile application development, with a strong track record on Kotlin multi-platform and React Native. • Should be well versed with the concepts of Object-Oriented Programming (OOP). • Must be able to demonstrate strong knowledge of UI design principles, patterns, and best practices. • A sound understanding of the full mobile development life cycle and should have published multiple native apps. • Experience with relational databases (SQLite), web services and API integration. • Exposure to internationalization/localization for multi-country and multi-lingual deployments. • Ability to evaluate and adopt new frameworks, libraries, and tools to keep the technology stack up to date.
Skills from this JD
Each row merges API 1 extraction, API 2 library match / v3 orchestration (dimensions + locked dims), and API 3 persistence tags.
Aliases — catalog
- Android (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Platform
- Sub-category
- Mobile Platform
- Vendor
- 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) |
Aliases — catalog
- iOS (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Platform
- Sub-category
- Mobile Operating Platform
- Vendor
- Apple Inc.
- License
- proprietary
- Year introduced
- 2007
- Confidence
- 0.93
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: iOS is a mainstream mobile platform with high JD volume for Swift/iOS roles across consumer and enterprise apps; Apple continues active platform support and releases, indicating broad adoption rather than niche use.
Skill profile (library / DB)
- Skill nature
- PLATFORM
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 9
- Sub-category id
- 1200
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
React Frontend Development Catalog dimension db id 96
Library dimension (catalog)
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Programming Languages
- Sub-category
- general
- Skill nature
- CONCEPT
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- React Native (CANONICAL) primary
Context tags (catalog)
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 |
Aliases — catalog
- Flutter (CANONICAL) primary
- Flutter 3 (VERSION)
- Flutter 3.x (VERSION)
- Flutter3 (VERSION)
- flutter (VERSION)
- flutter 3 (VERSION)
- flutter 3.x (VERSION)
- flutter3 (VERSION)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Framework
- Sub-category
- Ui Framework
- Vendor
- License
- bsd
- Year introduced
- 2015
- Confidence
- 0.99
- Version strategy
- SEPARATE_ENTITY
- Version tag
- 3.x
Maturity reasoning: Flutter appears in many mobile/full-stack job postings and is a common cross-platform UI framework; Google continues active releases and ecosystem growth, indicating broad adoption rather than niche use.
Skill profile (library / DB)
- Skill nature
- FRAMEWORK
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 5
- Sub-category id
- 341
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Flutter UI Framework Catalog dimension db id 312
Library dimension (catalog)
Roles linked in library: Flutter 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 |
|---|---|---|---|
|
Flutter UI Framework
flutter-ui-framework
|
✓ | — | 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 |
Aliases — catalog
- Apple App Store (CANONICAL) primary
Context tags (catalog)
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
|
Aliases — catalog
- Google Play Store (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Platform
- Sub-category
- App Distribution Platform
- Vendor
- 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
|
Aliases — catalog
- SQLite (CANONICAL) primary
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Datastore
- Sub-category
- Embedded Relational Datastore
- Vendor
- SQLite Consortium
- License
- other_open
- Year introduced
- 2000
- Confidence
- 0.99
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: SQLite appears in many job descriptions for mobile, embedded, and local-first apps; it’s a standard embedded relational datastore with strong GitHub usage and no vendor sunset or replacement trend.
Skill profile (library / DB)
- Skill nature
- TOOL
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 3
- Sub-category id
- 2714
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Local Persistence and Offline Behavior Catalog dimension db id 85
Library dimension (catalog)
Roles linked in library: Android Developer, Flutter Developer, Hybrid Mobile Developer, Native Mobile Developer, React Native Developer, iOS Developer
-
Offline Storage and Sync Catalog dimension db id 378
Library dimension (catalog)
Roles linked in library: Ionic Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
|
Offline Storage and Sync
offline-storage-and-sync
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Aliases — catalog
- API (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Concept
- Sub-category
- Application Programming Interface
- Confidence
- 0.93
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: APIs are a core requirement in most software engineering JDs and underpin common integrations across cloud, mobile, and web stacks; major vendors like AWS, Stripe, and Google Cloud center products on API-first usage.
Skill profile (library / DB)
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 2
- Sub-category id
- 1174
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
API Integration and Data Fetching Catalog dimension db id 127
Library dimension (catalog)
Roles linked in library: Angular Frontend Developer, Frontend Developer, Fullstack Developer, Fullstack Developer, React Frontend Developer, Svelte Frontend Developer, Vue Frontend Developer, Web Developer
API 3 link attempts (this skill)
| Dimension | Skill↔dim | Role↔dim | Outcome |
|---|---|---|---|
|
API Integration and Data Fetching
api-integration-and-data-fetching
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) |
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Concepts
- Sub-category
- general
- Skill nature
- CONCEPT
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Version strategy
- UNVERSIONED
Skill enrichment (orchestrator / LLM)
No Stage 7 enrichment blob on this skill (orchestrator skipped enrichment).
- Category
- Concepts
- Sub-category
- general
- Skill nature
- CONCEPT
- Volatility
- MEDIUM
- Typical lifespan
- MULTI_YEAR
- Version strategy
- UNVERSIONED
Aliases — catalog
- Localization (CANONICAL) primary
- localization (CANONICAL)
Context tags (catalog)
Stored enrichment (catalog DB)
- Category
- Methodology
- Sub-category
- Localization Workflow
- Confidence
- 0.84
- Version strategy
- NOT_APPLICABLE
Maturity reasoning: Localization is broadly requested in product, mobile, and SaaS JDs, often alongside i18n/l10n tooling and translation management platforms; major vendors like Google, Apple, and Microsoft document it as a standard release workflow.
Skill profile (library / DB)
- Skill nature
- METHODOLOGY
- Volatility
- STABLE
- Typical lifespan
- EVERGREEN
- Category id
- 8
- Sub-category id
- 2258
- Extractable
- True
- Also category
- False
Dimensions (API 2 worklist)
-
Accessibility and Internationalization Catalog dimension db id 93
Library dimension (catalog)
Roles linked in library: Android Developer, Flutter 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 |
|---|---|---|---|
|
Accessibility and Internationalization
accessibility-and-internationalization
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
All API 3 persistence rows
Same grid as the skill-extractor “Persistence items” table: one row per (skill × dimension) work item.
| Skill | Tag | Dimension | Skill↔dim | Role↔dim | Outcome | Notes |
|---|---|---|---|---|---|---|
| Android | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| iOS | in_db |
React Frontend Development
d_init_01
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| 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 | |
| Flutter | in_db |
Flutter UI Framework
flutter-ui-framework
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Flutter | in_db |
UI Frameworks and Rendering
ui-frameworks-and-rendering
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| App Store | new |
Mobile Vendor Platforms
mobile-vendor-platforms
|
— | — | Skipped — no persistable v3 meta for new skill | skill_not_in_db_v3_proposed |
| Google Play | new |
Mobile Vendor Platforms
mobile-vendor-platforms
|
— | — | Skipped — no persistable v3 meta for new skill | skill_not_in_db_v3_proposed |
| SQLite | in_db |
Local Persistence and Offline Behavior
local-persistence-and-offline-behavior
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved | |
| SQLite | in_db |
Offline Storage and Sync
offline-storage-and-sync
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| API | in_db |
API Integration and Data Fetching
api-integration-and-data-fetching
|
✓ | — | Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role) | |
| Localization | in_db |
Accessibility and Internationalization
accessibility-and-internationalization
|
✓ | ✓ | Existing dimension (library) · Role↔dimension saved |
Library artifacts (this run)
| Kind | Detail | DB id |
|---|---|---|
| canonical_skill_proposed | Kotlin Multiplatform | type=Programming Languages subtype=general nature=CONCEPT lifespan=MULTI_YEAR | |
| canonical_skill_proposed | Object-Oriented Programming | type=Concepts subtype=general nature=CONCEPT lifespan=EVERGREEN | |
| canonical_skill_proposed | Internationalization | type=Concepts subtype=general nature=CONCEPT lifespan=MULTI_YEAR | |
| dimension_skill_link_proposed | App Store ↔ Mobile Vendor Platforms | |
| role_dimension_link_proposed | Hybrid Mobile Developer ↔ Mobile Vendor Platforms | |
| dimension_skill_link_proposed | Google Play ↔ Mobile Vendor Platforms | |
| role_dimension_link_proposed | Hybrid Mobile Developer ↔ Mobile Vendor Platforms |
nano JD Parser — gpt-4.1-nano click to toggle
Show raw JSON
{
"JD_type": "pass",
"about_company": null,
"certifications": [],
"company_name": "Wadhwani Foundation",
"ctc": null,
"domain": {
"primary": {
"aliases": [
"ITES",
"BPO"
],
"domain": "IT Services \u0026 Consulting"
},
"secondary": null
},
"education": [],
"experience": {
"max": 8,
"min": 5,
"raw": "5:8 years of professional experience in mobile application development"
},
"job_locations": [
{
"aliases": [
"Bengaluru"
],
"city": "Bangalore",
"country": "India",
"state": null,
"work_mode": "hybrid"
}
],
"role": "Sr Mobile Application Developer (Android and iOS)",
"role_aliases": [
"Mobile Developer",
"Mobile Application Developer",
"Senior Mobile Developer"
],
"role_archetype": "Engineering",
"roles_and_responsibilities": [
{
"bullet_count": 0,
"heading": "Job Summary",
"heading_was_present": true,
"source_marker": {
"first_5_words": "Wadhwani Foundation is looking for",
"last_5_words": "and serves beneficiaries in multiple countries."
},
"text": "Wadhwani Foundation is looking for a Senior Mobile Application Developer to drive the development and enhancement of our mobile clients (iOS and Android). The developer will design the entire app lifecycle right from PoC stage until delivery and post launch support. In this role, you will design and build, high performance, user-friendly and secure mobile applications. As a Senior Mobile Application developer, you will work closely with engineering and product teams to deliver a seamless mobile experience. You will play a key role in ensuring that our mobile apps meet high standards for usability, performance, security across both platforms and serves beneficiaries in multiple countries.",
"word_count": 87
},
{
"bullet_count": 4,
"heading": "Core Responsibilities",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Lead development and delivery",
"last_5_words": "and promote best practices in mobile development."
},
"text": " \u2022 Lead development and delivery of cross-platform (Kotlin Multiplatform, React Native) mobile applications.\n\n \u2022 Translate UI/UX designs into clean, efficient, and reusable code following best practices.\n\n \u2022 Collaborate with cross-functional teams to develop and maintain application.\n\n \u2022 Mentor junior engineers, enforce coding standards, and promote best practices in mobile development.",
"word_count": 56
},
{
"bullet_count": 6,
"heading": "Required Qualifications",
"heading_was_present": true,
"source_marker": {
"first_5_words": " \u2022 Proven experience with App Store",
"last_5_words": "influence and align cross-functional stakeholders."
},
"text": " \u2022 Proven experience with App Store and Google Play deployment processes, including provisioning, certificate management, release automation, beta testing and compliance.\n\n \u2022 Experience developing reusable or cross-platform components using technologies like Kotlin Multiplatform, , React Native or Flutter.\n\n \u2022 Integrate apps with backend APIs, ensuring secure data handling and high performance.\n\n \u2022 Proficient in debugging, profiling, and optimizing performance for mobile applications on both platforms.\n\n \u2022 Proven ability to lead complex technical initiatives, manage multiple priorities, and deliver on deadlines.\n\n \u2022 Excellent communication and interpersonal skills, with the ability to influence and align cross-functional stakeholders.",
"word_count": 92
},
{
"bullet_count": 7,
"heading": "Technical Expertise",
"heading_was_present": true,
"source_marker": {
"first_5_words": " \u2022 5:8 years of professional experience",
"last_5_words": "to keep the technology stack up to date."
},
"text": " \u2022 5:8 years of professional experience in mobile application development, with a strong track record on Kotlin multi-platform and React Native.\n\n \u2022 Should be well versed with the concepts of Object-Oriented Programming (OOP).\n\n \u2022 Must be able to demonstrate strong knowledge of UI design principles, patterns, and best practices.\n\n \u2022 A sound understanding of the full mobile development life cycle and should have published multiple native apps.\n\n \u2022 Experience with relational databases (SQLite), web services and API integration.\n\n \u2022 Exposure to internationalization/localization for multi-country and multi-lingual deployments.\n\n \u2022 Ability to evaluate and adopt new frameworks, libraries, and tools to keep the technology stack up to date.",
"word_count": 103
}
],
"urls": []
}
API 1 — extract-from-jd click to toggle
{
"final_skills": [
{
"is_primary": true,
"skill_name": "Android"
},
{
"is_primary": true,
"skill_name": "iOS"
},
{
"is_primary": true,
"skill_name": "Kotlin Multiplatform"
},
{
"is_primary": true,
"skill_name": "React Native"
},
{
"is_primary": false,
"skill_name": "Flutter"
},
{
"is_primary": true,
"skill_name": "App Store"
},
{
"is_primary": true,
"skill_name": "Google Play"
},
{
"is_primary": true,
"skill_name": "SQLite"
},
{
"is_primary": true,
"skill_name": "API"
},
{
"is_primary": true,
"skill_name": "Object-Oriented Programming"
},
{
"is_primary": false,
"skill_name": "Internationalization"
},
{
"is_primary": false,
"skill_name": "Localization"
}
],
"jd_role": {
"display_name": "Sr Mobile Application Developer (Android and iOS)",
"rationale": null,
"role_aliases": [
"Mobile Developer",
"Mobile Application Developer",
"Senior Mobile Developer"
],
"role_archetype": "Engineering",
"slug": ""
},
"nano_parsed": {
"JD_type": "pass",
"about_company": null,
"certifications": [],
"company_name": "Wadhwani Foundation",
"ctc": null,
"domain": {
"primary": {
"aliases": [
"ITES",
"BPO"
],
"domain": "IT Services \u0026 Consulting"
},
"secondary": null
},
"education": [],
"experience": {
"max": 8,
"min": 5,
"raw": "5:8 years of professional experience in mobile application development"
},
"job_locations": [
{
"aliases": [
"Bengaluru"
],
"city": "Bangalore",
"country": "India",
"state": null,
"work_mode": "hybrid"
}
],
"role": "Sr Mobile Application Developer (Android and iOS)",
"role_aliases": [
"Mobile Developer",
"Mobile Application Developer",
"Senior Mobile Developer"
],
"role_archetype": "Engineering",
"roles_and_responsibilities": [
{
"bullet_count": 0,
"heading": "Job Summary",
"heading_was_present": true,
"source_marker": {
"first_5_words": "Wadhwani Foundation is looking for",
"last_5_words": "and serves beneficiaries in multiple countries."
},
"text": "Wadhwani Foundation is looking for a Senior Mobile Application Developer to drive the development and enhancement of our mobile clients (iOS and Android). The developer will design the entire app lifecycle right from PoC stage until delivery and post launch support. In this role, you will design and build, high performance, user-friendly and secure mobile applications. As a Senior Mobile Application developer, you will work closely with engineering and product teams to deliver a seamless mobile experience. You will play a key role in ensuring that our mobile apps meet high standards for usability, performance, security across both platforms and serves beneficiaries in multiple countries.",
"word_count": 87
},
{
"bullet_count": 4,
"heading": "Core Responsibilities",
"heading_was_present": true,
"source_marker": {
"first_5_words": "\u2022 Lead development and delivery",
"last_5_words": "and promote best practices in mobile development."
},
"text": " \u2022 Lead development and delivery of cross-platform (Kotlin Multiplatform, React Native) mobile applications.\n\n \u2022 Translate UI/UX designs into clean, efficient, and reusable code following best practices.\n\n \u2022 Collaborate with cross-functional teams to develop and maintain application.\n\n \u2022 Mentor junior engineers, enforce coding standards, and promote best practices in mobile development.",
"word_count": 56
},
{
"bullet_count": 6,
"heading": "Required Qualifications",
"heading_was_present": true,
"source_marker": {
"first_5_words": " \u2022 Proven experience with App Store",
"last_5_words": "influence and align cross-functional stakeholders."
},
"text": " \u2022 Proven experience with App Store and Google Play deployment processes, including provisioning, certificate management, release automation, beta testing and compliance.\n\n \u2022 Experience developing reusable or cross-platform components using technologies like Kotlin Multiplatform, , React Native or Flutter.\n\n \u2022 Integrate apps with backend APIs, ensuring secure data handling and high performance.\n\n \u2022 Proficient in debugging, profiling, and optimizing performance for mobile applications on both platforms.\n\n \u2022 Proven ability to lead complex technical initiatives, manage multiple priorities, and deliver on deadlines.\n\n \u2022 Excellent communication and interpersonal skills, with the ability to influence and align cross-functional stakeholders.",
"word_count": 92
},
{
"bullet_count": 7,
"heading": "Technical Expertise",
"heading_was_present": true,
"source_marker": {
"first_5_words": " \u2022 5:8 years of professional experience",
"last_5_words": "to keep the technology stack up to date."
},
"text": " \u2022 5:8 years of professional experience in mobile application development, with a strong track record on Kotlin multi-platform and React Native.\n\n \u2022 Should be well versed with the concepts of Object-Oriented Programming (OOP).\n\n \u2022 Must be able to demonstrate strong knowledge of UI design principles, patterns, and best practices.\n\n \u2022 A sound understanding of the full mobile development life cycle and should have published multiple native apps.\n\n \u2022 Experience with relational databases (SQLite), web services and API integration.\n\n \u2022 Exposure to internationalization/localization for multi-country and multi-lingual deployments.\n\n \u2022 Ability to evaluate and adopt new frameworks, libraries, and tools to keep the technology stack up to date.",
"word_count": 103
}
],
"urls": []
},
"rejected": false,
"rejection_reason": null,
"run_id": "7de45273-69bb-4a7a-8bfe-73ace34d001f",
"stage3_signals": {
"alias_found": true,
"alias_match_roles": [
{
"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": "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": "Manages build configurations, code signing certificates, and app store release submissions for both Google Play and Apple App Store.",
"sentence": "Proven experience with App Store and Google Play deployment processes, including provisioning, certificate management, release automation, beta testing and compliance.",
"similarity": 0.7115
},
{
"kra_text": "Implements cross-platform mobile features using React Native, Flutter, or Ionic targeting both iOS and Android platforms from a shared codebase.",
"sentence": "Experience developing reusable or cross-platform components using technologies like Kotlin Multiplatform, , React Native or Flutter.",
"similarity": 0.7021
},
{
"kra_text": "Integrates cross-platform mobile apps with REST and GraphQL backend APIs, handling JWT authentication, token refresh, and error recovery.",
"sentence": "Integrate apps with backend APIs, ensuring secure data handling and high performance.",
"similarity": 0.6364
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 11,
"score": 0.6833,
"slug": "hybrid-mobile-developer",
"total_count": null
},
{
"display_name": "Android Developer",
"kra_matches": [
{
"kra_text": "Develops native Android features using Kotlin or Java with Android SDK, Jetpack Compose, and Material Design components following platform conventions.",
"sentence": "Experience developing reusable or cross-platform components using technologies like Kotlin Multiplatform, , React Native or Flutter.",
"similarity": 0.6604
},
{
"kra_text": "Develops native Android features using Kotlin or Java with Android SDK, Jetpack Compose, and Material Design components following platform conventions.",
"sentence": "Lead development and delivery of cross-platform (Kotlin Multiplatform, React Native) mobile applications.",
"similarity": 0.6099
},
{
"kra_text": "Integrates Android apps with RESTful backend APIs using Retrofit and OkHttp, handling JSON parsing, authentication headers, and network error recovery.",
"sentence": "Integrate apps with backend APIs, ensuring secure data handling and high performance.",
"similarity": 0.6085
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 4,
"score": 0.6263,
"slug": "android-engineer",
"total_count": null
},
{
"display_name": "Flutter Developer",
"kra_matches": [
{
"kra_text": "collaborate with design, product, and backend teams",
"sentence": "Collaborate with cross-functional teams to develop and maintain application.",
"similarity": 0.6647
},
{
"kra_text": "integrate external APIs and data sources",
"sentence": "Integrate apps with backend APIs, ensuring secure data handling and high performance.",
"similarity": 0.6153
},
{
"kra_text": "translate product and design requirements",
"sentence": "Translate UI/UX designs into clean, efficient, and reusable code following best practices.",
"similarity": 0.552
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 74,
"score": 0.6107,
"slug": "flutter-developer",
"total_count": null
},
{
"display_name": "React Native Developer",
"kra_matches": [
{
"kra_text": "integrate backend APIs",
"sentence": "Integrate apps with backend APIs, ensuring secure data handling and high performance.",
"similarity": 0.7607
},
{
"kra_text": "maintain code quality",
"sentence": "Mentor junior engineers, enforce coding standards, and promote best practices in mobile development.",
"similarity": 0.5012
},
{
"kra_text": "maintain code quality",
"sentence": "Translate UI/UX designs into clean, efficient, and reusable code following best practices.",
"similarity": 0.4955
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 73,
"score": 0.5858,
"slug": "react-native-developer",
"total_count": null
},
{
"display_name": "Frontend Developer",
"kra_matches": [
{
"kra_text": "Maintains reusable component libraries, design system tokens, and shared UI patterns across the application to ensure visual and behavioral consistency.",
"sentence": "Translate UI/UX designs into clean, efficient, and reusable code following best practices.",
"similarity": 0.5947
},
{
"kra_text": "Integrates frontend views with RESTful or GraphQL backend APIs, handling async data fetching, loading states, error boundaries, and cache invalidation.",
"sentence": "Integrate apps with backend APIs, ensuring secure data handling and high performance.",
"similarity": 0.5834
},
{
"kra_text": "Collaborates with UX designers to refine interaction details, animations, responsive breakpoints, and micro-interaction behavior.",
"sentence": "Must be able to demonstrate strong knowledge of UI design principles, patterns, and best practices.",
"similarity": 0.533
}
],
"matched_count": null,
"matched_skills": null,
"role_id": 7,
"score": 0.5704,
"slug": "frontend-engineer",
"total_count": null
}
],
"skill_match_roles": [
{
"display_name": "Fullstack Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"API",
"React Native"
],
"role_id": 15,
"score": 0.2222,
"slug": "full-stack-engineer",
"total_count": 9
},
{
"display_name": "Web Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"API",
"React Native"
],
"role_id": 25,
"score": 0.2222,
"slug": "web-developer",
"total_count": 9
},
{
"display_name": "Frontend Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"API",
"React Native"
],
"role_id": 7,
"score": 0.2222,
"slug": "frontend-engineer",
"total_count": 9
},
{
"display_name": "Hybrid Mobile Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"React Native",
"SQLite"
],
"role_id": 11,
"score": 0.2222,
"slug": "hybrid-mobile-developer",
"total_count": 9
},
{
"display_name": "React Native Developer",
"kra_matches": null,
"matched_count": 2,
"matched_skills": [
"React Native",
"SQLite"
],
"role_id": 73,
"score": 0.2222,
"slug": "react-native-developer",
"total_count": 9
}
]
},
"stage4_decision": {
"alias_collision_detected": false,
"case": "DOMAIN",
"chosen_role": {
"display_name": "Hybrid Mobile Developer",
"kra_matches": null,
"matched_count": null,
"matched_skills": null,
"role_id": 11,
"score": 0.98,
"slug": "hybrid-mobile-developer",
"total_count": null
},
"confidence": 0.98,
"is_new_role": false,
"llm2_fired": false,
"llm2_reasoning": null,
"matched_dimensions": [
"Cross-platform mobile application development",
"Mobile app lifecycle ownership",
"UI/UX implementation",
"Mobile performance optimization",
"Mobile security and secure data handling",
"Store release and deployment management",
"Cross-functional collaboration and mentoring",
"Multi-country, multilingual app support"
],
"matched_kras": [
"Drive development and enhancement of mobile clients",
"Design the entire app lifecycle from PoC to delivery",
"Lead development and delivery of cross-platform mobile applications",
"Translate UI/UX designs into clean, efficient, reusable code",
"Collaborate with cross-functional teams to develop and maintain application",
"Mentor junior engineers, enforce coding standards",
"Integrate apps with backend APIs",
"Debug, profile, and optimize performance",
"Ensure usability, performance, security across both platforms"
],
"matched_skills": [
"Kotlin Multiplatform",
"React Native",
"Flutter",
"App Store",
"Google Play",
"provisioning",
"certificate management",
"release automation",
"beta testing",
"SQLite",
"web services",
"API integration",
"Object-Oriented Programming (OOP)",
"UI design principles",
"internationalization/localization"
],
"new_role_display_name": null,
"new_role_slug": null,
"queued": false,
"reasoning": "Domain=Software Engineering \u2192 sub-role react-native-developer; The JD is centered on cross-platform mobile app development with React Native, Kotlin Multiplatform, and deployment to iOS/Android stores, which best matches Hybrid Mobile Developer.",
"sub_role": {
"confidence": 0.94,
"display_name": "React Native Developer",
"reasoning": "The JD repeatedly emphasizes React Native and cross-platform mobile development, while Flutter and Ionic are only incidental mentions.",
"role_id": 73,
"slug": "react-native-developer"
}
},
"stage5_updates": {
"centroid_n_after": 82,
"centroid_updated": true,
"collision_log_id": null,
"new_kra_attached": null,
"new_skills_attached": [
{
"is_primary": true,
"queue_id": 23354,
"role_display_name": "Hybrid Mobile Developer",
"role_slug": "hybrid-mobile-developer",
"skill_name": "Kotlin Multiplatform",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 23355,
"role_display_name": "Hybrid Mobile Developer",
"role_slug": "hybrid-mobile-developer",
"skill_name": "App Store",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 23356,
"role_display_name": "Hybrid Mobile Developer",
"role_slug": "hybrid-mobile-developer",
"skill_name": "Google Play",
"status": "pending"
},
{
"is_primary": true,
"queue_id": 23357,
"role_display_name": "Hybrid Mobile Developer",
"role_slug": "hybrid-mobile-developer",
"skill_name": "Object-Oriented Programming",
"status": "pending"
},
{
"is_primary": false,
"queue_id": 23358,
"role_display_name": "Hybrid Mobile Developer",
"role_slug": "hybrid-mobile-developer",
"skill_name": "Internationalization",
"status": "pending"
}
],
"queue_entry_id": null,
"v3_pipeline_triggered": false,
"v3_role_slug": null,
"v3_run_id": null
}
}
API 2 — extract-details
{
"alias_matches": [
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 2541,
"existing_alias_text": "Android",
"input_term": "Android",
"matched_canonical": {
"category_id": 9,
"display_name": "Android",
"id": 1595,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "android",
"sub_category_id": 1201,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 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": 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": 1659,
"existing_alias_text": "flutter",
"input_term": "Flutter",
"matched_canonical": {
"category_id": 5,
"display_name": "Flutter",
"id": 1041,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "flutter",
"sub_category_id": 341,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "alias"
},
{
"alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
"alias_persisted": false,
"existing_alias_id": 1711,
"existing_alias_text": "Apple App Store",
"input_term": "App Store",
"matched_canonical": {
"category_id": 9,
"display_name": "Apple App Store",
"id": 1085,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "apple-app-store",
"sub_category_id": 347,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"matched_via": "embedding_alias"
},
{
"alias_persist_skipped_reason": "TODO: REMOVE AFTER TESTING \u2014 alias DB write disabled",
"alias_persisted": false,
"existing_alias_id": 1712,
"existing_alias_text": "Google Play Store",
"input_term": "Google Play",
"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": "alias_text already exists for this canonical skill",
"alias_persisted": false,
"existing_alias_id": 786,
"existing_alias_text": "SQLite",
"input_term": "SQLite",
"matched_canonical": {
"category_id": 3,
"display_name": "SQLite",
"id": 460,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "sqlite",
"sub_category_id": 2714,
"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": 2514,
"existing_alias_text": "API",
"input_term": "API",
"matched_canonical": {
"category_id": 2,
"display_name": "API",
"id": 1568,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "api",
"sub_category_id": 1174,
"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": 828,
"existing_alias_text": "localization",
"input_term": "Localization",
"matched_canonical": {
"category_id": 8,
"display_name": "Localization",
"id": 502,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "localization",
"sub_category_id": 2258,
"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": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"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": "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"
}
],
"chosen_role": {
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": "Domain=Software Engineering \u2192 sub-role react-native-developer; The JD is centered on cross-platform mobile app development with React Native, Kotlin Multiplatform, and deployment to iOS/Android stores, which best matches Hybrid Mobile Developer.",
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Android",
"llm_role": null,
"roles_from_db": []
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "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": "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": "Flutter UI Framework",
"id": 312,
"rationale": "Flutter framework primitives used to build screens, reusable components, and interactive client experiences. This cluster is coherent because Flutter developers spend much of their time composing widgets and managing rendering behavior.",
"slug": "flutter-ui-framework",
"source": "db"
},
"input_skill": "Flutter",
"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": "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": "Flutter",
"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": "Mobile Vendor Platforms",
"id": 172,
"rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
"slug": "mobile-vendor-platforms",
"source": "db"
},
"input_skill": "App Store",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Vendor Platforms",
"id": 172,
"rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
"slug": "mobile-vendor-platforms",
"source": "db"
},
"input_skill": "Google Play",
"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": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "SQLite",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Offline Storage and Sync",
"id": 378,
"rationale": "On-device storage and synchronization patterns used to keep Ionic apps usable when connectivity is limited. This cluster covers caching, queued writes, and restoring client state after reconnecting.",
"slug": "offline-storage-and-sync",
"source": "db"
},
"input_skill": "SQLite",
"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": "API Integration and Data Fetching",
"id": 127,
"rationale": "Client-side integration with backend endpoints and third-party services, including request shaping, response handling, and synchronization with UI state. This is central to frontend work because most screens depend on remote data.",
"slug": "api-integration-and-data-fetching",
"source": "db"
},
"input_skill": "API",
"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": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "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": "Accessibility and Internationalization",
"id": 93,
"rationale": "Client experience practices that make Ionic apps usable across assistive technologies, locales, and device settings. This is a distinct cluster because shared mobile/browser apps must support keyboard, screen reader, and multilingual behavior.",
"slug": "accessibility-and-internationalization",
"source": "db"
},
"input_skill": "Localization",
"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": "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_final_skills": [
"Android",
"iOS",
"Kotlin Multiplatform",
"React Native",
"Flutter",
"App Store",
"Google Play",
"SQLite",
"API",
"Object-Oriented Programming",
"Internationalization",
"Localization"
],
"input_llm_skills": [
"Android",
"iOS",
"Kotlin Multiplatform",
"React Native",
"Flutter",
"App Store",
"Google Play",
"SQLite",
"API",
"Object-Oriented Programming",
"Internationalization",
"Localization"
],
"new_aliases_persisted": 0,
"run_id": "7de45273-69bb-4a7a-8bfe-73ace34d001f",
"skills_detail": [
{
"aliases_in_db": [
{
"alias_text": "Android",
"alias_type": "CANONICAL",
"id": 2541,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 9,
"display_name": "Android",
"id": 1595,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "android",
"sub_category_id": 1201,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "React Frontend Development",
"id": 96,
"rationale": "Building interactive web user interfaces with React.js, including component composition, state management, hooks, and rendering patterns. React.js belongs here because it is a core library for client-side UI development in modern web applications.",
"slug": "d_init_01",
"source": "db"
},
"input_skill": "Android",
"llm_role": null,
"roles_from_db": []
}
],
"input_skill": "Android",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "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": [],
"canonical": null,
"dimensions": [],
"input_skill": "Kotlin Multiplatform",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Programming Languages",
"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": "kotlin-multiplatform",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"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": "Flutter",
"alias_type": "CANONICAL",
"id": 1658,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Flutter 3",
"alias_type": "VERSION",
"id": 4372,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Flutter 3.x",
"alias_type": "VERSION",
"id": 4373,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "Flutter3",
"alias_type": "VERSION",
"id": 4371,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "flutter",
"alias_type": "VERSION",
"id": 1659,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "flutter 3",
"alias_type": "VERSION",
"id": 1661,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "flutter 3.x",
"alias_type": "VERSION",
"id": 1662,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "flutter3",
"alias_type": "VERSION",
"id": 1660,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 5,
"display_name": "Flutter",
"id": 1041,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "FRAMEWORK",
"slug": "flutter",
"sub_category_id": 341,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Flutter UI Framework",
"id": 312,
"rationale": "Flutter framework primitives used to build screens, reusable components, and interactive client experiences. This cluster is coherent because Flutter developers spend much of their time composing widgets and managing rendering behavior.",
"slug": "flutter-ui-framework",
"source": "db"
},
"input_skill": "Flutter",
"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": "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": "Flutter",
"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": "Flutter",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Apple App Store",
"alias_type": "CANONICAL",
"id": 1711,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 9,
"display_name": "Apple App Store",
"id": 1085,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "apple-app-store",
"sub_category_id": 347,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Vendor Platforms",
"id": 172,
"rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
"slug": "mobile-vendor-platforms",
"source": "db"
},
"input_skill": "App Store",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
}
]
}
],
"input_skill": "App Store",
"matched_via": "embedding_alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Google Play Store",
"alias_type": "CANONICAL",
"id": 1712,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 9,
"display_name": "Google Play Store",
"id": 1086,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "PLATFORM",
"slug": "google-play-store",
"sub_category_id": 347,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Mobile Vendor Platforms",
"id": 172,
"rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
"slug": "mobile-vendor-platforms",
"source": "db"
},
"input_skill": "Google Play",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
}
]
}
],
"input_skill": "Google Play",
"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": "SQLite",
"alias_type": "CANONICAL",
"id": 786,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 3,
"display_name": "SQLite",
"id": 460,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "TOOL",
"slug": "sqlite",
"sub_category_id": 2714,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"input_skill": "SQLite",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
]
},
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Offline Storage and Sync",
"id": 378,
"rationale": "On-device storage and synchronization patterns used to keep Ionic apps usable when connectivity is limited. This cluster covers caching, queued writes, and restoring client state after reconnecting.",
"slug": "offline-storage-and-sync",
"source": "db"
},
"input_skill": "SQLite",
"llm_role": null,
"roles_from_db": [
{
"display_name": "Ionic Developer",
"id": 434,
"rationale": null,
"role_archetype": null,
"slug": "ionic-developer",
"source": "db"
}
]
}
],
"input_skill": "SQLite",
"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": "API",
"alias_type": "CANONICAL",
"id": 2514,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 2,
"display_name": "API",
"id": 1568,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "CONCEPT",
"slug": "api",
"sub_category_id": 1174,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "API Integration and Data Fetching",
"id": 127,
"rationale": "Client-side integration with backend endpoints and third-party services, including request shaping, response handling, and synchronization with UI state. This is central to frontend work because most screens depend on remote data.",
"slug": "api-integration-and-data-fetching",
"source": "db"
},
"input_skill": "API",
"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": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "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": "API",
"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": "Object-Oriented Programming",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concepts",
"skill_nature": "CONCEPT",
"sub_category": "general",
"typical_lifespan": "EVERGREEN",
"version_strategy": "UNVERSIONED",
"volatility": "STABLE"
},
"enrichment": null,
"keep_log": [],
"locked_dimensions": [],
"merge_log": [],
"placed": null,
"relationships": null,
"skill_id": "object-oriented-programming",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [],
"canonical": null,
"dimensions": [],
"input_skill": "Internationalization",
"matched_via": null,
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": {
"derived": {
"category": "Concepts",
"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": "internationalization",
"split_log": [],
"typed": null,
"warnings": []
},
"source_tag": "llm",
"was_in_llm_skills": true
},
{
"aliases_in_db": [
{
"alias_text": "Localization",
"alias_type": "CANONICAL",
"id": 4428,
"is_primary": true,
"match_strategy": "CASE_INSENSITIVE"
},
{
"alias_text": "localization",
"alias_type": "CANONICAL",
"id": 828,
"is_primary": false,
"match_strategy": "CASE_INSENSITIVE"
}
],
"canonical": {
"category_id": 8,
"display_name": "Localization",
"id": 502,
"is_also_category": false,
"is_extractable": true,
"skill_nature": "METHODOLOGY",
"slug": "localization",
"sub_category_id": 2258,
"typical_lifespan": "EVERGREEN",
"volatility": "STABLE"
},
"dimensions": [
{
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Accessibility and Internationalization",
"id": 93,
"rationale": "Client experience practices that make Ionic apps usable across assistive technologies, locales, and device settings. This is a distinct cluster because shared mobile/browser apps must support keyboard, screen reader, and multilingual behavior.",
"slug": "accessibility-and-internationalization",
"source": "db"
},
"input_skill": "Localization",
"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": "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": "Localization",
"matched_via": "alias",
"new_alias_persisted": false,
"new_alias_text": null,
"new_skill_meta": null,
"source_tag": "db",
"was_in_llm_skills": true
}
],
"unmatched_skills": [
"Kotlin Multiplatform",
"Object-Oriented Programming",
"Internationalization"
]
}
API 3 — final-role-output
{
"chosen_role": {
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": "Domain=Software Engineering \u2192 sub-role react-native-developer; The JD is centered on cross-platform mobile app development with React Native, Kotlin Multiplatform, and deployment to iOS/Android stores, which best matches Hybrid Mobile Developer.",
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
"chosen_role_resolution": "in_db",
"final_input_skills": [
{
"skill": "Android",
"tag": "in_db"
},
{
"skill": "iOS",
"tag": "in_db"
},
{
"skill": "Kotlin Multiplatform",
"tag": "new"
},
{
"skill": "React Native",
"tag": "in_db"
},
{
"skill": "Flutter",
"tag": "in_db"
},
{
"skill": "App Store",
"tag": "in_db"
},
{
"skill": "Google Play",
"tag": "in_db"
},
{
"skill": "SQLite",
"tag": "in_db"
},
{
"skill": "API",
"tag": "in_db"
},
{
"skill": "Object-Oriented Programming",
"tag": "new"
},
{
"skill": "Internationalization",
"tag": "new"
},
{
"skill": "Localization",
"tag": "in_db"
}
],
"llm_cost_api1_usd": null,
"llm_cost_api2_usd": null,
"llm_cost_api3_usd": null,
"llm_cost_total_usd": null,
"persistence": {
"items": [
{
"chosen_role_id": 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": "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": "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": "Flutter UI Framework",
"id": 312,
"rationale": "Flutter framework primitives used to build screens, reusable components, and interactive client experiences. This cluster is coherent because Flutter developers spend much of their time composing widgets and managing rendering behavior.",
"slug": "flutter-ui-framework",
"source": "db"
},
"dimension_id": 312,
"input_skill": "Flutter",
"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": 1041,
"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": "Flutter",
"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": 1041,
"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": "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": "Mobile Vendor Platforms",
"id": 172,
"rationale": "Knowledge of major mobile vendor platforms and their services for app distribution, testing, and analytics.",
"slug": "mobile-vendor-platforms",
"source": "db"
},
"dimension_id": 172,
"input_skill": "Google Play",
"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": "Local Persistence and Offline Behavior",
"id": 85,
"rationale": "On-device storage used for caching, offline support, and durable client state. This cluster is coherent because iOS apps often need to preserve user progress and data when connectivity is limited.",
"slug": "local-persistence-and-offline-behavior",
"source": "db"
},
"dimension_id": 85,
"input_skill": "SQLite",
"llm_role": null,
"matched_chosen_role": true,
"outcome_line": "Existing dimension (library) \u00b7 Role\u2194dimension saved",
"role_dimension_saved": true,
"roles_from_db": [
{
"display_name": "Android Developer",
"id": 4,
"rationale": null,
"role_archetype": null,
"slug": "android-engineer",
"source": "db"
},
{
"display_name": "Flutter Developer",
"id": 74,
"rationale": null,
"role_archetype": "Engineering",
"slug": "flutter-developer",
"source": "db"
},
{
"display_name": "Hybrid Mobile Developer",
"id": 11,
"rationale": null,
"role_archetype": null,
"slug": "hybrid-mobile-developer",
"source": "db"
},
{
"display_name": "Native Mobile Developer",
"id": 75,
"rationale": null,
"role_archetype": "Engineering",
"slug": "native-mobile-developer",
"source": "db"
},
{
"display_name": "React Native Developer",
"id": 73,
"rationale": null,
"role_archetype": "Engineering",
"slug": "react-native-developer",
"source": "db"
},
{
"display_name": "iOS Developer",
"id": 6,
"rationale": null,
"role_archetype": null,
"slug": "ios-engineer",
"source": "db"
}
],
"skill_dimension_saved": true,
"skill_id": 460,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 11,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Offline Storage and Sync",
"id": 378,
"rationale": "On-device storage and synchronization patterns used to keep Ionic apps usable when connectivity is limited. This cluster covers caching, queued writes, and restoring client state after reconnecting.",
"slug": "offline-storage-and-sync",
"source": "db"
},
"dimension_id": 378,
"input_skill": "SQLite",
"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": 460,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 11,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "API Integration and Data Fetching",
"id": 127,
"rationale": "Client-side integration with backend endpoints and third-party services, including request shaping, response handling, and synchronization with UI state. This is central to frontend work because most screens depend on remote data.",
"slug": "api-integration-and-data-fetching",
"source": "db"
},
"dimension_id": 127,
"input_skill": "API",
"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": "Fullstack Developer",
"id": 435,
"rationale": null,
"role_archetype": "Engineering",
"slug": "fullstack-developer",
"source": "db"
},
{
"display_name": "Fullstack Developer",
"id": 15,
"rationale": null,
"role_archetype": null,
"slug": "full-stack-engineer",
"source": "db"
},
{
"display_name": "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": 1568,
"skill_tag": "in_db",
"skipped_reason": null
},
{
"chosen_role_id": 11,
"dimension": {
"difficulty_hint": "well_known",
"display_name": "Accessibility and Internationalization",
"id": 93,
"rationale": "Client experience practices that make Ionic apps usable across assistive technologies, locales, and device settings. This is a distinct cluster because shared mobile/browser apps must support keyboard, screen reader, and multilingual behavior.",
"slug": "accessibility-and-internationalization",
"source": "db"
},
"dimension_id": 93,
"input_skill": "Localization",
"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": "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": true,
"skill_id": 502,
"skill_tag": "in_db",
"skipped_reason": null
}
],
"new_skills_created": 0,
"role_dimension_saved": 0,
"skill_dimension_saved": 0,
"skipped": 2
},
"planner_output": null,
"run_id": "7de45273-69bb-4a7a-8bfe-73ace34d001f"
}