Résumé
I’m an experienced software engineer with 20 years building complete solutions across embedded systems, mobile, and desktop platforms. I work comfortably at every level—from OS services, databases, and system architecture through application development to user experience design. I’m particularly skilled at understanding complex technical systems and translating them into clear, intuitive user experiences—working collaboratively with design and product teams when available, or delivering end-to-end when working independently.
I’m drawn to work that respects user privacy and autonomy. Over the past five years, I’ve focused on building open-source tools that give users control over their data and workflows, with an emphasis on offline-first, local-first architectures. My personal projects often include custom hardware designed to liberate users from the constraining product experiences of modern smartphones.
I value transparent organizations with clear business models that put users first. I believe in open communication, collaborative development, and safe workplaces.
Experience
Developer, OpoLua (2021.11 - Present)
- San Francisco. One of a two-person team building an open source re-implementation of the Psion OPL runtime for iPhone and iPad.
Senior Software Engineer, Apple (2016.11 - 2020.09)
- Cupertino. Lead engineer responsible for bringing Health Records for iOS to market. Introduced and championed new data modelling techniques in Apple’s Health framework, HealthKit. Built an on-device graph database and new data lifecycle to allow scaling from hand-crafted data types to an unlimited, dynamic set, consistent with modern medical ontologies. Designed and built code generation tools used across multiple teams for modelling data.
Senior Software Engineer, Bromium (2014.01 - 2016.10)
- Vienna. Developed micro-virtualisation software for OS X using Objective-C, Cocoa, C++ and C across the whole software stack: authored a custom Cocoa WebKit2-based web browser, developed the guest-host graphics pipeline including capture, rendering, and driver development, and implemented a CoreAudio-based QEMU host audio device.
Developer, Game Play Color (2012.10 - Present)
- Cambridge. Created an open source JavaScript-based Game Boy Color emulator for iOS.
Product Architect, RealVNC (2009.12 - 2013.11)
- Cambridge. Created and managed the team responsible for VNC Viewer products for iOS, Android, Chrome OS, including initial software development of all three products. Architectural and product lead on the company’s first cloud-hosted platform, responsible for taking it all the way from conception to market.
Technical Consultant, Fen Systems (2009.09 - 2009.11)
- Cambridge. Developed a high-performance Perl and PostgreSQL based open source Warehouse Control System as part of a small team working for the Unipart Group.
Senior Technical Consultant, Symbian (2004.10 - 2009.05)
Beijing. Lead on-site engineer for Sony Ericsson Mobile Communications responsible for cellphone development, ensuring rapid response to all technical issues.
Tokyo. Two-year secondment working with DoCoMo, Fujitsu, Mitsubishi, Sharp, and Sony Ericsson to bring Symbian OS smartphones to market. Focused on OS-wide performance (such as boot times and UI optimisation), implementing customer specific requirements, and long-term OS roadmap planning.
London. Architected and developed 3GPP Cell Broadcast for UIQ 3.1. Developed defect management and SCM solutions to improve customer-specific OS build and integration.
Talks
- Accessing Health Records with HealthKit, WWDC 18
Patents
- Generation of customized personal health ontologies
- Index-based deidentification
- Method and apparatus for remote connection
- On-device searching using medical term expressions
- Software activation systems
- System and method for remote computer control
- System and method for remote controlling computing device
- Virtual interface devices
Education
- University of Cambridge, Computer Science (2001 - 2004)
Contact
If you’d like to work with me, I’d love to hear from you. Get in touch by email, or through LinkedIn.