← Back to history

Pipeline run

fe452d0b-0ea7-4330-9af6-d9505113f5dc

Pipeline LLM cost (USD)
API 1: $0.0052 API 2: $0.0000 API 3: $0.0000 Total: $0.0052
Status: jd_deconstruction_v4_done Created: 2026-08-11T18:41:33.588585Z Updated: 2026-08-12T16:12:03.654803Z Run duration: 80921 ms
Flow v4 catalog deconstruction skill_library_v4

1 LLM mention extraction + deterministic catalog sweep

2 Six-layer resolution cascade (exact → alias → fuzzy → embedding → judge → AI-prediction lane)

3 Table-lookup layering: dim_members → role_dim_map tiers, served verbatim

Role Chosen role & resolution

iOS Developer

in_db embedding · 0.65 family · native-mobile-developer

slug: ios-developer · role_id: 8a83350f-9efa-56dc-9394-08b8c43badf3 · catalog: skill_library_v4 (tiers served verbatim from role_dim_map)

The company is seeking a mid-level App Developer with 3-4 years of experience to build mobile applications for both Android and iOS platforms, taking ownership of the entire app development lifecycle. The ideal candidate should have hands-on experience with either cross-platform technologies like Flutter or React Native, or native development using Kotlin for Android and Swift for iOS. Distinctive requirements include a proven track record of delivering at least 2-3 live apps and a strong problem-solving mindset. The role is based in Delhi and involves collaboration with product and design teams, offering opportunities for growth into more senior positions.

Job description

Job description
Experience: 3–4 Years

Location: Delhi

Work Mode: Full-time, Work from Office

About The Role

We are looking for a skilled App Developer who can take ownership of building mobile applications from concept to final product. The ideal candidate should be capable of developing, testing, deploying, and maintaining high-quality apps for both Android and iOS platforms.

This role requires someone who understands the complete app development lifecycle — not just coding, but also problem-solving, performance optimisation, and working closely with product and design teams.

Key ResponsibilitiesApp Development
• Design, develop, and deploy mobile applications for Android and iOS.
• Convert ideas, wireframes, and business requirements into fully functional apps.
• Ensure smooth performance, usability, and stability across devices.

End-to-End Ownership

Handle the complete app lifecycle-
• Requirement understanding
• Development
• Testing
• App Store / Play Store deployment
• Maintenance & updates

Code Quality & Performance
• Write clean, scalable, and maintainable code.
• Optimise apps for speed, performance, and security.
• Fix bugs, crashes, and performance issues proactively.

Collaboration
• Work closely with product managers, designers, and backend teams.
• Provide technical inputs during planning and feature discussions.
• Support QA and post-launch improvements.

Technical Requirements

Candidates must have hands-on experience with at least one of the following approaches:

Option 1: Cross-Platform (Preferred)
• Flutter or React Native
• Ability to build apps for both Android and iOS from a single codebase

Option 2: Native Development
• Android: Kotlin / Java
• iOS: Swift
• Responsive UI & adaptive layouts (different screen sizes)

Backend & APIs
• REST APIs & JSON integration
• Basic understanding of GraphQL (plus point)
• Authentication: JWT, OAuth, Firebase Auth
• Firebase (Firestore, Realtime DB)
• SQLite / Room / Hive
• Local & cloud data sync handling

App Features
• Push Notifications (Firebase Cloud Messaging / APNs)
• In-app messaging & deep linking
• Third-party SDK integration (Analytics, Ads, Payments).

DevOps & Tools
• Git (GitHub / GitLab / Bitbucket)
• CI/CD basics (Codemagic, GitHub Actions – plus)
• App Store & Play Store release management
• Versioning, build signing & rollout strategies.

Hosting & Cloud (Plus Points)
• Experience with cloud platforms like AWS / Google Cloud / Digital Ocean
• Basic understanding of server deployment & environment setup
• Managing staging & production environments

Additional Technical Skills
• Experience with REST APIs and backend integration
• Knowledge of databases (Firebase, SQLite, or similar)
• Experience with push notifications, in-app messaging, and third-party SDKs
• Familiarity with version control tools like Git
• Understanding of app store submission guidelines and release processes

Experience & Qualifications
• 3–4 years of experience in mobile app development
• Proven experience in delivering at least 2–3 live apps on the Play Store and/or App Store
• Experience working on apps from scratch to production
• Background in startups, agencies, or product companies preferred

Skills & Personal Attributes
• Strong problem-solving mindset
• Ability to work independently and take ownership
• Good communication and documentation skills
• Detail-oriented with a focus on user experience
• Self-motivated and eager to learn new technologies

What We Offer
• Opportunity to build real products from zero to scale
• Exposure to full product development lifecycle
• Competitive salary based on experience
• Growth opportunity into Senior App Developer / Tech Lead role
• Work in a fast-moving, execution-driven environment

Who This Role Is For
• Developers who want ownership, not just tasks
• Builders who enjoy turning ideas into real apps
• Professionals who can handle responsibility and deadlines

Skills from this JD

L0–L3 tiers come verbatim from the role's role_dim_map; violet AI GENERATED chips are AI-prediction-lane skills pending review in the queue.

L0 · Anchor 4 skill(s)
Kotlin Programming Languages Swift is the language of the platform and the strongest single screening signal in this role.
Java Programming Languages Swift is the language of the platform and the strongest single screening signal in this role.
Swift Programming Languages Swift is the language of the platform and the strongest single screening signal in this role.
View Controller Lifecycle iOS Platform & App Frameworks remove the Apple platform and there is no role left.
L1 · Primary 2 skill(s)
SQLite Mobile Data & Connectivity daily output is produced against it.
Room Mobile Data & Connectivity daily output is produced against it.
L2 · Environment 12 skill(s)
REST API Design & Protocols the role reads and depends on the contract but does not own it.
JSON API Design & Protocols the role reads and depends on the contract but does not own it.
GraphQL API Design & Protocols the role reads and depends on the contract but does not own it.
JWT Security & Access Standards the app is a hostile-environment client.
OAuth 2.0 Security & Access Standards the app is a hostile-environment client.
Firebase Authentication Cloud Platforms consumed as backend-as-a-service rather than as infrastructure.
Firebase Cloud Platforms consumed as backend-as-a-service rather than as infrastructure.
Cloud Firestore Cloud Platforms consumed as backend-as-a-service rather than as infrastructure.
Firebase Cloud Messaging Cloud Platforms consumed as backend-as-a-service rather than as infrastructure.
Apple Push Notification service Cloud Platforms consumed as backend-as-a-service rather than as infrastructure.
AWS Cloud Platforms consumed as backend-as-a-service rather than as infrastructure.
Google Cloud Platform Cloud Platforms consumed as backend-as-a-service rather than as infrastructure.
L3 · Hygiene 6 skill(s)
Git Version Control Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog.
GitHub Version Control Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog.
GitLab Version Control Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog.
Bitbucket Version Control Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog.
Codemagic CI/CD & Delivery Hygiene, and deliberately not raised despite iOS CI being awkward: the genuinely differentiating parts -- signing, archive production, TestF
GitHub Actions CI/CD & Delivery Hygiene, and deliberately not raised despite iOS CI being awkward: the genuinely differentiating parts -- signing, archive production, TestF
Secondary nice-to-have · not a drop-order layer
Android not_in_catalog

This skill is in Secondary as the JD says "developing, testing, deploying, and maintaining high-quality apps for both Android and iOS platforms" - it isn't in this role's skill catalog yet, so it's tracked for review.

Apache Hive out_of_role_scope

This skill is in Secondary as the JD says "SQLite / Room / Hive" - it's a recognized skill, but it sits outside the iOS Developer role's core dimensions.

Deep Links and App Links out_of_role_scope

This skill is in Secondary as the JD says "• In-app messaging & deep linking" - it's a recognized skill, but it sits outside the iOS Developer role's core dimensions.

Digital Ocean not_in_catalog

This skill is in Secondary as the JD says "cloud platforms like AWS / Google Cloud / Digital Ocean" - it isn't in this role's skill catalog yet, so it's tracked for review.

Flutter jd_preferred

This skill is in Secondary as the JD says "Option 1: Cross-Platform (Preferred) • Flutter or React Native" - the JD marks it as "preferred" rather than required.

iOS not_in_catalog

This skill is in Secondary as the JD says "developing, testing, deploying, and maintaining high-quality apps for both Android and iOS platforms" - it isn't in this role's skill catalog yet, so it's tracked for review.

Play Framework out_of_role_scope

This skill is in Secondary as the JD says "• App Store / Play Store deployment" - it's a recognized skill, but it sits outside the iOS Developer role's core dimensions.

React Native jd_preferred

This skill is in Secondary as the JD says "Option 1: Cross-Platform (Preferred) • Flutter or React Native" - the JD marks it as "preferred" rather than required.

Realtime DB not_in_catalog

This skill is in Secondary as the JD says "Firebase (Firestore, Realtime DB)" - it isn't in this role's skill catalog yet, so it's tracked for review.

Consider adding canon exemplars the JD missed

SwiftUI — Native Mobile UI Frameworks (L0)

Objective-C — Programming Languages (L0)

iOS SDK — iOS Platform & App Frameworks (L0)

xcodebuild — Build & Dependency Tools (L1)

App Store Connect — Mobile App Distribution & Release Engineering (L1)

URLSession — Mobile Data & Connectivity (L1)

Unmapped not resolved, not classified — quarantined for review
AndroidiOSRealtime DBDigital Ocean

Library artifacts (this run)

No artifact rows for this run.
API 1 — extract-from-jd click to toggle
{
  "catalog": "v4",
  "consider_adding": [
    {
      "dimension": "Native Mobile UI Frameworks",
      "reason": "In the role canon\u0027s Native Mobile UI Frameworks - adding it narrows the candidate pool.",
      "skill": "SwiftUI",
      "tier": "L0"
    },
    {
      "dimension": "Programming Languages",
      "reason": "In the role canon\u0027s Programming Languages - adding it narrows the candidate pool.",
      "skill": "Objective-C",
      "tier": "L0"
    },
    {
      "dimension": "iOS Platform \u0026 App Frameworks",
      "reason": "In the role canon\u0027s iOS Platform \u0026 App Frameworks - adding it narrows the candidate pool.",
      "skill": "iOS SDK",
      "tier": "L0"
    },
    {
      "dimension": "Build \u0026 Dependency Tools",
      "reason": "In the role canon\u0027s Build \u0026 Dependency Tools - adding it narrows the candidate pool.",
      "skill": "xcodebuild",
      "tier": "L1"
    },
    {
      "dimension": "Mobile App Distribution \u0026 Release Engineering",
      "reason": "In the role canon\u0027s Mobile App Distribution \u0026 Release Engineering - adding it narrows the candidate pool.",
      "skill": "App Store Connect",
      "tier": "L1"
    },
    {
      "dimension": "Mobile Data \u0026 Connectivity",
      "reason": "In the role canon\u0027s Mobile Data \u0026 Connectivity - adding it narrows the candidate pool.",
      "skill": "URLSession",
      "tier": "L1"
    }
  ],
  "final_skills": [
    {
      "dimension": {
        "display_name": "Programming Languages",
        "slug": "programming-languages"
      },
      "is_primary": true,
      "layer": "L0",
      "layer_source": "catalog_v4",
      "rationale": "Swift is the language of the platform and the strongest single screening signal in this role.",
      "skill_id": "ed960096-a55a-59dd-a2be-e5970f28dbc7",
      "skill_name": "Kotlin"
    },
    {
      "dimension": {
        "display_name": "Programming Languages",
        "slug": "programming-languages"
      },
      "is_primary": true,
      "layer": "L0",
      "layer_source": "catalog_v4",
      "rationale": "Swift is the language of the platform and the strongest single screening signal in this role.",
      "skill_id": "3f686ed1-fac0-5707-97b5-c06d4b5e8e4c",
      "skill_name": "Java"
    },
    {
      "dimension": {
        "display_name": "Programming Languages",
        "slug": "programming-languages"
      },
      "is_primary": true,
      "layer": "L0",
      "layer_source": "catalog_v4",
      "rationale": "Swift is the language of the platform and the strongest single screening signal in this role.",
      "skill_id": "28914789-e78f-54c1-b9ec-f118dd9d03e9",
      "skill_name": "Swift"
    },
    {
      "dimension": {
        "display_name": "API Design \u0026 Protocols",
        "slug": "api-design-protocols"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "the role reads and depends on the contract but does not own it.",
      "skill_id": "b22d242c-517d-5b7d-95b2-88716b17806d",
      "skill_name": "REST"
    },
    {
      "dimension": {
        "display_name": "API Design \u0026 Protocols",
        "slug": "api-design-protocols"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "the role reads and depends on the contract but does not own it.",
      "skill_id": "ee0ef6a9-c8f6-5638-af40-6779cb19babc",
      "skill_name": "JSON"
    },
    {
      "dimension": {
        "display_name": "API Design \u0026 Protocols",
        "slug": "api-design-protocols"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "the role reads and depends on the contract but does not own it.",
      "skill_id": "64231581-b451-5b0a-b5cd-ea261f3c7083",
      "skill_name": "GraphQL"
    },
    {
      "dimension": {
        "display_name": "Security \u0026 Access Standards",
        "slug": "security-access-standards"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "the app is a hostile-environment client.",
      "skill_id": "81e5ed0c-bd6e-5f14-9bb3-567b635de5ba",
      "skill_name": "JWT"
    },
    {
      "dimension": {
        "display_name": "Security \u0026 Access Standards",
        "slug": "security-access-standards"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "the app is a hostile-environment client.",
      "skill_id": "0757589b-fc67-52c0-944d-a83b9e43f77a",
      "skill_name": "OAuth 2.0"
    },
    {
      "dimension": {
        "display_name": "Cloud Platforms",
        "slug": "cloud-platforms"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "consumed as backend-as-a-service rather than as infrastructure.",
      "skill_id": "62b70c40-7806-5d3b-826c-1edd18e28751",
      "skill_name": "Firebase Authentication"
    },
    {
      "dimension": {
        "display_name": "Cloud Platforms",
        "slug": "cloud-platforms"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "consumed as backend-as-a-service rather than as infrastructure.",
      "skill_id": "a869f86f-600c-50cb-95a4-a4b9eb70b12c",
      "skill_name": "Firebase"
    },
    {
      "dimension": {
        "display_name": "Cloud Platforms",
        "slug": "cloud-platforms"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "consumed as backend-as-a-service rather than as infrastructure.",
      "skill_id": "25e0f9e9-dfcc-5ff0-9413-a2c3869ac178",
      "skill_name": "Cloud Firestore"
    },
    {
      "dimension": {
        "display_name": "Mobile Data \u0026 Connectivity",
        "slug": "mobile-data-connectivity"
      },
      "is_primary": true,
      "layer": "L1",
      "layer_source": "catalog_v4",
      "rationale": "daily output is produced against it.",
      "skill_id": "3894890e-94b2-552a-9378-efc0eabe07be",
      "skill_name": "SQLite"
    },
    {
      "dimension": {
        "display_name": "Mobile Data \u0026 Connectivity",
        "slug": "mobile-data-connectivity"
      },
      "is_primary": true,
      "layer": "L1",
      "layer_source": "catalog_v4",
      "rationale": "daily output is produced against it.",
      "skill_id": "bdeb72d4-bae8-5fd1-bb2c-7f9b69143ea0",
      "skill_name": "Room"
    },
    {
      "dimension": {
        "display_name": "Cloud Platforms",
        "slug": "cloud-platforms"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "consumed as backend-as-a-service rather than as infrastructure.",
      "skill_id": "28589119-4d55-5607-9a29-b1a9578a71c3",
      "skill_name": "Firebase Cloud Messaging"
    },
    {
      "dimension": {
        "display_name": "Cloud Platforms",
        "slug": "cloud-platforms"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "consumed as backend-as-a-service rather than as infrastructure.",
      "skill_id": "fc078023-5192-55a0-9350-291c1fab4f06",
      "skill_name": "Apple Push Notification service"
    },
    {
      "dimension": {
        "display_name": "Version Control",
        "slug": "version-control"
      },
      "is_primary": false,
      "layer": "L3",
      "layer_source": "catalog_v4",
      "rationale": "Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog.",
      "skill_id": "69a9e960-a4b1-5e7e-b55c-04980465e177",
      "skill_name": "Git"
    },
    {
      "dimension": {
        "display_name": "Version Control",
        "slug": "version-control"
      },
      "is_primary": false,
      "layer": "L3",
      "layer_source": "catalog_v4",
      "rationale": "Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog.",
      "skill_id": "aca31585-314b-5cbc-8b55-e3cb3127ecac",
      "skill_name": "GitHub"
    },
    {
      "dimension": {
        "display_name": "Version Control",
        "slug": "version-control"
      },
      "is_primary": false,
      "layer": "L3",
      "layer_source": "catalog_v4",
      "rationale": "Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog.",
      "skill_id": "4f6d6a6e-937e-5786-95fb-ceba00093733",
      "skill_name": "GitLab"
    },
    {
      "dimension": {
        "display_name": "Version Control",
        "slug": "version-control"
      },
      "is_primary": false,
      "layer": "L3",
      "layer_source": "catalog_v4",
      "rationale": "Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog.",
      "skill_id": "a75394f6-42ce-549f-abf0-a9f90faeb60b",
      "skill_name": "Bitbucket"
    },
    {
      "dimension": {
        "display_name": "CI/CD \u0026 Delivery",
        "slug": "ci-cd-delivery"
      },
      "is_primary": false,
      "layer": "L3",
      "layer_source": "catalog_v4",
      "rationale": "Hygiene, and deliberately not raised despite iOS CI being awkward: the genuinely differentiating parts -- signing, archive production, TestF",
      "skill_id": "37183ba8-176a-5d9d-b2a7-d41a2f8c6580",
      "skill_name": "Codemagic"
    },
    {
      "dimension": {
        "display_name": "CI/CD \u0026 Delivery",
        "slug": "ci-cd-delivery"
      },
      "is_primary": false,
      "layer": "L3",
      "layer_source": "catalog_v4",
      "rationale": "Hygiene, and deliberately not raised despite iOS CI being awkward: the genuinely differentiating parts -- signing, archive production, TestF",
      "skill_id": "a0542588-a88f-577b-8e0c-4e41c040cebc",
      "skill_name": "GitHub Actions"
    },
    {
      "dimension": {
        "display_name": "Cloud Platforms",
        "slug": "cloud-platforms"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "consumed as backend-as-a-service rather than as infrastructure.",
      "skill_id": "78c5a4b9-2ab5-5279-a688-46f4c3767c3f",
      "skill_name": "AWS"
    },
    {
      "dimension": {
        "display_name": "Cloud Platforms",
        "slug": "cloud-platforms"
      },
      "is_primary": false,
      "layer": "L2",
      "layer_source": "catalog_v4",
      "rationale": "consumed as backend-as-a-service rather than as infrastructure.",
      "skill_id": "de9d33d1-f608-5b2a-97b7-7398054f33cc",
      "skill_name": "Google Cloud Platform"
    },
    {
      "dimension": {
        "display_name": "iOS Platform \u0026 App Frameworks",
        "slug": "ios-platform-app-frameworks"
      },
      "is_primary": true,
      "layer": "L0",
      "layer_source": "catalog_v4",
      "rationale": "remove the Apple platform and there is no role left.",
      "skill_id": "c61ca90b-4ba7-57ba-a165-296ac745ced5",
      "skill_name": "View Controller Lifecycle"
    }
  ],
  "history_run_id": null,
  "jd_parameters": {
    "certifications": [],
    "clientDetails": null,
    "company": null,
    "companySize": null,
    "ctc": {
      "currency": null,
      "max": null,
      "min": null,
      "period": null,
      "raw": null
    },
    "educationRequirements": [],
    "experience": {
      "max": 4,
      "min": 3,
      "raw": "3\u20134 Years"
    },
    "industryDomain": "Software \u0026 SaaS Products",
    "knockouts": {
      "certifications": [],
      "ctc": {
        "currency": null,
        "max": null,
        "min": null
      },
      "educationRequirements": [],
      "experience": {
        "max": 4,
        "min": 3
      },
      "location": [
        "Delhi, India"
      ],
      "noticePeriod": null
    },
    "locations": [
      "Delhi, India"
    ],
    "noticePeriod": null,
    "openToRelocate": false,
    "role": "App Developer",
    "roleSynonyms": [
      "Mobile App Developer",
      "Software Developer",
      "Android/iOS Developer"
    ]
  },
  "jd_summary": "The company is seeking a mid-level App Developer with 3-4 years of experience to build mobile applications for both Android and iOS platforms, taking ownership of the entire app development lifecycle. The ideal candidate should have hands-on experience with either cross-platform technologies like Flutter or React Native, or native development using Kotlin for Android and Swift for iOS. Distinctive requirements include a proven track record of delivering at least 2-3 live apps and a strong problem-solving mindset. The role is based in Delhi and involves collaboration with product and design teams, offering opportunities for growth into more senior positions.",
  "layer_conflicts": [],
  "pipeline": "v4",
  "rejected": false,
  "rejection_code": null,
  "rejection_reason": null,
  "role": {
    "canonical_name": "iOS Developer",
    "family": "native-mobile-developer",
    "match_method": "embedding",
    "resolution": "in_db",
    "role_id": "8a83350f-9efa-56dc-9394-08b8c43badf3",
    "similarity": 0.654,
    "slug": "ios-developer"
  },
  "run_id": "jdv4-a825b679919b",
  "secondary_meta": [
    {
      "audit_reasoning": "This skill is in Secondary as the JD says \"developing, testing, deploying, and maintaining high-quality apps for both Android and iOS platforms\" - it isn\u0027t in this role\u0027s skill catalog yet, so it\u0027s tracked for review.",
      "jd_quote": "developing, testing, deploying, and maintaining high-quality apps for both Android and iOS platforms",
      "provenance": "verb-backed",
      "reason_code": "not_in_catalog",
      "skill": "Android"
    },
    {
      "audit_reasoning": "This skill is in Secondary as the JD says \"SQLite / Room / Hive\" - it\u0027s a recognized skill, but it sits outside the iOS Developer role\u0027s core dimensions.",
      "jd_quote": "SQLite / Room / Hive",
      "provenance": "listed",
      "reason_code": "out_of_role_scope",
      "skill": "Apache Hive"
    },
    {
      "audit_reasoning": "This skill is in Secondary as the JD says \"\u2022 In-app messaging \u0026 deep linking\" - it\u0027s a recognized skill, but it sits outside the iOS Developer role\u0027s core dimensions.",
      "jd_quote": "\u2022 In-app messaging \u0026 deep linking",
      "provenance": "listed",
      "reason_code": "out_of_role_scope",
      "skill": "Deep Links and App Links"
    },
    {
      "audit_reasoning": "This skill is in Secondary as the JD says \"cloud platforms like AWS / Google Cloud / Digital Ocean\" - it isn\u0027t in this role\u0027s skill catalog yet, so it\u0027s tracked for review.",
      "jd_quote": "cloud platforms like AWS / Google Cloud / Digital Ocean",
      "provenance": "listed",
      "reason_code": "not_in_catalog",
      "skill": "Digital Ocean"
    },
    {
      "audit_reasoning": "This skill is in Secondary as the JD says \"Option 1: Cross-Platform (Preferred) \u2022 Flutter or React Native\" - the JD marks it as \"preferred\" rather than required.",
      "jd_quote": "Option 1: Cross-Platform (Preferred) \u2022 Flutter or React Native",
      "provenance": "listed",
      "reason_code": "jd_preferred",
      "skill": "Flutter"
    },
    {
      "audit_reasoning": "This skill is in Secondary as the JD says \"developing, testing, deploying, and maintaining high-quality apps for both Android and iOS platforms\" - it isn\u0027t in this role\u0027s skill catalog yet, so it\u0027s tracked for review.",
      "jd_quote": "developing, testing, deploying, and maintaining high-quality apps for both Android and iOS platforms",
      "provenance": "verb-backed",
      "reason_code": "not_in_catalog",
      "skill": "iOS"
    },
    {
      "audit_reasoning": "This skill is in Secondary as the JD says \"\u2022 App Store / Play Store deployment\" - it\u0027s a recognized skill, but it sits outside the iOS Developer role\u0027s core dimensions.",
      "jd_quote": "\u2022 App Store / Play Store deployment",
      "provenance": "listed",
      "reason_code": "out_of_role_scope",
      "skill": "Play Framework"
    },
    {
      "audit_reasoning": "This skill is in Secondary as the JD says \"Option 1: Cross-Platform (Preferred) \u2022 Flutter or React Native\" - the JD marks it as \"preferred\" rather than required.",
      "jd_quote": "Option 1: Cross-Platform (Preferred) \u2022 Flutter or React Native",
      "provenance": "listed",
      "reason_code": "jd_preferred",
      "skill": "React Native"
    },
    {
      "audit_reasoning": "This skill is in Secondary as the JD says \"Firebase (Firestore, Realtime DB)\" - it isn\u0027t in this role\u0027s skill catalog yet, so it\u0027s tracked for review.",
      "jd_quote": "Firebase (Firestore, Realtime DB)",
      "provenance": "listed",
      "reason_code": "not_in_catalog",
      "skill": "Realtime DB"
    }
  ],
  "secondary_skills": [
    "Android",
    "Apache Hive",
    "Deep Links and App Links",
    "Digital Ocean",
    "Flutter",
    "Play Framework",
    "React Native",
    "Realtime DB",
    "iOS"
  ],
  "skill_layers": [
    {
      "label": "Anchor",
      "layer": "L0",
      "skills": [
        {
          "dimension": {
            "display_name": "Programming Languages",
            "slug": "programming-languages"
          },
          "name": "Kotlin",
          "rationale": "Swift is the language of the platform and the strongest single screening signal in this role."
        },
        {
          "dimension": {
            "display_name": "Programming Languages",
            "slug": "programming-languages"
          },
          "name": "Java",
          "rationale": "Swift is the language of the platform and the strongest single screening signal in this role."
        },
        {
          "dimension": {
            "display_name": "Programming Languages",
            "slug": "programming-languages"
          },
          "name": "Swift",
          "rationale": "Swift is the language of the platform and the strongest single screening signal in this role."
        },
        {
          "dimension": {
            "display_name": "iOS Platform \u0026 App Frameworks",
            "slug": "ios-platform-app-frameworks"
          },
          "name": "View Controller Lifecycle",
          "rationale": "remove the Apple platform and there is no role left."
        }
      ]
    },
    {
      "label": "Primary",
      "layer": "L1",
      "skills": [
        {
          "dimension": {
            "display_name": "Mobile Data \u0026 Connectivity",
            "slug": "mobile-data-connectivity"
          },
          "name": "SQLite",
          "rationale": "daily output is produced against it."
        },
        {
          "dimension": {
            "display_name": "Mobile Data \u0026 Connectivity",
            "slug": "mobile-data-connectivity"
          },
          "name": "Room",
          "rationale": "daily output is produced against it."
        }
      ]
    },
    {
      "label": "Environment",
      "layer": "L2",
      "skills": [
        {
          "dimension": {
            "display_name": "API Design \u0026 Protocols",
            "slug": "api-design-protocols"
          },
          "name": "REST",
          "rationale": "the role reads and depends on the contract but does not own it."
        },
        {
          "dimension": {
            "display_name": "API Design \u0026 Protocols",
            "slug": "api-design-protocols"
          },
          "name": "JSON",
          "rationale": "the role reads and depends on the contract but does not own it."
        },
        {
          "dimension": {
            "display_name": "API Design \u0026 Protocols",
            "slug": "api-design-protocols"
          },
          "name": "GraphQL",
          "rationale": "the role reads and depends on the contract but does not own it."
        },
        {
          "dimension": {
            "display_name": "Security \u0026 Access Standards",
            "slug": "security-access-standards"
          },
          "name": "JWT",
          "rationale": "the app is a hostile-environment client."
        },
        {
          "dimension": {
            "display_name": "Security \u0026 Access Standards",
            "slug": "security-access-standards"
          },
          "name": "OAuth 2.0",
          "rationale": "the app is a hostile-environment client."
        },
        {
          "dimension": {
            "display_name": "Cloud Platforms",
            "slug": "cloud-platforms"
          },
          "name": "Firebase Authentication",
          "rationale": "consumed as backend-as-a-service rather than as infrastructure."
        },
        {
          "dimension": {
            "display_name": "Cloud Platforms",
            "slug": "cloud-platforms"
          },
          "name": "Firebase",
          "rationale": "consumed as backend-as-a-service rather than as infrastructure."
        },
        {
          "dimension": {
            "display_name": "Cloud Platforms",
            "slug": "cloud-platforms"
          },
          "name": "Cloud Firestore",
          "rationale": "consumed as backend-as-a-service rather than as infrastructure."
        },
        {
          "dimension": {
            "display_name": "Cloud Platforms",
            "slug": "cloud-platforms"
          },
          "name": "Firebase Cloud Messaging",
          "rationale": "consumed as backend-as-a-service rather than as infrastructure."
        },
        {
          "dimension": {
            "display_name": "Cloud Platforms",
            "slug": "cloud-platforms"
          },
          "name": "Apple Push Notification service",
          "rationale": "consumed as backend-as-a-service rather than as infrastructure."
        },
        {
          "dimension": {
            "display_name": "Cloud Platforms",
            "slug": "cloud-platforms"
          },
          "name": "AWS",
          "rationale": "consumed as backend-as-a-service rather than as infrastructure."
        },
        {
          "dimension": {
            "display_name": "Cloud Platforms",
            "slug": "cloud-platforms"
          },
          "name": "Google Cloud Platform",
          "rationale": "consumed as backend-as-a-service rather than as infrastructure."
        }
      ]
    },
    {
      "label": "Hygiene",
      "layer": "L3",
      "skills": [
        {
          "dimension": {
            "display_name": "Version Control",
            "slug": "version-control"
          },
          "name": "Git",
          "rationale": "Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog."
        },
        {
          "dimension": {
            "display_name": "Version Control",
            "slug": "version-control"
          },
          "name": "GitHub",
          "rationale": "Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog."
        },
        {
          "dimension": {
            "display_name": "Version Control",
            "slug": "version-control"
          },
          "name": "GitLab",
          "rationale": "Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog."
        },
        {
          "dimension": {
            "display_name": "Version Control",
            "slug": "version-control"
          },
          "name": "Bitbucket",
          "rationale": "Hygiene: universal expectation, weak differentiator -- identical tiering to every prior catalog."
        },
        {
          "dimension": {
            "display_name": "CI/CD \u0026 Delivery",
            "slug": "ci-cd-delivery"
          },
          "name": "Codemagic",
          "rationale": "Hygiene, and deliberately not raised despite iOS CI being awkward: the genuinely differentiating parts -- signing, archive production, TestF"
        },
        {
          "dimension": {
            "display_name": "CI/CD \u0026 Delivery",
            "slug": "ci-cd-delivery"
          },
          "name": "GitHub Actions",
          "rationale": "Hygiene, and deliberately not raised despite iOS CI being awkward: the genuinely differentiating parts -- signing, archive production, TestF"
        }
      ]
    }
  ],
  "unmapped_skills": [
    "Android",
    "iOS",
    "Realtime DB",
    "Digital Ocean"
  ]
}
API 2 — extract-details
{}
API 3 — final-role-output
{}

LLM Calls

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

Loading…