Crafting Developer Tools

Role: Product Designer



Duration: 12 months

Team: 1 PM, 3 Designers, 1 Researcher



Environment: Unity, CLI, LuminOS

The Setup

To make spatial computing viable, Magic Leap needed to empower developers. Our job was to design the infrastructure and tools that let Unity developers ship immersive content fast with zero hand-holding.
But building for spatial computing wasn’t intuitive. Developers were bouncing between Unity, CLI tooling, browser-based docs, and physical devices each with its own state, failure modes, and idiosyncrasies. There was no canonical path. No mental model of what “success” looked like.


Role: Product Designer



Duration: 12 months

Team: 1 PM, 3 Designers, 1 Researcher



Environment: Unity, CLI, LuminOS

The Setup

To make spatial computing viable, Magic Leap needed to empower developers. Our job was to design the infrastructure and tools that let Unity developers ship immersive content fast with zero hand-holding.
But building for spatial computing wasn’t intuitive. Developers were bouncing between Unity, CLI tooling, browser-based docs, and physical devices each with its own state, failure modes, and idiosyncrasies. There was no canonical path. No mental model of what “success” looked like.

Role

I was brought in during a critical early phase to help unify Magic Leap’s fragmented developer tools into a coherent system. I focused on understanding how developers moved between Unity, CLI, the Magic Leap headset, and documentation—and how we could reduce that friction through tooling architecture, interaction patterns, and interface strategy.

But more than designing screens, I worked to surface and structure an invisible system. That meant:


→ Mapping the end-to-end lifecycle of a Magic Leap project from first commit to real-world deployment

→ Aligning terminology and expectations across Unity, CLI, and Lumin OS
Identifying leverage points for simplifying complexity through design patterns

→ Proposing modular workflows that respected divergent developer paths while nudging toward best practices

→Representing developer needs in design system governance conversations

The Problem

Developing for AR with Magic Leap required switching between Unity, custom SDKs, CLI tools, device management apps, and documentation portals. For new developers, it was overwhelming. For seasoned ones, it was slow and error-prone. The ecosystem needed a central hub, something that felt integrated, interpretable, and real-time.

Developing for AR with Magic Leap required switching between Unity, custom SDKs, CLI tools, device management apps, and documentation portals. For new developers, it was overwhelming. For seasoned ones, it was slow and error-prone. The ecosystem needed a central hub, something that felt integrated, interpretable, and real-time.

Simplified Dev Workflow

Simplified Dev Workflow

Understanding the Developer Workflow

Understanding the Developer Workflow



Before designing anything, I immersed myself in the workflows of real Magic Leap developers. That meant observing how Unity projects were structured, what pain points surfaced during build/debug cycles, and where context-switching disrupted flow.



I created diagrams, mapped tool usage over time, and surfaced insights to the broader team. Key questions we explored included:

- Where do developers get stuck most often?
- What information needs to be surfaced at what moment?
- What gets in the way of experimentation?

The answers shaped our interface architecture and interaction models. We prioritized responsiveness, clarity, and giving developers confidence about what the system was doing and why.

Our principle was simple:

Minimize the number of things a developer needs to hold in their head at once.

Systems Thinking in Practice

This wasn’t a simple UI refresh. Every decision required thinking across time, tools, and intent.


To design a single “Deploy” interaction, I had to consider:

- What environment the user was currently in (local simulation? paired headset?)
- The connection health and trust state of the device
- The version compatibility of runtime, SDK, and project settings
- What logs, confirmations, or fallbacks would reduce uncertainty

Each moment in the tool needed to reflect both state and possibility.
So we built layered flows that scaled with user expertise.

Novices got guardrails.
Experts got shortcuts.
Everyone got clarity.

A look at the configuration layer where developers fine-tune object settings—critical to our goal of minimizing cognitive load

Interface Design & Modular Thinking

I designed around a modular architecture—allowing different parts of the system to evolve independently without breaking core workflows. Rather than build one monolithic interface, we focused on reusable layouts and semantic patterns that made the environment feel consistent, even when functionality varied.

Inspector panels, console outputs, file trees, build queues—each was treated as a component with behavioral logic tied to developer expectations.

We worked to reduce cognitive overhead by collapsing or staging complexity until it was necessary. Where Unity conventions existed, we matched them; where they didn’t, we invented deliberately.

Me, looking like a total badass pinching air

Me, looking

like a total badass pinching air.

At this level, design isn’t about delight, it’s about removing drag from an ecosystem.

Visual Artifacts

The screenshots below reflect the fully evolved product but are closely tied to patterns and flows I helped shape early in the project. Where applicable, I've noted the areas I contributed to.


Note: Visuals reflect later-stage development of The Lab and are used here to contextualize my foundational design contributions.

CLI Integration & Logs

Helped refine the package manager UI to make installation status and device setup more intuitive.

Device Bridge + Status System

Contributed to early IA models and design patterns for persistent device state, pairing flows, and recovery tools.

Launch Activities

Helped define the hierarchy and logic behind task surfacing and contextual tool access.

Multitask Navigation & Layout

Collaborated on interaction models for switching between panels and layered tools without losing orientation.

Outcomes

Our work brought new clarity to one of Magic Leap’s most opaque workflows. By visualizing complexity, aligning expectations, and reducing redundant effort, we helped make the act of building spatial computing applications more fluid and less brittle.

Devies Award Winner at Developer Week!