[Your Name] · [Email] · [Phone] · [City, ST]
April 21, 2026
Dear Hiring Manager,
I'm applying for the Senior iOS Engineer role on the Camera and Photos team. The Spatial Photos memory-budget work described in the recent Core Image session at WWDC is the kind of hardware-software trade-off I've been doing at Snap for the last four years — specifically, fitting a real-time computational photography pipeline into the thermal envelope of a mid-range iPhone without dropping below 60fps during preview.
At Snap I was the iOS lead on the on-device portrait pipeline shipped in the 2025 camera redesign. The initial prototype ran at 38fps during preview on iPhone 14 and consumed 412MB of peak memory, which was over our budget on A15. Over 11 months I profiled with Instruments (Time Profiler, Allocations, Metal System Trace) at a per-frame granularity, moved the segmentation pass from Core ML to a custom Metal compute kernel, reorganized the buffer lifecycle so we allocated no heap memory in the hot path, and reduced the model to a 4-bit quantized variant that produced identical output within perceptual JND thresholds. Shipped result: 60fps sustained on iPhone 12 and later, peak memory 147MB, and zero frames dropped under thermal throttling in our 72-device test matrix. All inference stays on-device; no frame, depth map, or inferred attribute ever leaves the user's phone, which was a requirement I argued for from day one and which the legal review later cited as the reason the feature shipped in EU markets without a dedicated consent flow.
Before Snap I spent three years at a small imaging startup (Halide, co-founder-adjacent) where I owned the RAW pipeline end-to-end and shipped three App Store releases that held 4.9 stars. That range — from being the only person signing the app and also writing the Metal shaders, to leading a 4-engineer subteam on a billion-user camera — is what I'd bring to the Photos team. I've read the Human Interface Guidelines carefully and what I admire most is the insistence that the API surface and the UI surface are one design, not two.
I'd welcome a conversation about the team's current priorities on memory pressure during capture and on the Spatial pipeline. I can share a short Metal kernel I wrote for an unrelated project (open-sourced, 600 lines) if it's useful for the technical portion of the loop.
Sincerely,
[Your Name]