I spent some time at how the desktop app is put together and found something that seems worth sharing, since I haven’t seen it come up here.
The app ships a binary called language_server. That’s what actually talks to Google. When it runs with --standalone it also serves the complete Antigravity UI as a web app, the same interface the desktop window is displaying. It binds to 127.0.0.1 on a random port, so normally nothing but the app itself can reach it.
Which means the UI is already a web app. You can just point a browser at it.
Two things get in the way. First, the bundle hardcodes https://127.0.0.1:<port> as its API base URL, and from another device that resolves to that device, so nothing loads. Rewriting it to the browser’s own origin is enough. Second, it’s built for a mouse: Enter sends the message instead of inserting a newline, the iOS home bar sits on top of the composer, tapping a model in the picker selects it at medium effort and closes the menu instead of opening the effort submenu, and there’s a mic button that can’t do anything because standalone mode has no transcription.
With those handled it works fine from a phone. Terminal, file tree, artifacts, browser agent, model picker with reasoning levels, all of it.
The same thing works headless. Running language_server --standalone on a Linux box gives you an Antigravity that keeps working with your laptop closed, reachable from a phone or a desktop browser. Conversations and workspaces live on the server, so you can start something on one device and continue on another without syncing anything.
Two caveats worth knowing before anyone tries it. Whoever reaches it can read files and run commands on the host, so it needs a password at minimum and ideally a private network. And sign-in uses an OAuth callback on localhost, which a remote server can’t receive, so the token has to be copied over from a machine that already signed in (~/.gemini/jetski-standalone-oauth-token). A device-code flow would remove that step.
I ended up wrapping all of it into a small Go binary so I wasn’t redoing the setup each time. Leaving it here in case it’s useful: GitHub - AFSlayer/antigravity-remote: Use the Antigravity desktop app from your phone. One binary that serves Antigravity's own web UI to your devices, behind a password. · GitHub
Also happy to be corrected if any of this isn’t meant to be used this way.