{"$schema":"https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json","basics":{"name":"Muhittin Camdali","label":"Senior Mobile Engineer | iOS · Flutter · React Native | Full-Stack & AI-Native","email":"muhittincamdali@gmail.com","url":"https://muhittincamdali.com","summary":"Senior mobile engineer with 12+ years of experience and 60+ production apps shipped to the App Store, Google Play and enterprise distribution, with 1M+ downloads and 99%+ crash-free rates. Specializes in native iOS (Swift, Objective-C) and cross-platform delivery (Flutter, React Native), including enterprise apps for global technology brands. Owns products end to end, from architecture and UI/UX to backend, payments, CI/CD and store compliance, and has led teams of up to 6. Builds real-time, subscription-based and AI/ML-powered apps with an AI-native workflow (Claude Code, multi-agent) backed by automated tests and CI quality gates.","location":{"city":"Istanbul","countryCode":"TR","region":"Türkiye"},"profiles":[{"network":"GitHub","username":"muhittincamdali","url":"https://github.com/muhittincamdali"},{"network":"LinkedIn","username":"muhittincamdali","url":"https://www.linkedin.com/in/muhittincamdali"}]},"work":[{"name":"ADORB Bilişim","position":"Lead Mobile Engineer (Full-Stack)","summary":"Owned the mobile product line end to end, from architecture and Flutter apps to native extensions, Node.js/NestJS backends, Dockerized deployments, CI quality gates and releases. Led and mentored 2 engineers. Remote.","startDate":"2025-09","endDate":"2026-09","highlights":["Shutli: 30K+ registered users, 3K+ paying subscribers","Leakage-free walk-forward backtest over 7,243 matches","Subscription billing on StoreKit 2 + Google Play Billing","FX Trend Signals: ground-up rebuild in Flutter + NestJS (launch pending)"]},{"name":"Freelance","position":"Mobile & AI Engineer","summary":"Rebuilt Alfy (Alfred Concierge) in Flutter as 4 apps for riders and drivers on iOS and Android, with a React admin panel and a real-time Node.js backend. Remote.","startDate":"2025-03","endDate":"2025-08","highlights":["4 apps in 9 languages (rider + driver, iOS + Android)","Custom MCP servers and multi-agent Claude Code workflows","Started the open-source Swift package portfolio"]},{"name":"VOIPZeker B.V.","position":"Mobile Engineer (React Native)","summary":"Unite Phone, a business VoIP softphone: resolved 100+ bugs including device- and hardware-specific audio issues, integrated CallKit and PushKit (VoIP push) and led a full UI/UX redesign. Remote, Netherlands-based.","startDate":"2023-10","endDate":"2025-02","highlights":["100+ bugs resolved across iOS and Android","CallKit + PushKit (VoIP push) integration","99%+ crash-free on every release"]},{"name":"Chat My Coach","position":"Lead iOS Engineer (Contract)","summary":"Built the native iOS app from scratch in Swift, end to end, leading the 2-person iOS team within a 6-person product team. Real-time video and voice calling (Twilio), in-app messaging and Stripe payments for paid sessions. Remote, US-based.","startDate":"2023-02","endDate":"2023-09","highlights":["Shipped to the US App Store","Twilio video and voice calling","Led a 2-person iOS team"]},{"name":"Teknoloji Merkezi","position":"iOS Developer → Head of Mobile","summary":"Grew the mobile practice from a single developer into a 6-person team and led client projects from discovery to App Store release. Built client apps in native iOS, native Android, Flutter and React Native, choosing the stack per project. Istanbul.","startDate":"2014-01","endDate":"2023-01","highlights":["50+ iOS apps across 10+ industries","Enterprise apps for Apple, Sony, ASUS, HTC and Canon","Led a 6-person mobile team","Dodo Transfer: Lead iOS (Swift, UIKit, MapKit)"]}],"education":[{"institution":"Haydarpaşa Anatolian Technical High School","area":"Mechatronics","studyType":"High School","endDate":"2012"}],"skills":[{"name":"iOS Development","keywords":["Swift","Objective-C","SwiftUI","UIKit","Swift concurrency (async/await, Swift 6 strict mode)","Combine","GCD","Core Data","SwiftData","Core Location","HealthKit","MapKit","AVFoundation","CallKit","PushKit","Keychain","WidgetKit","ActivityKit (Live Activities)","App Intents","Sign in with Apple","App Groups","Universal Links","Notification Service Extensions","Xcode","CocoaPods","Swift Package Manager","visionOS","ARKit"]},{"name":"Cross-Platform & Android","keywords":["Flutter/Dart (BLoC, Riverpod)","React Native (TypeScript/JavaScript)","Kotlin (native modules)","Android SDK","Jetpack Compose","platform channels","Android-to-iOS app porting"]},{"name":"Architecture & Principles","keywords":["Clean Architecture","MVVM","MVC","BLoC","SOLID","modular architecture","monorepos"]},{"name":"API & Backend","keywords":["RESTful APIs","GraphQL","WebSocket","Socket.IO","Node.js (TypeScript)","NestJS","Python (FastAPI)","SQL (PostgreSQL)","Redis","BullMQ","Firebase","Docker","OpenTelemetry"]},{"name":"Real-Time & Communication","keywords":["VoIP","Twilio","real-time messaging and chat","video and voice calling","push notifications (APNs, FCM)","deep linking"]},{"name":"Payments & Monetization","keywords":["in-app purchases and subscriptions (StoreKit 2, Google Play Billing Library)","server-side purchase verification","RevenueCat","Stripe","Google Pay","iyzico","bank payment gateways (virtual POS)"]},{"name":"AI & Machine Learning","keywords":["LLM integration (OpenAI, Anthropic and Gemini APIs)","generative AI","RAG (retrieval-augmented generation)","AI agents and tool calling","Claude Code","MCP (Model Context Protocol) servers","multi-agent workflows","LightGBM","Core ML","Foundation Models framework (Apple)"]},{"name":"Testing, Quality & Security","keywords":["XCTest","Swift Testing","Flutter unit, widget, golden and integration tests","Playwright","Firebase Crashlytics","Instruments","CodeQL","App Attest","Firebase App Check","secure storage"]},{"name":"CI/CD & Release","keywords":["GitHub Actions","Bitrise","fastlane","TestFlight","App Store Connect","Google Play Console","App Store Review Guidelines","code signing and provisioning","privacy manifests"]},{"name":"Product & UX","keywords":["UI/UX design (Figma, Sketch)","Auto Layout","Human Interface Guidelines","iPhone/iPad adaptation","accessibility","localization (20+ languages)","app performance","Firebase Analytics","Remote Config (A/B testing)"]},{"name":"Methodologies & Leadership","keywords":["Agile/Scrum","Jira","Confluence","Git","GitHub","Bitbucket","code review","team leadership","mentoring","client management"]},{"name":"Industries","keywords":["e-commerce","VoIP & telecom","fintech & trading","sports analytics","health & coaching","on-demand mobility","logistics & fleet","enterprise"]}],"projects":[{"name":"Shutli — Live Match Analysis","roles":["Lead, end to end"],"keywords":["Flutter","NestJS","Python ML"],"type":"application","url":"https://apps.apple.com/us/app/id6756576949","highlights":["Google Play: https://play.google.com/store/apps/details?id=com.adworld.shutliai"]},{"name":"FX Trend Signals","roles":["Lead, full rebuild (launch pending)"],"keywords":["Flutter","NestJS","Gemini"],"type":"application"},{"name":"Unite Phone (VOIPZeker)","roles":["Mobile engineer"],"keywords":["React Native","CallKit","VoIP"],"type":"application","url":"https://apps.apple.com/app/id1550933315","highlights":["Google Play: https://play.google.com/store/apps/details?id=nl.voipzeker.unitephone"]},{"name":"Alfy (Alfred Concierge)","roles":["Client project, 4-app rewrite"],"keywords":["Flutter","Node.js"],"type":"application","url":"https://apps.apple.com/app/id1456398381","highlights":["Google Play: https://play.google.com/store/apps/details?id=com.alfredrider"]},{"name":"UFresh","roles":["Client project, end to end"],"keywords":["Flutter"],"type":"application","url":"https://apps.apple.com/app/id6763913317","highlights":["Google Play: https://play.google.com/store/apps/details?id=com.ufresh.app.android"]},{"name":"Dodo Transfer","roles":["Lead iOS (Teknoloji Merkezi)"],"keywords":["Swift","UIKit","MapKit"],"type":"application","url":"https://apps.apple.com/app/id6458838612"}],"languages":[{"language":"Turkish","fluency":"Native","code":"tr"},{"language":"English","fluency":"Professional working proficiency (CEFR B2)","code":"en"}],"meta":{"canonical":"https://muhittincamdali.com/resume.json?lang=en","lastModified":"2026-10-20","language":"en","note":"No end date is inferred for an ongoing role."}}