
Desktop pairing
The first-run flow connects the iPhone to a local Gateway page shown by the desktop runtime.
Niuma is an iPhone companion for desktop Codex workflows, helping you monitor projects, continue Codex threads, handle approvals, and keep plaintext content on endpoints.
Niuma product introduction
A concise product video introducing Niuma as a mobile control plane for desktop Codex workflows.
The current iOS preview follows the real Codex mobile workflow: pair a phone, choose a workspace, continue a thread, then inspect the result.

The first-run flow connects the iPhone to a local Gateway page shown by the desktop runtime.

After pairing, the app surfaces connected devices, workspaces, project sessions, and projectless conversations.

A Codex thread can be resumed from the phone while output and file changes are projected back into the mobile timeline.
Niuma is a mobile Codex companion for the actions that matter when a desktop Codex task is already running.
Use the local Gateway QR code to establish device trust between iPhone and the desktop runtime without introducing an account layer.
Review connected desktops, workspaces, project sessions, and recent Codex threads from a compact mobile interface.
Send follow-up input from iPhone to an existing Codex thread or start a new task while the desktop runtime stays the source of truth.
Review task progress, approval details, file changes, and transfer-backed image or file content from the phone.
The architecture splits responsibility clearly: iOS owns the mobile experience, Gateway owns Codex runtime integration, and the Server stays a payload-blind control plane.

High-level architecture showing iOS, Server, Gateway, Codex app-server, and Local Codex boundaries.

Workspace session list used to choose an existing Codex thread or create a new one.

Mobile detail view for inspecting file-change summaries produced by a Codex thread.
Niuma is designed around a narrow trust boundary: the server routes encrypted control-plane traffic, but plaintext Codex content remains on the endpoints.
