Experience

Selected work.

Eleven years at Apple, a small technology holding in Boulder, and a hardware practice on the side.

01 / 04
Apple · 2020 — 2025

visionOS System UI.

Lead and grow the team that owned the surfaces every visionOS app and the operating system itself rendered against — from initial concept through launch and one stability release.

Constraint

A platform with no installed base, no precedent for legible 3-D windows, and a hard launch date. The system UI had to feel inevitable on day one and survive third-party apps on day two.

Decision

Hold the surface count small and stable. Treat every chrome — window controls, ornaments, alerts, status — as a single rendering pipeline with depth and refraction as first-class properties. Hire against the surfaces, not the headcount.

Outcome

Shipped through the launch window and the 1.1 stability release. Grew the org from three engineers to roughly thirty through three calibration cycles without breaking the review bar.

  • Three concurrent ship trains held without surface regressions
  • Six patents granted or filed against the System UI work
  • Hiring funnel that ran continuously for eighteen months
02 / 04
Calderone Technologies · 2025 →

CodePulse.

Engineering analytics for teams that care what the work actually looks like — not dashboards, but a quiet instrumentation layer across the development loop, surfaced where decisions get made.

Constraint

Engineering teams are drowning in metrics that measure activity and miss work. Anything new has to earn its install without asking for an integration meeting.

Decision

Start with the editor, the terminal, and the PR — the three places a developer already is. Read signal locally. Surface a single, opinionated read per loop, not a dashboard.

Outcome

Private alpha with two design partners. First read on engineering health that the partners report changed how a standup runs.

  • Editor & terminal instrumentation; no agent install on the repo
  • Two design partners, weekly review cadence
  • Pre-seed; founder-built; alpha invite list open
03 / 04
Calderone Technologies · 2025 →

Voice & gaze input layer.

A small, opinionated input layer for iOS and macOS. Built for one-handed work and accessibility-forward use, where the keyboard isn't the right tool but voice alone isn't either.

Constraint

Existing voice input is dictation. Existing gaze input is assistive. Neither composes with the other, and neither is a primary input mode for a working professional.

Decision

Build the input layer as a system service, not an app. Treat voice as command, gaze as cursor, and let the user's eyes confirm what their voice meant. Ship the developer SDK before the consumer surface.

Outcome

Pre-product. SDK in private review with three platform teams.

  • System service on iOS 18 and macOS 15
  • Patent-pending arbitration model between voice intent and gaze fixation
  • Accessibility-forward by construction
04 / 04
Side practice · 2024 — now

ESP32 e-paper desk object.

A custom KiCad board, slow-refresh e-paper, low-power firmware. A quiet object on the desk that asks for nothing — and a place to keep the embedded muscle warm.

Constraint

The desk has too many screens that talk too loudly. Nothing on the market is allowed to be quiet, slow, and finished.

Decision

Two-layer PCB in KiCad, ESP32-S3, 4.2" e-paper, USB-C power only, no battery. Render one thing per day at 06:00; sleep otherwise. Open the schematic.

Outcome

Rev C in daily use on the desk. Two friends building from the same schematic.

  • Open hardware · CERN-OHL-S licence
  • Firmware in Rust, ~14 KB binary
  • ~3 mW average draw measured at the wall
Patents

Six filings on spatial input, depth, and notification.

Co-inventor across the visionOS System UI work. Filed 2021–2024; status as of February 2026.

US 11,892,034
Spatial input arbitration between gaze, pinch, and hand-proxyMediation policy for concurrent input streams from eye tracking and hand articulation.
Granted · 2024.06 Granted
US 11,917,560
Persistent depth ordering for windowed surfaces in mixed realityZ-stable ordering across re-anchored sessions and locomotion.
Granted · 2024.03 Granted
US 11,724,801
Edge refraction and rim lighting for translucent system chromeTwo-pass screen-space refraction with stable highlight under head motion.
Granted · 2023.08 Granted
US 17/991,228
Palette synthesis from ambient capture for adaptive UI tintingReal-time palette extraction with thresholded accent preservation.
Filed · 2022.11 Pending
US 18/104,455
Hand-proxy recovery under occlusion via predictive skeletal interpolationShort-window pose prediction for sub-second occlusion recovery.
Filed · 2023.02 Pending
US 18/229,761
Anchored notifications with gaze-dwell promotionSpatial notification pinning with attention-mediated escalation.
Filed · 2023.09 Pending
Earlier · 2014 – 2019

Application Frameworks at Apple.

Five years below the UI layer — long-running services and per-app sandbox primitives that the rest of the stack stands on.

2017 — 2019
Senior engineer · Per-app sandbox primitivesCapability handoff between app extensions and the host process; the boundary work that lets a share sheet read a file without the host knowing.
macOS 10.13 — 10.15
2014 — 2017
Engineer · Long-running servicesBackground activity scheduling, energy accounting, and the death-and-resurrection rules for daemonised processes on iOS.
iOS 8 — 11
2013 — 2014
Engineering intern · FrameworksTooling and test infrastructure inside Application Frameworks. Hired full-time off the internship.
Cupertino, CA
Talks & mentions

Talks and mentions.

WWDC 2024 · Designing for depth.

2024.06

Internal session with Apple Design Evangelism on the System UI work and how to build against translucent chrome.

Config 2023 · The seam between system and app.

2023.06

Public talk on where platform UI ends and app UI begins on visionOS. Notes available on request.

Strange Loop 2022 · Three to thirty.

2022.09

Hallway-track conversation written up after the fact. On growing a platform-UI team without breaking it.