Building iOS apps from the cloud: Claude Code and Revyl
by Marcello Gonzatto Birkan, Founder
In the previous post I showed a small Coloreku fix that was written, built and tested on an iPhone without my Mac even being on. It was a proof of concept. This time I wanted to see what happens when that becomes the normal way to work, so I spent a whole night building two iOS apps from the cloud alone: between 11 p.m. and 7 a.m., 19 PRs were merged, and Xcode stayed closed the whole time.

The stack
The first piece is Claude Code's cloud sessions. Each task becomes a session in an Anthropic Linux container, with the repository cloned and the agent working on its own. I open one from the desktop app, from my phone or from a Claude Projects thread, describe what I want and go do something else. The session reads the code, writes the Swift, opens the PR, watches CI and resolves conflicts when another session touched the same file. Each one runs in isolation, so several can run at once, and at the peak of the night there were four.
A Linux container has no Xcode and no simulator, though, and that is where Revyl comes in. Its CLI sends the code to a macOS runner with Xcode 26.5, builds the .app and brings up a simulated iPhone in the cloud that the agent itself drives. The agent installs the app, launches it, taps, swipes and takes screenshots, and the screenshots come back into the conversation as proof.
Everything ends in a GitHub PR, with a verification section in which the session reports what built, what it saw on the simulator and what it left out.
How a task moves
- I send one sentence, something like "bring back the photo carousel on the welcome screen".
- The session reads
CLAUDE.md, which has a section just for the cloud: ifCLAUDE_CODE_REMOTEis set, the path is Revyl; on the Mac, it is the usual Xcode. - It writes the code and runs
revyl build --platform ios --remote. The first Weightics build took 2m40s. - It starts the device, walks the screen and takes the photos. On the carousel, two photos taken seconds apart show the pictures moving; with Reduce Motion on, both come out identical, which was exactly the ask.
- It stops the device, opens the PR and keeps an eye on it until the merge.
What came out of one night
Weightics got a Premium plan with an annual subscription and a trial, parity with Happy Scale (goals, milestones, an editable logbook, CSV import), a medication mode for people on GLP-1, weekly, monthly and yearly reports, body composition typed in by hand, and a cleanup of roughly 4,000 lines as the Bluetooth scale went away. Coloreku got a new mode in the style of LinkedIn's Queens, with a solver that grades each board by the technique it demands and 80 levels across 8 chapters. Between features I kept sending fixes that took 4 to 6 minutes while the bigger sessions were still running.
Where the Mac still comes in
The Mac is still part of this. The cloud simulator taps more slowly than a real device, the remote build is Debug, and the full test suite running on the Mac caught a bug that had slipped through the cloud that same night. So the split today is this: the cloud produces and proves each change, and the Mac has the final word before a version goes to the store.
Signing is off both of their plates. I set up Xcode Cloud once, on the Mac, and now an approved PR is enough for it to produce the signed build for TestFlight and the App Store.
The bulk of the work, the part that used to keep me in front of Xcode, now happens while I do something else. If you have an iOS app waiting for someone to find the time, tell me about it.