# One Brain Across My Desktop, iPhones, and Pixel

*When one coding agent session connected my desktop, iPhone, and Pixel into a single working loop, mobile development started to feel fluid, local, and continuous.*

- Author: Feitong Yang (https://www.feitong.phd/about)
- Published: 2026-05-16
- Canonical: https://www.feitong.phd/essays/the-power-of-multi-device-connection
- Topics: ai

---
<Figure size="wide">
  <FigureImage src="/images/mobile-desktop-agent.jpg" alt="mobile-desktop-agent-connection" />
</Figure>

For the last two years, I have used coding agents so much that I no longer doubt they will change software engineering. I have used Cursor and Claude Code, and Codex more recently. I have even built a desktop general-purpose AI agent myself. <Marginnote>One day, I will share this story in more details</Marginnote> But for all that power, something still felt constrained.

The problem was not intelligence. It was continuity. Most of the time, I still interacted with these systems on my desktop IDEs or terminals. That works for me, but I always felt that something was missing.

This afternoon, I understood one of the missing piece. Let me tell you this story.

I was building a mobile app on my desktop with Zed and Claude Code, and the development loop felt heavier than it should have. I kept running into the same two pains. First, if I wanted Claude Code to look at a screen on my iPhone, I had to take a screenshot, move it back to the desktop, then feed it into the session. Second, running `flutter run` against my phone was dragging down my computer so much that everything started to feel sticky. My CPU spiked, memory climbed, and the whole machine felt bogged down. I kept pushing through it because I thought that was just the price of mobile development.

Then I looked over and saw my wife sitting next to me, working on her own mobile app with Codex.

I asked her, "Isn't it slow to develop a mobile app like that?"

"No, not at all," she said. "My Codex just drops me a file to install, and then I see the new version."

"What?"

"Actually, now I don't even need to install a file," she said. "I asked Codex to add a button in my app, so I can just click update after it finishes, and I get the new version."

That made no sense to me. I got up and walked over to see what she meant.

There it was. A new version of her app, updated, with a new data visualization on the screen. Beautiful. She does not understand anything happened under the hood. She does not know Flutter, Kotlin, or Swift. She is not thinking about build systems, package managers, or device deployment. She just took a screenshot of another app on her phone, sent it to Codex, described how she wanted the data to be presented, and pressed Enter. A few minutes later, Codex told her to press the update button, and the new screen was there. What she wants is what she saw.

That was magical to me.

My wife is not technical, yet she was iterating on a mobile app faster than I was, while skipping almost every pain point I had spent the last two days enduring. Granted, she does not understand the code. But then again, neither do I, at least not in the languages that matter here. 

That was the moment I stopped thinking of phone connection as a cute convenience feature. It felt much more important than that.

So I decided to try it seriously myself. What mattered was not which product I was using. What mattered was the shape of the loop once the desktop and phones were connected into the same working session. Once I got it working, the effect was immediate.

I had one session running on my desktop, and connected to that same session were two phones: an iPhone and a Pixel. I could chat from either phone, and the session would run code on my desktop. More than that, the same session could deliver a new iPhone version and a new Android version to the two phones at the same time.

That is when mobile development started to feel different.

By the end of each iteration, I could simply look at my app on two surfaces. If I did not like something, I could screenshot it directly on the phone and tell the agent exactly what looked wrong. If I wanted to inspect the code or look more carefully at the logs, I could turn back to the desktop. If I wanted to continue the conversation while away from the keyboard, I could just use the phone. The context was still there: the same session, the same thread, the same intelligence moving across surfaces with me.

Developing a mobile app has never felt this easy. The limitation is no longer whether I can wire everything together manually. The limitation is my imagination, my taste, my ability to communicate what I want, and, realistically, my token usage. The loop became so smooth that it felt like breathing.

That, to me, is the real power of intelligence that spans multiple devices.

The point is not that there is chat on the phone. Chat on the phone is old news. The point is that one phone can control my desktop, and through the desktop, coordinate another phone too. Screenshots, builds, interface feedback, runtime behavior, and coding context all move through the same flow. I do not need to manually copy things from one place to another. I do not need to constantly re-establish context whenever I switch devices. The intelligence is already carrying it for me.

All my devices are connected, orchestrated by the same intelligence. That is what feels new.

I think this points to a much bigger future for AI agents. Not just better chat interfaces. Not just better code generation. A better cross-surface experience, where intelligence can move naturally between the devices we already use and make them feel like one system.

