Fintech · iOS

    Reducing P95 API Latency for a BaFin-Regulated Wealth Platform

    A BaFin-regulated German robo-advisory / wealth-management platform

    −40%

    P95 API latency

    50k+

    AUM users impacted

    −60%

    Redundant network payloads

    0

    Compliance regressions

    Overview

    The iOS app for a regulated German wealth platform was under-performing on API response times, directly affecting user confidence in a context where speed is a proxy for trust. I profiled, root-caused, and restructured the iOS networking layer — reducing P95 latency by 40% without changing a single backend endpoint.

    The challenge

    What we were up against

    The platform served 50k+ users managing real money. Slow portfolio load times were generating negative App Store reviews and user support tickets. The backend team had already optimised their API responses — the bottleneck was entirely on the iOS networking layer: redundant serial requests, no request coalescing, and blocking main-thread JSON parsing.

    The approach

    Engineering decisions

    1

    Profiled the full request lifecycle using Instruments Network profiler and Charles Proxy to establish a baseline and identify the highest-impact serial request chains.

    2

    Refactored portfolio and transaction data fetching from sequential URLSession calls to parallel async/await request groups using Swift Concurrency's async let and TaskGroup.

    3

    Moved JSON decoding off the main thread with a dedicated decoding actor, eliminating a class of UI frame drops during data refresh.

    4

    Implemented response caching with ETags and conditional GET requests — reducing redundant full-payload responses by 60% on repeat visits.

    5

    Added MetricKit instrumentation to track P50, P90, and P95 API latency in production, enabling regression detection in future releases.

    The outcome

    Results

    P95 API latency dropped 40% within the first release cycle. Portfolio load times went from ~3.2s to ~1.9s at P95 on a standard 4G connection. Support tickets related to slow loading dropped in the following quarter. Zero compliance regressions — all changes were reviewed against the platform's BaFin data-handling requirements.

    −40%

    P95 API latency

    50k+

    AUM users impacted

    −60%

    Redundant network payloads

    0

    Compliance regressions

    Tech stack

    SwiftSwift ConcurrencyURLSessionMetricKitInstrumentsCharles Proxy