Software Engineer · Morgan Hill, CA
I build elegant solutions to difficult problems. Fifteen years at Apple working on Core Data, iOS platform features, location & motion systems, and privacy engineering.
Background
Hello! I'm David, a software engineer based in Morgan Hill, California. I love beautiful code and creating elegant solutions to difficult problems.
My expertise is primarily in development using C, Objective-C, and Swift — with deep experience building frameworks and systems that developers and customers rely on every day at scale.
Career
Core Data is the framework developers use to manage the model layer objects in their applications. Provides generalized and automated solutions to common tasks associated with object life cycle and object graph management, including persistence.
Designed, analyzed, and implemented location-based and motion-based features, technologies, and systems across iOS, watchOS, tvOS, and macOS — with an emphasis on machine learning.
Designed, analyzed, and audited shipping and pre-release features and systems. Partnered with development teams to protect customer privacy while delivering great experiences. Advocated and educated Apple teams about privacy-related technology and best practices.
Designed, developed, tested, and maintained DSP firmware for RF signal detection, collection, and analysis of electronic counter measures (ECM) for the U.S. Air Force. Implemented Java front-end interfaces for operator control.
Developed the Coupious iOS application — an on-demand, location-based, instantly redeemable coupons platform.
Developed support for RAID6 and solid state drives within firmware for enterprise class storage arrays. Triaged and fixed defects.
Academic
Intellectual Property
A method for identifying the location of a mobile device by measuring signal properties of nearby devices, creating clustered data points over time, and matching new measurements against established clusters to infer location context.
Techniques for suggesting accessory devices controlled by an application, using sensor-based clustering to associate accessories with physical locations and surface relevant controls at the right moment.
Systems and methods for allowing a device identifier delivered to content providers to be altered on demand or automatically, providing meaningful user anonymity without sacrificing functionality.
An event-detection system that applies prediction models and contextual device state to surface a prioritized set of applications most likely to be accessed by the user in a given context.
Talks & Writing
Elevate your app's data persistence with improvements in Core Data. Covers composite attributes, disruptive schema migration, deferred migrations, and reducing on-device overhead.
Watch on Apple Developer ↗How to cleanly migrate Core Data schemas after app updates, use built-in migration tools, and handle CloudKit schema interactions during migrations.
Watch on Apple Developer ↗Discover how Core Data can surface app data in Spotlight with minimal code, customize how data appears on device, and implement full-text search driven by Spotlight indexing.
Watch on Apple Developer ↗Addresses the existing privacy problem of user and hardware tracking in mobile devices — including cross-correlated advertising profiles — through a framework supporting randomly generated, disposable hardware addresses.
Read full text ↗Get In Touch
My inbox is always open — whether for a potential project or just to say hello, I'll do my best to respond.
Thanks for reaching out — I'll get back to you soon.