PocketEngineer— a remote workspace in your pocket.
A native iOS control plane for remote Linux development: projects, agent streams, files and terminal sessions over SSH. The phone stays the interaction layer; the repository, compilers and long-running agents stay on real infrastructure.
- Swift 5.9+
- SwiftUI
- SwiftData
- SwiftNIO SSH
- Keychain
- cloud-init
- DigitalOcean / Hetzner
- iOS 17+
Origin & scope
PocketEngineer is a product fork and redesign, not a greenfield claim. The baseline is Eugene Pyvovarov's open-source CodeAgents Mobile. My branch uses that native SSH/agent client as a starting point and moves the product model toward remote workspaces (“Spaces”), explicit project creation and a first-class terminal. The screenshot set present in the fork tracks the upstream baseline, so I do not present those images here as evidence of my redesign.
Stack
How it evolved
Process reconstruction — based on the import history, subsequent commits and current source. It is a design narrative, not a literal diary of every decision.
The first useful decision was not to rebuild SSH, streaming and remote file access for the sake of ownership. The upstream project provided a functioning technical baseline.
“Server” describes infrastructure; “Space” describes where work lives. The UI terminology was pushed toward a developer workspace so host details become implementation detail rather than the main product object.
An AddProject flow makes the remote environment usable as more than a saved SSH endpoint. The user thinks in repositories/projects first and infrastructure second.
Agent chat alone is too narrow for professional development. Terminal work was promoted alongside chat and files so escape hatches, diagnostics and ordinary shell workflows remain available.
Cloud-provider models, cloud-init resources and managed-server views reduce the gap between “I want a mobile dev space” and “I have prepared a Linux box correctly.”