David HsiaoCase study / 04 / Deep dive
Supporting work / native media
Live on the App Store · Released September 16, 2026

AfterPlay: Durable Native Media Engineering

The media infrastructure behind AfterPlay's court-session recorder: multipart transfers, persistent recovery state, background work, and private playback.

AfterPlay recording library from the current App Store screenshot set
AfterPlay recording setup with sport, court, camera position, and orientation choices
AfterPlay free and Plus plan comparison from the current App Store screenshot set
AfterPlay · recording library, camera setup, and plans
RoleProduct engineering
ClientSwiftUI · AVFoundation
BackgroundURLSession durability
CloudCloudflare D1 + R2
01

Durability is part of the interface.

The interface distinguishes a saved local recording from a completed upload and a playable cloud session. Queued transfers and retry states stay visible, and local media is retained until the server confirms finalization.

02

SwiftUI around AVFoundation.

SwiftUI provides the product surface while AVFoundation anchors the media pipeline, keeping platform-specific media behavior close to the work that needs it.

03

URLSession for the handoff.

Background URLSession handles eligible transfers while persisted multipart progress supports reconciliation after relaunch. Recovery must account for partial completion and server state; background execution is an opportunity provided by iOS, not an unlimited-running guarantee.

04

D1 for truth, R2 for media.

Cloudflare D1 and R2 separate structured state from large media objects, giving the engineering model a clear place for metadata, durable status, and object storage.