← Back to history

Pipeline run

4617dd5a-4fa0-4e97-8e0e-67c516173d67

Pipeline LLM cost (USD)
API 1: $0.0098 API 2: $0.0000 API 3: $0.0000 Total: $0.0098

Client output enrichment

v2 Skill cluster · Nature of work · AI index · Tech stack maturity · Evidence · KRA description
SPARSE JD role baseline loaded sources · ai_index: role_baseline · nature_of_work: no_kras · tech_stack_maturity: role_baseline
Nature of work no kras
Vague JD — no KRAs present to derive a specific nature of work.
Tech stack maturity
Modern Cloud Native
This role is centered on modern cross-platform mobile app development with shared codebases and current mobile tooling, rather than legacy stacks or AI-native work.
AI index (0 = no AI use, 5 = totally AI-dependent · v2.1)
1.00 / 5
· Title match
· Has AI skill
· AI skill (primary)
· AI skill (secondary)
· On AI team
· Builds AI products
vocab breakdown (legacy)
Assistants (×1):
Frameworks (×2):
Models / concepts (×3):
Evidence — skills matched in JD (1)
React Native
Skill cluster (1 dimension groups, role-scoped)
UI Frameworks and Rendering
React Native

Signals

Skill full-stack-engineer
1.00
Alias
KRA engineering-manager
0.35

Post-classification

Centroidupdated · n=80
Alias collision log
New-role queue
New skills captured0
New KRA captured
Status: completed Created: 2026-05-27T17:17:56.141894Z Updated: 2026-05-27T17:18:27.386854Z API 3 duration: 2046 ms
Flow Current 3-step pipeline

1 POST /skills/extract-from-jd

2 POST /skills/extract-details

3 POST /skills/final-role-output

Role Chosen role & resolution

Hybrid Mobile Developer

React Native Developer

sub-role · 0.99 domain · Software Engineering CASE DOMAIN

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

Domain=Software Engineering → sub-role react-native-developer; The JD explicitly references a React Native developer role, which best matches a Hybrid Mobile Developer.

Matched skills

React NativeEnglish language proficiencyProject management skillsattention to detail

Matched dimensions

Mobile App DevelopmentRemote Freelance WorkProject ManagementAttention to Detail

Matched KRAs

work flexibly with leading Fortune 500 brandswork remotely on the projects that meet your career ambitionschoose your own schedule and work from anywherefreelance on a full time basis

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

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

Job description

Design your lifestyle as a top freelance developer, with the freedom to work however, wherever, on your terms. Freelance work is defining the careers of today’s developers in exciting new ways. If you’re passionate about working flexibly with leading Fortune 500 brands and innovative Silicon Valley startups, Toptal could be a great fit for your next career shift. Toptal is an elite talent network for the world’s top 3% of developers, connecting the best and brightest freelancers with top organizations. Unlike a 9-to-5 job, you’ll choose your own schedule and work from anywhere. Jobs come to you, so you won’t bid for projects against other developers in a race to the bottom. Plus, Toptal takes care of all the overhead, empowering you to focus on successful engagements while getting paid on time, at the rate you decide, every time. As a freelance developer, you could join an ever-expanding community of experts in over 120 countries, working remotely on the projects that meet your career ambitions. That’s why the world’s top 3% of developers choose Toptal. Developers in our elite network share:  English language proficiency  At least 3 years of professional experience  Project management skills  A keen attention to detail Note: We are looking for talent who are able to freelance on a full time basis. Curious to know how much you could make? Check out our React Native developer rate calculator: https://topt.al/xWcPnZ If you’re ready for a career shift to impactful freelance work, take the next step by clicking apply and filling out the short form. ____ For expert insights on remote work and updates on new job postings, follow us on LinkedIn: https://topt.al/nbcaxq You can find us on the other social platforms at @Toptal. #RemoteJobsReactNative

Skills from this JD

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

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

Aliases — catalog

  • React Native (CANONICAL) primary

Context tags (catalog)

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

Stored enrichment (catalog DB)

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

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

Skill profile (library / DB)

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

Dimensions (API 2 worklist)

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

    Library dimension (catalog)

    Roles linked in library: React Native Developer

  • UI Frameworks and Rendering Catalog dimension db id 115

    Library dimension (catalog)

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

API 3 link attempts (this skill)

Dimension Skill↔dim Role↔dim Outcome
Cross-Platform Mobile UI Frameworks
cross-platform-mobile-ui-frameworks
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
UI Frameworks and Rendering
ui-frameworks-and-rendering
Existing dimension (library) · Role↔dimension saved

All API 3 persistence rows

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

Skill Tag Dimension Skill↔dim Role↔dim Outcome Notes
React Native in_db
Cross-Platform Mobile UI Frameworks
cross-platform-mobile-ui-frameworks
Existing dimension (library) · Role↔dimension skipped (dimension not under chosen role)
React Native in_db
UI Frameworks and Rendering
ui-frameworks-and-rendering
Existing dimension (library) · Role↔dimension saved

Library artifacts (this run)

No artifact rows for this run.
nano JD Parser — gpt-4.1-nano click to toggle
JD type fail
Show raw JSON
{
  "JD_type": "fail",
  "archetype_override_applied": true,
  "archetype_override_matched_skills": [
    "Make",
    "React Native",
    "React"
  ],
  "role_archetype": "Engineering"
}
API 1 — extract-from-jd click to toggle
{
  "final_skills": [
    {
      "is_primary": true,
      "skill_name": "React Native"
    }
  ],
  "jd_role": null,
  "nano_parsed": {
    "JD_type": "fail",
    "archetype_override_applied": true,
    "archetype_override_matched_skills": [
      "Make",
      "React Native",
      "React"
    ],
    "role_archetype": "Engineering"
  },
  "rejected": false,
  "rejection_reason": null,
  "run_id": "4617dd5a-4fa0-4e97-8e0e-67c516173d67",
  "stage3_signals": {
    "alias_found": false,
    "alias_match_roles": [],
    "kra_match_roles": [
      {
        "display_name": "Engineering Manager",
        "kra_matches": [
          {
            "kra_text": "support hiring and onboarding",
            "sentence": "Plus, Toptal takes care of all the overhead, empowering you to focus on successful engagements while getting paid on time, at the rate you decide, every time.",
            "similarity": 0.3785
          },
          {
            "kra_text": "support hiring and onboarding",
            "sentence": "If you\u2019re passionate about working flexibly with leading Fortune 500 brands and innovative Silicon Valley startups, Toptal could be a great fit for your next career shift.",
            "similarity": 0.3511
          },
          {
            "kra_text": "Set team goals and delivery plans",
            "sentence": "Developers in our elite network share:  English language proficiency  At least 3 years of professional experience  Project management skills  A keen attention to detail Note: We are looking for talent who are able to freelance on a full time basis.",
            "similarity": 0.3063
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 121,
        "score": 0.3453,
        "slug": "engineering-manager",
        "total_count": null
      },
      {
        "display_name": "Flutter Developer",
        "kra_matches": [
          {
            "kra_text": "translate product and design requirements",
            "sentence": "Developers in our elite network share:  English language proficiency  At least 3 years of professional experience  Project management skills  A keen attention to detail Note: We are looking for talent who are able to freelance on a full time basis.",
            "similarity": 0.3621
          },
          {
            "kra_text": "collaborate with design, product, and backend teams",
            "sentence": "As a freelance developer, you could join an ever-expanding community of experts in over 120 countries, working remotely on the projects that meet your career ambitions.",
            "similarity": 0.3384
          },
          {
            "kra_text": "collaborate with design, product, and backend teams",
            "sentence": "If you\u2019re passionate about working flexibly with leading Fortune 500 brands and innovative Silicon Valley startups, Toptal could be a great fit for your next career shift.",
            "similarity": 0.3331
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 74,
        "score": 0.3445,
        "slug": "flutter-developer",
        "total_count": null
      },
      {
        "display_name": "Fullstack Developer",
        "kra_matches": [
          {
            "kra_text": "Works closely with product managers and UX designers to translate requirements and wireframes into working software features through iterative development.",
            "sentence": "Developers in our elite network share:  English language proficiency  At least 3 years of professional experience  Project management skills  A keen attention to detail Note: We are looking for talent who are able to freelance on a full time basis.",
            "similarity": 0.3526
          },
          {
            "kra_text": "Builds and integrates client-side React or Vue components with server-side Node.js or Django APIs, managing bidirectional data flow across frontend and backend layers.",
            "sentence": "Curious to know how much you could make? Check out our React Native developer rate calculator: https://topt.al/xWcPnZ If you\u2019re ready for a career shift to impactful freelance work, take the next step by clicking apply and filling out the short form. ____ For expert insights on remote work and updates on new job postings, follow us on LinkedIn: https://topt.al/nbcaxq You can find us on the other social platforms at @Toptal. #RemoteJobsReactNative",
            "similarity": 0.3518
          },
          {
            "kra_text": "Builds and integrates client-side React or Vue components with server-side Node.js or Django APIs, managing bidirectional data flow across frontend and backend layers.",
            "sentence": "Freelance work is defining the careers of today\u2019s developers in exciting new ways.",
            "similarity": 0.326
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 15,
        "score": 0.3435,
        "slug": "full-stack-engineer",
        "total_count": null
      },
      {
        "display_name": "Native Mobile Developer",
        "kra_matches": [
          {
            "kra_text": "native screen and flow development",
            "sentence": "Curious to know how much you could make? Check out our React Native developer rate calculator: https://topt.al/xWcPnZ If you\u2019re ready for a career shift to impactful freelance work, take the next step by clicking apply and filling out the short form. ____ For expert insights on remote work and updates on new job postings, follow us on LinkedIn: https://topt.al/nbcaxq You can find us on the other social platforms at @Toptal. #RemoteJobsReactNative",
            "similarity": 0.3575
          },
          {
            "kra_text": "native screen and flow development",
            "sentence": "Design your lifestyle as a top freelance developer, with the freedom to work however, wherever, on your terms.",
            "similarity": 0.3282
          },
          {
            "kra_text": "native screen and flow development",
            "sentence": "Freelance work is defining the careers of today\u2019s developers in exciting new ways.",
            "similarity": 0.3271
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 75,
        "score": 0.3376,
        "slug": "native-mobile-developer",
        "total_count": null
      },
      {
        "display_name": "Java Backend Developer",
        "kra_matches": [
          {
            "kra_text": "asynchronous job processing",
            "sentence": "Jobs come to you, so you won\u2019t bid for projects against other developers in a race to the bottom.",
            "similarity": 0.3371
          },
          {
            "kra_text": "service endpoint development",
            "sentence": "Developers in our elite network share:  English language proficiency  At least 3 years of professional experience  Project management skills  A keen attention to detail Note: We are looking for talent who are able to freelance on a full time basis.",
            "similarity": 0.3348
          },
          {
            "kra_text": "service endpoint development",
            "sentence": "Design your lifestyle as a top freelance developer, with the freedom to work however, wherever, on your terms.",
            "similarity": 0.3294
          }
        ],
        "matched_count": null,
        "matched_skills": null,
        "role_id": 79,
        "score": 0.3338,
        "slug": "java-backend-developer",
        "total_count": null
      }
    ],
    "skill_match_roles": [
      {
        "display_name": "Fullstack Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "React Native"
        ],
        "role_id": 15,
        "score": 1.0,
        "slug": "full-stack-engineer",
        "total_count": 1
      },
      {
        "display_name": "Frontend Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "React Native"
        ],
        "role_id": 7,
        "score": 1.0,
        "slug": "frontend-engineer",
        "total_count": 1
      },
      {
        "display_name": "Hybrid Mobile Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "React Native"
        ],
        "role_id": 11,
        "score": 1.0,
        "slug": "hybrid-mobile-developer",
        "total_count": 1
      },
      {
        "display_name": "Web Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "React Native"
        ],
        "role_id": 25,
        "score": 1.0,
        "slug": "web-developer",
        "total_count": 1
      },
      {
        "display_name": "React Native Developer",
        "kra_matches": null,
        "matched_count": 1,
        "matched_skills": [
          "React Native"
        ],
        "role_id": 73,
        "score": 1.0,
        "slug": "react-native-developer",
        "total_count": 1
      }
    ]
  },
  "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.99,
      "slug": "hybrid-mobile-developer",
      "total_count": null
    },
    "confidence": 0.99,
    "is_new_role": false,
    "llm2_fired": false,
    "llm2_reasoning": null,
    "matched_dimensions": [
      "Mobile App Development",
      "Remote Freelance Work",
      "Project Management",
      "Attention to Detail"
    ],
    "matched_kras": [
      "work flexibly with leading Fortune 500 brands",
      "work remotely on the projects that meet your career ambitions",
      "choose your own schedule and work from anywhere",
      "freelance on a full time basis"
    ],
    "matched_skills": [
      "React Native",
      "English language proficiency",
      "Project management skills",
      "attention to detail"
    ],
    "new_role_display_name": null,
    "new_role_slug": null,
    "queued": false,
    "reasoning": "Domain=Software Engineering \u2192 sub-role react-native-developer; The JD explicitly references a React Native developer role, which best matches a Hybrid Mobile Developer.",
    "sub_role": {
      "confidence": 0.99,
      "display_name": "React Native Developer",
      "reasoning": "The JD explicitly references a React Native developer rate calculator and the hashtag #RemoteJobsReactNative, so React Native clearly dominates.",
      "role_id": 73,
      "slug": "react-native-developer"
    }
  },
  "stage5_updates": {
    "centroid_n_after": 80,
    "centroid_updated": true,
    "collision_log_id": null,
    "new_kra_attached": null,
    "new_skills_attached": [],
    "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": 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"
    }
  ],
  "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"
    }
  ],
  "chosen_role": {
    "display_name": "Hybrid Mobile Developer",
    "id": 11,
    "rationale": "Domain=Software Engineering \u2192 sub-role react-native-developer; The JD explicitly references a React Native developer role, which best matches a Hybrid Mobile Developer.",
    "role_archetype": null,
    "slug": "hybrid-mobile-developer",
    "source": "db"
  },
  "dimensions": [
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "Cross-Platform Mobile UI Frameworks",
        "id": 319,
        "rationale": "Frameworks, rendering models, and component libraries used to build shared mobile screens, layouts, and interactive experiences across platforms. This includes React Native and related tooling such as React Native CLI and Expo, as well as cross-platform UI libraries and interaction patterns like React Native Paper, NativeBase, gesture handlers, and animated components; it also covers comparable hybrid mobile UI frameworks such as Flutter. Excludes browser-only frontend frameworks and native platform UI toolkits such as SwiftUI, UIKit, Jetpack Compose, and Android Views.",
        "slug": "cross-platform-mobile-ui-frameworks",
        "source": "db"
      },
      "input_skill": "React Native",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "React Native Developer",
          "id": 73,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "react-native-developer",
          "source": "db"
        }
      ]
    },
    {
      "dimension": {
        "difficulty_hint": "well_known",
        "display_name": "UI Frameworks and Rendering",
        "id": 115,
        "rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
        "slug": "ui-frameworks-and-rendering",
        "source": "db"
      },
      "input_skill": "React Native",
      "llm_role": null,
      "roles_from_db": [
        {
          "display_name": "Frontend Developer",
          "id": 7,
          "rationale": null,
          "role_archetype": null,
          "slug": "frontend-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 15,
          "rationale": null,
          "role_archetype": null,
          "slug": "full-stack-engineer",
          "source": "db"
        },
        {
          "display_name": "Fullstack Developer",
          "id": 435,
          "rationale": null,
          "role_archetype": "Engineering",
          "slug": "fullstack-developer",
          "source": "db"
        },
        {
          "display_name": "Hybrid Mobile Developer",
          "id": 11,
          "rationale": null,
          "role_archetype": null,
          "slug": "hybrid-mobile-developer",
          "source": "db"
        },
        {
          "display_name": "Ionic Developer",
          "id": 434,
          "rationale": null,
          "role_archetype": null,
          "slug": "ionic-developer",
          "source": "db"
        },
        {
          "display_name": "Web Developer",
          "id": 25,
          "rationale": null,
          "role_archetype": null,
          "slug": "web-developer",
          "source": "db"
        }
      ]
    }
  ],
  "input_final_skills": [
    "React Native"
  ],
  "input_llm_skills": [
    "React Native"
  ],
  "new_aliases_persisted": 0,
  "run_id": "4617dd5a-4fa0-4e97-8e0e-67c516173d67",
  "skills_detail": [
    {
      "aliases_in_db": [
        {
          "alias_text": "React Native",
          "alias_type": "CANONICAL",
          "id": 1657,
          "is_primary": true,
          "match_strategy": "CASE_INSENSITIVE"
        }
      ],
      "canonical": {
        "category_id": 5,
        "display_name": "React Native",
        "id": 1040,
        "is_also_category": false,
        "is_extractable": true,
        "skill_nature": "FRAMEWORK",
        "slug": "react-native",
        "sub_category_id": 2146,
        "typical_lifespan": "EVERGREEN",
        "volatility": "STABLE"
      },
      "dimensions": [
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "Cross-Platform Mobile UI Frameworks",
            "id": 319,
            "rationale": "Frameworks, rendering models, and component libraries used to build shared mobile screens, layouts, and interactive experiences across platforms. This includes React Native and related tooling such as React Native CLI and Expo, as well as cross-platform UI libraries and interaction patterns like React Native Paper, NativeBase, gesture handlers, and animated components; it also covers comparable hybrid mobile UI frameworks such as Flutter. Excludes browser-only frontend frameworks and native platform UI toolkits such as SwiftUI, UIKit, Jetpack Compose, and Android Views.",
            "slug": "cross-platform-mobile-ui-frameworks",
            "source": "db"
          },
          "input_skill": "React Native",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "React Native Developer",
              "id": 73,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "react-native-developer",
              "source": "db"
            }
          ]
        },
        {
          "dimension": {
            "difficulty_hint": "well_known",
            "display_name": "UI Frameworks and Rendering",
            "id": 115,
            "rationale": "Component frameworks and rendering models used to build browser screens, reusable UI, and interactive client flows. This is a core cluster because frontend engineers spend much of their time composing and updating view hierarchies.",
            "slug": "ui-frameworks-and-rendering",
            "source": "db"
          },
          "input_skill": "React Native",
          "llm_role": null,
          "roles_from_db": [
            {
              "display_name": "Frontend Developer",
              "id": 7,
              "rationale": null,
              "role_archetype": null,
              "slug": "frontend-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 15,
              "rationale": null,
              "role_archetype": null,
              "slug": "full-stack-engineer",
              "source": "db"
            },
            {
              "display_name": "Fullstack Developer",
              "id": 435,
              "rationale": null,
              "role_archetype": "Engineering",
              "slug": "fullstack-developer",
              "source": "db"
            },
            {
              "display_name": "Hybrid Mobile Developer",
              "id": 11,
              "rationale": null,
              "role_archetype": null,
              "slug": "hybrid-mobile-developer",
              "source": "db"
            },
            {
              "display_name": "Ionic Developer",
              "id": 434,
              "rationale": null,
              "role_archetype": null,
              "slug": "ionic-developer",
              "source": "db"
            },
            {
              "display_name": "Web Developer",
              "id": 25,
              "rationale": null,
              "role_archetype": null,
              "slug": "web-developer",
              "source": "db"
            }
          ]
        }
      ],
      "input_skill": "React Native",
      "matched_via": "alias",
      "new_alias_persisted": false,
      "new_alias_text": null,
      "new_skill_meta": null,
      "source_tag": "db",
      "was_in_llm_skills": true
    }
  ],
  "unmatched_skills": []
}
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 explicitly references a React Native developer role, which best matches a Hybrid Mobile Developer.",
    "role_archetype": null,
    "slug": "hybrid-mobile-developer",
    "source": "db"
  },
  "chosen_role_resolution": "in_db",
  "final_input_skills": [
    {
      "skill": "React Native",
      "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": "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
      }
    ],
    "new_skills_created": 0,
    "role_dimension_saved": 0,
    "skill_dimension_saved": 0,
    "skipped": 0
  },
  "planner_output": null,
  "run_id": "4617dd5a-4fa0-4e97-8e0e-67c516173d67"
}