Pipeline run
fe452d0b-0ea7-4330-9af6-d9505113f5dc
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
iOS Developer
in_db embedding · 0.65 family · native-mobile-developerslug: 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
Library artifacts (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.