How to vibecode on your iPhone
Aron Schüler Published
In this blogpost I want to show how I set up a complete development environment that runs entirely from my iPhone. This setup has completely changed how I approach coding on the go, turning what used to be a frustrating mobile experience into something genuinely productive.
TLDR: SSH from iPhone → VPS → Code with Claude → Auto-deploy to production
About the iPhone Development Flow
The core concept is simple: turn your iPhone into a thin client for a powerful cloud-based development environment. Instead of being limited by iOS constraints, you get full Linux terminal access with AI-powered coding assistance.
Traditional mobile development is painful - limited text editors, no proper terminal, constant context switching between apps. This setup eliminates all those friction points by moving the actual development work to a proper server environment while keeping the interface mobile-friendly.
The complete flow: iPhone → Termius SSH → VPS (your dev machine) → GitHub → Auto-deploy
The Stack
Here’s what makes this setup work:
- Termius - Premium SSH client for iPhone that provides full terminal access to your VPS. The interface is optimized for mobile with customizable keyboards and gesture controls.
- VPS - Ubuntu/Debian server (2GB+ RAM recommended) with your complete development environment including Node.js, Python, Docker, and whatever else you need.
- Claude Code - Runs directly on the VPS, providing AI-powered coding assistance through the terminal. This is where the magic happens - having Claude help with coding tasks without needing local AI processing.
- GitHub - Central code repository that triggers automatic deployments. Acts as the bridge between your VPS development and production deployment.
- Cloudflare Pages - Automatically deploys your frontend applications from GitHub pushes. Zero-config deployments that just work.
- Firebase - Handles backend services like authentication, Firestore database, and serverless functions. Integrates seamlessly with the deployment pipeline.
Setting Up the Complete Environment
VPS Configuration
First, you’ll need a properly configured development server. I recommend at least 2GB RAM and 25GB storage for a comfortable development experience.
Start with basic server setup including essential development tools like Git, Node.js, Python, and Docker. Install Claude Code globally so it’s available from anywhere on your system. Configure Git with your credentials and set up SSH keys for seamless GitHub integration.
Termius Setup and Optimization
Termius is crucial for making this workflow smooth on iPhone. The free version works, but the premium features make a significant difference for serious development work.
Key Termius configurations include custom keyboard layouts with dedicated keys for common symbols, snippet management for frequently used commands, session persistence so your work survives connection drops, port forwarding for testing web applications, and SFTP integration for quick file transfers when needed.
Development Workflow Deep Dive
The daily workflow becomes incredibly smooth once everything is configured:
- Morning routine: Open Termius, connect to VPS (usually takes 2-3 seconds with saved sessions)
- Navigate to project directory and launch Claude Code
- Start coding with AI assistance
- Code with AI assistance - Claude handles complex logic, boilerplate, debugging
- Test locally using the VPS as your development machine
- Git commit and push to trigger automatic deployment
- Monitor deployment through GitHub Actions or Cloudflare Pages dashboard
Advanced Terminal Setup
To make the terminal experience even better on mobile, enhance your shell environment with zsh and oh-my-zsh for better autocomplete and theming. Set up useful aliases for common Git operations and development tasks. Configure your terminal with increased scrollback buffer and customized settings to improve the mobile experience.
Real-World Performance and Limitations
What Works Amazingly Well
- Writing and editing code - Claude Code makes complex programming tasks manageable even on a small screen
- Git operations - Committing, branching, merging all work perfectly
- Testing and debugging - Full access to logs, debugging tools, and testing frameworks
- Database management - Direct access to databases running on the VPS
- Container management - Docker commands work exactly as expected
Potential Challenges
Network dependency is the biggest limitation. You need a stable connection for SSH, though Termius handles temporary disconnections gracefully with automatic reconnection.
Battery consumption varies depending on usage. Pure terminal work is quite efficient, but intensive Claude Code sessions can drain battery faster due to constant network activity.
Screen size constraints affect complex file navigation and side-by-side comparisons. However, terminal navigation and command history help manage multiple contexts effectively.
iOS keyboard limitations can slow down typing of special characters, though Termius custom keyboards largely solve this problem.
Optimizing for Mobile Development
Several strategies make mobile development more effective:
- Use descriptive commit messages since you can’t easily review large diffs on mobile
- Leverage Claude Code heavily for code generation and explanation rather than manual typing
- Structure projects with clear file organization to minimize navigation needs
- Set up monitoring so you can catch deployment issues quickly
- Keep organized project structures to quickly resume work after reconnecting
Beyond Basic Setup - Advanced Integration
Continuous Integration Pipeline
The beauty of this setup is how it integrates with modern CI/CD practices. GitHub Actions workflows trigger automatically on pushes, handling builds, tests, and deployments without any manual intervention from your mobile setup.
Development Environment Synchronization
Keep multiple projects organized on your VPS with a clear directory structure separating personal projects, work projects, and experimental code. This organization becomes crucial when navigating purely through terminal commands.
Backup and Disaster Recovery
Since your entire development environment lives on the VPS, backup strategies become crucial:
- Automated VPS snapshots through your cloud provider
- Git repositories as primary backup for all code
- Dotfiles repository to quickly recreate your shell environment
- Documentation of your setup process for quick recovery
Why This Setup Revolutionizes Mobile Development
The traditional approach to mobile development involves compromises - limited editors, no real terminal access, constant app switching. This setup eliminates those compromises entirely.
You get desktop-class development power from a device that fits in your pocket. The AI assistance from Claude Code means you can tackle complex programming tasks that would be painful to type manually on mobile.
The deployment automation means your code goes from idea to production with minimal manual intervention. Push to GitHub, and your changes are live within minutes.
Location independence becomes real - airport lounges, coffee shops, even hiking breaks become potential coding sessions. As long as you have cellular signal, you have full development capabilities.
Context preservation through organized project structures and persistent SSH sessions means you can pick up exactly where you left off, even after hours of being disconnected.
Summary
This iPhone development setup has fundamentally changed how I approach coding on the go. What started as a way to make small fixes while traveling has evolved into a full-featured development environment that rivals traditional desktop setups.
The combination of cloud infrastructure, AI-powered coding assistance, and automated deployments creates a workflow that’s not just mobile-friendly - it’s genuinely productive and enjoyable to use.
The setup takes some initial configuration, but once established, it provides unprecedented flexibility for developers who want to code from anywhere without sacrificing power or capabilities.
Bonus: Advanced Session Management with tmux
For users who want even more robust session management, consider setting up tmux (terminal multiplexer) on your VPS. While not essential for the basic workflow, tmux provides:
- Persistent sessions that survive connection drops
- Multiple windows and panes for managing different contexts
- Session sharing capabilities for collaborative debugging
- Customizable layouts optimized for mobile screens
To get started with tmux, install it on your VPS and create a basic configuration with increased scrollback buffer, mouse support, and sensible key bindings. This adds an extra layer of session persistence beyond what Termius already provides.
If you want to read more about mobile development workflows, be sure to check out more posts about development setups on my blog.