AbhishekContact
Available for senior iOS / RTC roles

Senior iOS Engineer.

Real-time Communication Systems.

WebRTC·CallKit·VoIP

I design and scale production-grade voice & video systems that work reliably across background, terminated, and unstable network conditions. Currently shipping voice & video at YEO Messaging (UK).

Specialized in solving edge cases most engineers avoid.

Abhishek Suryawanshi — Senior iOS Engineer
7+
Years shipping iOS in production
Live
WebRTC voice & video — YEO Messaging
1000s
Of users across production releases
CallKit · PushKit (VoIP)
WebRTC · ICE · STUN/TURN
AI · Streaming · Cost-aware
Trusted in production at
YEO Messaging
UK · Production WebRTC
McDonald's Canada
High-traffic consumer iOS
Boxing Warrior
Production iOS
Capgemini
Enterprise consultant
What I specialize in

Hard problems, not surface UI.

Four areas where I've shipped production systems — the kind that decide whether a product actually works in the real world.

Real-time communication systems

WebRTC, VoIP, signaling, ICE/TURN — production-grade voice & video on iOS.

Complex iOS lifecycle handling

Background, terminated, locked-state, FaceID gates, and cold-start recovery.

Debugging production-level edge cases

The bugs that don't show up in tutorials — race conditions, audio drops, ghost calls.

Building scalable AI-powered applications

LLM integration, prompt caching, streaming UX, and cost-aware routing.

Featured work

Real systems, shipped to production.

Three case studies — a flagship real-time communication system and two AI products. Each one has a hard engineering core, not just a UI.

Flagship project
01Flagship · Production
Production · UK
Thousands of users · Live in App Store

WebRTC Voice & Video — YEO Messaging (UK)

End-to-end real-time calling for a secure messaging platform: CallKit, PushKit, signaling, and multi-device sync.

Owned and shipped a production-grade WebRTC calling system for YEO Messaging — a secure, identity-verified communications app used across UK enterprise. Calls had to survive cold starts, locked devices, FaceID prompts, Bluetooth handoff, and unstable mobile networks.

CallKit + PushKit (VoIP)

Wake-on-VoIP with PushKit, native incoming UI through CallKit, deterministic lifecycle across foreground / background / terminated states.

Signaling — GraphQL + WebSocket

Resilient signaling layer with reconnect, ICE restart, and message ordering guarantees on flaky networks.

Multi-device call sync

Coordinated ringing, pickup, and hang-up across a user's logged-in iOS / web devices without ghost calls.

Audio routing — AVAudioSession

Bluetooth (HFP/A2DP), speaker, and receiver prioritization with route-change recovery and category negotiation.

Challenges solved
  • Audio failure in terminated state
    Diagnosed and fixed silent-audio class of bugs caused by AVAudioSession activation racing PushKit wake-up; hardened the activation sequence.
  • SDP race condition
    Eliminated an offer/answer interleaving bug under reconnect by serializing peer-connection state transitions.
  • CallKit + FaceID blocking
    Solved the locked-device + FaceID gate that was deferring CallKit reporting and dropping early audio frames.
Impact
  • Improved call connect rate and reliability across unstable networks
  • Cut user-reported audio incidents during active production rollout
  • Owned multiple production releases end-to-end as the iOS calling lead
SwiftSwiftUIWebRTCCallKitPushKitAVFoundationGraphQLWebSockets
Open in App Storeapps.apple.com
02AI Product
Live
AI storytelling · Cost-optimized

Aurekai — Cinematic AI Storytelling

An AI-driven storytelling app that turns conversation into cinematic, multi-turn narratives with controlled cost.

Built end-to-end as a product: prompt orchestration, context compaction, streaming UX, and a careful eye on per-session economics. The challenge wasn't 'call an LLM' — it was making it feel cinematic, fast, and sustainably cheap.

Cinematic storytelling pipeline

Scene-aware prompting, character continuity, and pacing controls that produce structured narratives instead of generic chatter.

AI conversation system

Streaming responses, cancellable turns, and graceful degradation so the experience stays fluid on flaky connections.

Cost optimization

Prompt caching, context trimming, and tiered model routing — premium models where it matters, fast models everywhere else.

SwiftSwiftUILLM APIsPrompt cachingStreamingAsync/Await
03AI Product
Live
Real ephemeris · Multi-language

Zivyaa — AI-native Astrology Platform

Production-grade Vedic astrology engine on iOS — Panchang, Kundali, Numerology, and AI-powered guidance.

Built on the Swiss Ephemeris C library with a Swift 6 strict-concurrency wrapper. Real planetary computations (not mock data), AI insights layered on top, and a multi-language system designed for global rollout.

Real ephemeris computations

Swiss Ephemeris integrated via a thread-safe Swift wrapper — Lahiri ayanamsha, Whole Signs houses, Rahu/Ketu handling.

AI-powered insights

LLM-driven interpretations grounded in deterministic chart data — guidance, transits, and personalized remedies.

Multi-language, scalable architecture

Protocol-based engines, dependency-injected services, and a design system built for localization from day one.

Swift 6SwiftUI@ObservableSwiss EphemerisLLM APIs
Systems & architecture

I design systems, not just features.

The systems behind the products — broken into the parts that actually matter, not flow charts. This is what shipping real-time and AI on iOS looks like up close.

01 / 03

Real-time Communication

How a voice/video call survives cold start, FaceID, Bluetooth handoff, and a 3G dropout.

  • WebRTC signaling (GraphQL + WebSocket)
  • Call lifecycle handling (CallKit + PushKit)
  • Multi-device call synchronization
  • ICE restart and reconnect logic
  • Audio routing — AVAudioSession (BT / HFP / A2DP)
  • DTLS-SRTP media · STUN / TURN traversal
02 / 03

AI Systems

How a chat turn becomes a cinematic, low-latency, cost-controlled response.

  • LLM pipeline orchestration
  • Prompt caching for repeated prefixes
  • Streaming responses · cancellable turns
  • Context compaction · scene state
  • Cost optimization · tiered model routing
03 / 03

Networking Stack

GraphQL for queries, WebSockets for live signaling and presence — both with retry and backoff.

  • GraphQL — typed queries / mutations
  • WebSockets — signaling, presence, multi-device sync
  • Exponential backoff · idempotency keys
  • Race-free silent token refresh
  • Offline-tolerant queues & retry strategies
Problems I solve

The bugs that don't show up in tutorials.

A short, honest list of production issues I've shipped fixes for — the kind that decide whether a real-time system is reliable or not.

Quick scan
  • WebRTC audio failures in terminated iOS apps
  • CallKit + FaceID race conditions
  • Multi-device call synchronization
  • Real-time communication under unstable networks
  • SDP offer/answer race on reconnect
  • Database lock crash (0xdead10cc) at suspend time

WebRTC audio failure in terminated state

Pain

Calls connected but came up silent when the app was launched cold via PushKit.

Fix

Reordered AVAudioSession activation against PushKit's runloop, hardened category negotiation, and verified with terminated-state regression tests.

CallKit + FaceID lifecycle edge case

Pain

On locked devices, FaceID gating delayed CallKit reporting and the first 1–2 seconds of audio were lost.

Fix

Decoupled CallKit reporting from UI presentation and pre-warmed the peer connection so media flowed the moment the device unlocked.

0xdead10cc — database lock crash

Pain

iOS killed the app at suspend time because a SQLite transaction was still holding a file lock.

Fix

Audited every background-suspended write path, scoped transactions to background tasks, and added a watchdog assertion in debug.

Multi-device sync — ghost calls

Pain

Ringing on Device A while Device B had already picked up — a classic distributed-state bug.

Fix

Introduced an authoritative call-state event on the WebSocket channel and made every device a subscriber, not an owner.

SDP offer/answer race

Pain

Under reconnect, offer and answer could interleave and the peer connection landed in a stalled state.

Fix

Serialized peer-connection state transitions through a single actor and made ICE restart explicit, not implicit.

Bluetooth route flip mid-call

Pain

Headset disconnect mid-call would route audio to the receiver silently — users thought the call dropped.

Fix

Subscribed to AVAudioSession.routeChangeNotification, surfaced UI feedback, and re-prioritized the next-best route.

Recommendations

What people I've shipped with say.

Drawn from a written reference letter — names, roles, and companies are real and verifiable.

I would highly recommend him on the design and implementation of voice and video calling functionality on iOS — strong hands-on work with WebRTC integration, CallKit / PushKit, signalling flow handling, and debugging complex audio/video calling issues and production edge cases. He worked very positively with the wider team, always contributing with great ideas. Very hardworking. I have no hesitation in recommending Abhishek for any future opportunities in mobile development.
VE
Valentinos Eleftheriades
Director of Technical Operations · YEO Messaging
Reference letter, April 2026
Tech stack

What I reach for, and why.

A working toolkit shaped by years of production iOS — leaning hard into real-time communication, AI, and the boring parts that make systems reliable.

iOS

08
SwiftSwift 6 strict concurrencySwiftUIUIKitAsync/AwaitCombineGCDMVVM · VIPER · Clean Architecture

Real-time Communication

06
WebRTCCallKitPushKit (VoIP)AVFoundation · AVAudioSessionICE · STUN · TURNSDP / DTLS-SRTP

Backend & Networking

05
GraphQLWebSocketsRESTRetry · Backoff · IdempotencyReal-time signaling

AI

05
LLM integrationPrompt cachingStreaming responsesContext compactionCost optimization

Tooling & Delivery

06
Git · BitbucketCI/CD · JenkinsTestFlight · App StoreCrashlyticsJira · ConfluenceAgile / Scrum
Experience

Seven years of shipping iOS in production.

Consumer apps, B2B platforms, and a flagship real-time communication system — across India, the UAE, and the UK.

  1. Senior iOS Engineer — WebRTC / CallKit

    Smart Working · client YEO Messaging (UK)
    Jan 2025 — Present

    Owned the production WebRTC voice & video system for YEO Messaging / YEO Business. CallKit, PushKit, signaling, multi-device sync, audio routing, and locked-state lifecycle.

  2. Software Developer — iOS

    Qasr Almas Information Technology Co. · Dubai, UAE
    May 2023 — Aug 2024

    Delivered consumer iOS applications across utilities, travel, and marketplace domains. Built workforce-management features (location, QR check-ins, role-based access) and shipped multiple App Store releases with Arabic/English localization.

  3. iOS Developer Consultant — McDonald's

    Capgemini India · Pune
    Oct 2021 — Dec 2022

    Feature work and production-issue resolution on the McDonald's consumer iOS app. MVVM / VIPER, CI/CD, cross-platform collaboration on a high-traffic codebase.

  4. iOS Developer

    Plexasys Solutions · Nagpur
    Oct 2019 — Sep 2021

    Shipped multiple production iOS apps end-to-end across consumer and B2B domains.

  5. iOS Developer

    Netnaca Pvt. Ltd. · Nagpur
    Oct 2018 — Jun 2019

    Feature development, API integration, and App Store releases for client iOS products.

  6. iOS Developer

    Phian Infotech Pvt. Ltd. · Nagpur
    Jan 2017 — Aug 2018

    Started iOS career — fundamentals, production discipline, and the first App Store releases.

Writing

Notes from production iOS.

Long-form posts on real-time communication, iOS lifecycle, and shipping AI products — published on Medium.

Open to senior iOS / RTC roles

Let's build scalable real-time systems together.

Shipping voice/video on iOS, building an AI-native product, or fighting a hard production bug? I'd love to talk.