Services
Four ways I work with iOS teams. Each has fixed scope, fixed deliverables, and a known timeline. Pricing is discussed on a scoping call once fit is confirmed.
External
App Review
Black-box evaluation of the live iOS app. No source code access, no NDA friction. Used when you need an outside-perspective read on an app's quality before committing to a refactor or an acquisition.
Scope
- Public app analysis: launch behaviour, navigation structure, state handling as observable from the outside.
- Store listing and metadata review: positioning, ASO signals, screenshot consistency.
- Performance probes: cold-start, memory use, battery posture, network patterns.
- UX and accessibility pass: Dynamic Type, VoiceOver, critical flows.
- Competitive benchmarking against 2 or 3 peer apps on the same dimensions.
Deliverables
- Written report (TR or EN) with 15 to 20 prioritised findings.
- Each finding scored on impact and effort, with a concrete recommendation.
- 90-minute review call to walk through the report together.
Timeline
Roughly 2 weeks from kickoff to final report.
Ideal fit
- CTO validating whether a refactor proposal is directionally right.
- Investor or acquirer doing early technical due diligence on an iOS app.
- Product lead benchmarking against a specific competitor before a roadmap bet.
Source-level
Codebase Audit
Source-level audit with repository access under NDA. The goal: a scored, prioritised, CTO-readable picture of the codebase's current state and the specific work required to get it where you need it.
Scope
- Architecture: module boundaries, layering, dependency direction, MVVM / VIPER / TCA fidelity.
- State and concurrency: Swift concurrency, actor usage, race conditions, main-thread hazards.
- Security: keychain use, secrets handling, certificate pinning, auth token storage.
- Privacy and compliance: KVKK and GDPR posture, data flows, third-party SDK audit, App Store privacy manifest.
- Accessibility: VoiceOver coverage, Dynamic Type, reduce-motion, semantic correctness.
- Code quality and tooling: SOLID adherence, test coverage, linting, CI posture, release pipeline risk.
Deliverables
- Written report (EN) with scored findings per dimension above.
- Prioritised remediation roadmap: what to do now, next, later, and why.
- CTO-ready executive summary (1 to 2 pages) for board or investor reporting.
- Two-hour walkthrough with the engineering lead.
Timeline
4 to 6 weeks depending on codebase size and scope negotiated.
Ideal fit
- CTO validating a refactor-in-progress before committing further engineering quarters.
- Engineering lead inheriting a codebase and needing a defensible map of the risks.
- Acquisition target or acquirer doing deep technical due diligence.
Hands-on
iOS Development
Senior iOS capacity on tap. Ship features, lead migrations, or embed as a senior or staff engineer on an existing team. Most often engaged as follow-through after a Codebase Audit, or as a focused refactor project with a defined outcome.
Scope
- Feature development: new screens, flows, APIs, SDK integration. Shipped on your release train.
- Migrations: Swift 5 to 6 concurrency, UIKit to SwiftUI, Combine to structured concurrency, legacy dependency injection patterns to modern ones.
- Architecture work: introducing TCA or MVVM fidelity, re-drawing module boundaries, reining in cross-layer coupling.
- Senior or staff augmentation: drop in as the highest-seniority iOS engineer on your team for a defined window. Pair with juniors, unblock seniors, own the hard code review.
Deliverables
- Shipped PRs, modules, or features against agreed milestones.
- Weekly progress note: what shipped, what's in flight, what's blocked.
- Optional: pair or mentor sessions with your existing iOS engineers.
Timeline
2-week minimum. Typical engagements run 4 to 12 weeks. Longer retainers available when the work is ongoing.
Ideal fit
- Team that just received a Codebase Audit and wants the roadmap actually executed.
- Startup needing senior iOS capacity for 1 to 3 months without committing to a full-time hire.
- Specific refactor project with a clear outcome, for example "migrate this onboarding flow to SwiftUI with test coverage" or "move our networking layer off a deprecated SDK".
Hiring
Interview Partner
Run or join your iOS technical interview loop. Useful when the team hiring doesn't have enough in-house iOS depth to judge senior candidates confidently, or when you're not sure what level of seniority the role actually needs.
Scope
- JD and seniority calibration: review the role description against the actual tasks. Is this really staff work, or is senior (or even mid) the right level? Most teams over-call.
- Technical interview: 60 to 90 minutes. Mix of coding, architecture deep-dive, and iOS-specific probes (memory model, concurrency, UIKit and SwiftUI trade-offs, testing strategy).
- Interview design: design or sharpen coding and system-design questions specific to iOS, calibrated to your target level.
- Panel seat: sit on your panel on retainer for ongoing hires.
Deliverables
- Written assessment per candidate: strengths, gaps, hire or no-hire recommendation with reasoning.
- Seniority calibration note: what level the role actually is, what to adjust in the JD.
- Optional: debrief call with the hiring manager to discuss close-call candidates.
Timeline
Per-candidate. Written assessment within 48 to 72 hours of the interview. Retainer seats available by the month.
Ideal fit
- Non-iOS CTO hiring their first iOS lead and can't calibrate the loop internally.
- Startup with junior iOS staff trying to hire a senior or staff engineer.
- Team that has mishired before and suspects the level calibration is off.
- Post-round check when your panel is split and you want a defensible outside read.
Start with a scoping call
30 minutes, free. We confirm which format fits, what's in scope, and whether it makes sense to work together.
Get in touch