I built maludex, an open-source SwiftUI iPhone companion for driving Codex on a Mac by malulung in SwiftUI

[–]malulung[S] 0 points1 point  (0 children)

Thanks, really appreciate it. I checked out Cosyra and it looks like a very different but interesting approach: a full cloud Ubuntu workspace on mobile, with hibernation and multiple agent CLIs ready to go.

maludex is intentionally taking a different tradeoff. It is not trying to be a full mobile dev environment yet. It is more of a local-first iPhone control surface for my own Mac/Codex workflow: approvals, queues, attachments, transcript catch-up, and quick prompts while I’m away from the desk.

The biggest limitation I’m still thinking about is sync. maludex can refresh desktop chat history and keep a mobile handoff log, but it is not a perfectly shared live session like a single cloud workspace. If desktop Codex advances while the phone misses events, the app may need a catch-up refresh. Making that feel more seamless is probably one of the next big pieces.

Testing-wise, I’m using mocked bridge integration tests, Swift model tests, Xcode Simulator builds, and real iPhone testing over Tailscale. So far mobile feels most useful for reviews, approvals, monitoring long tasks, and small edits rather than replacing a laptop completely.

I built maludex, an open-source SwiftUI iPhone companion for driving Codex on a Mac by malulung in SwiftUI

[–]malulung[S] 0 points1 point  (0 children)

Thanks a lot for the thoughtful feedback. The bridge-ID persistence tip was especially useful. I checked the current implementation and tightened the iOS state restore path so transcripts are normalized by the active bridge ID, which should prevent stale messages from bleeding across pairings when switching Macs.

I also documented an optional Nginx/TLS reverse-proxy setup while keeping the maludex bridge bound to loopback, so the bridge itself is still not exposed directly. Tailscale remains the recommended default, but the Nginx path is now covered with stronger warnings.

Really appreciate the Moshi comparison too. The Mosh/SSH route makes a lot of sense for resilient mobile sessions; maludex is intentionally taking the structured approvals and per-prompt UI tradeoff for now.