AbhishekContact
Available for senior iOS / RTC roles

Senior iOS Engineer.

Real-time Communication Systems.

WebRTC·CallKit·VoIP

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

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
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
02AI Product
Live
AI storytelling · Cost-optimized
aurekai.app

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.app/kundali

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

Diagrams of the systems I actually build.

Stripped-down, honest views of how a call survives the real world and how an AI turn stays cheap and fast.

01

Real-time Communication System

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

  • 01
    APNs / VoIP push
    Wakes the app even when terminated
  • 02
    PushKit
    Deterministic VoIP wake-up handoff
  • 03
    CallKit
    System-level incoming UI, audio session priority
  • 04
    Signaling — GraphQL + WS
    Offer / answer / candidates · reconnect · ICE restart
  • 05
    WebRTC peer connection
    DTLS-SRTP media, STUN/TURN traversal
  • 06
    AVAudioSession
    Route negotiation: BT / speaker / receiver
02

AI Application Pipeline

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

  • 01
    Client (SwiftUI)
    Streaming UI, cancellable turns
  • 02
    Prompt orchestrator
    Context compaction, scene state
  • 03
    Cache layer
    Prompt caching for repeated prefixes
  • 04
    Model router
    Premium vs. fast model routing
  • 05
    Streaming response
    Token-level UI updates
03

Networking Stack

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

  • 01
    GraphQL
    Typed queries / mutations
  • 02
    WebSockets
    Signaling, presence, multi-device sync
  • 03
    Retry & resilience
    Exponential backoff, idempotency keys
  • 04
    Auth / token refresh
    Silent refresh, race-free reauth
Problems I've solved

The bugs that don't show up in tutorials.

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

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.