How I Vibe Code on My Phone (Yes, Really)

By: on Jan 5, 2026
A close up of a computer keyboard with a mouse

Look, I've been that person frantically searching for my laptop charger in a coffee shop. I've also been the person who had a brilliant fix for a production bug while stuck on the bus with just my phone.

Turns out, you don't need a laptop to code. You just need SSH and a decent terminal.

What I Actually Do

My phone setup is stupid simple:

  • Termux – Full Linux terminal on Android (no root needed)
  • Tailscale – Private network that connects my phone to my laptop
  • SSH – Direct access to my entire dev environment
  • Aluratek Bluetooth keyboard – Portable keyboard that actually makes typing viable

That's it. No cloud VMs, no GitHub Codespaces subscription, no browser-based IDEs. Just my phone talking directly to my laptop over an encrypted tunnel.

What You Get

  • ✅ Full terminal access to your dev machine from anywhere
  • ✅ All your configs, aliases, and tools exactly as you left them
  • ✅ Zero latency (local network when at home, Tailscale relay when out)
  • ✅ Works offline if you're on the same WiFi as your laptop
  • ✅ No subscription fees or cloud dependencies
  • ✅ Your code never leaves your devices

The 5-Minute Setup

Step 1 of 3: Install Termux and Tailscale on your phone

# Install Termux from F-Droid (NOT Google Play - that version is outdated)
# Install Tailscale from Google Play Store

# In Termux, install SSH client:
pkg update && pkg upgrade
pkg install openssh

Step 2 of 3: Connect both devices to Tailscale

# On your laptop:
# Install Tailscale (varies by OS)
sudo tailscale up

# On your phone:
# Open Tailscale app and sign in
# That's it - both devices are now on the same private network

Step 3 of 3: SSH from your phone to your laptop

# In Termux, find your laptop's Tailscale IP:
# It's shown in the Tailscale app, looks like 100.x.x.x

# SSH into your laptop:
ssh your-username@100.x.x.x

# You're now in your laptop's terminal from your phone

Takes about 5 minutes. No configuration files, no firewall rules, no port forwarding.

Why I'm Obsessed With This Approach

It just works – Tailscale handles all the networking complexity. NAT traversal, dynamic IPs, firewall holes – all automatic.

Zero trust by default – Only your devices can talk to each other. No public internet exposure.

Full dev environment – Tmux sessions, Claude Code, git, your entire workflow. Nothing changes except the screen size.

Actually usable – With a Bluetooth keyboard, this isn't a compromise. It's a legitimate dev setup that fits in your pocket.

The Bluetooth Keyboard Game-Changer

I use an Aluratek Bluetooth keyboard and it completely transforms this setup. We're not talking about hunting and pecking on a phone screen anymore.

Real keyboard means:

  • Full speed typing – Same muscle memory as your laptop
  • All the keys – Ctrl, Alt, Tab, Esc, function keys, everything
  • Portable – Fits in a bag, connects instantly via Bluetooth
  • Battery lasts forever – Weeks between charges

This is the difference between "emergency phone coding" and "I actually prefer this sometimes."

Phone + keyboard + coffee shop table = full dev workstation. Add a phone stand and it's downright comfortable.

Real-World Usage

I actually use this for:

  • Quick bug fixes – Someone reports an issue, I SSH in and fix it from the grocery store
  • Deployments – Trigger a production deploy while waiting for an appointment
  • Log investigation – grep through server logs when something's wrong
  • Git operations – Quick commits, pushes, branch switches
  • Running builds – Start a long build, then check on it later
  • Coffee shop sessions – Actually sit down and code without lugging a laptop

The key insight: you're not writing code on your phone. You're remote controlling your laptop from your phone.

Pro Tips for Phone Coding

Use tmux religiously – Your SSH sessions will disconnect when your phone locks. Tmux keeps everything running. Just reconnect and tmux attach.

Set up SSH keys – No one wants to type passwords, even on a real keyboard:

# On phone (in Termux):
ssh-keygen -t ed25519
ssh-copy-id your-username@100.x.x.x

# Now you can just: ssh laptop
# Add to ~/.ssh/config:
Host laptop
    HostName 100.x.x.x
    User your-username

Phone stand is worth it – Prop your phone up at eye level. Your neck will thank you.

Keep your laptop alive – Disable sleep when plugged in. On Linux:

# Prevent sleep when lid is closed (laptop plugged in at home)
# Add to /etc/systemd/logind.conf:
HandleLidSwitchDocked=ignore

Consider a larger phone screen – More terminal real estate makes a difference. Or just get good at tmux window management.

What About Claude Code?

Claude Code works perfectly over SSH. I literally use it the exact same way:

# SSH into laptop from phone
ssh laptop

# Attach to existing tmux session or create new one
tmux attach || tmux new

# Start Claude Code
claude

# Ask Claude to do something, switch to another tmux window while it works

The async workflow from my tmux + Claude Code post is even better on mobile. Tell Claude to run tests, detach from tmux, close Termux, go make coffee. Come back 10 minutes later, reattach, see results.

With a Bluetooth keyboard, you can even do longer Claude Code sessions. Tell Claude what you want, review the changes, iterate. It's not just for emergencies.

The Philosophy

This setup embodies something I've been thinking about a lot: your dev environment should follow you, not vice versa.

We spend thousands on laptops, then get stuck when we don't have them. But your phone is always with you. Why not use it?

This isn't about replacing your laptop. It's about removing friction. Sometimes the best time to fix something is right now, even if "right now" is when you're waiting for an appointment.

And with a portable keyboard? You can actually get real work done. Not "emergency fix" work. Real, focused development sessions.

Common Questions

"What if my laptop is off?"

Wake-on-LAN exists, but honestly? I just leave my laptop plugged in at home. It's running anyway for other services.

"What about iOS?"

Blink Shell or Termius work great. Same Tailscale setup, same SSH workflow, same Bluetooth keyboard compatibility. I just use Android because Termux is more powerful.

"Is this secure?"

More secure than most cloud dev environments. Tailscale uses WireGuard encryption, your code never touches third-party servers, and you control both endpoints.

"What's the latency like?"

On same WiFi: basically zero. Over internet via Tailscale: depends on your connection, but usually under 50ms. Totally usable for terminal work.

"Which Bluetooth keyboard?"

I use an Aluratek keyboard and it works great. But honestly, most Bluetooth keyboards work fine with Android. Look for something portable with good key travel.

Try It Today

Install Termux and Tailscale, SSH into your laptop, run a git command. That's it.

You'll start finding excuses to code from weird places. Grocery store deployments. Coffee shop sessions without the laptop. Bug fixes from the park.

Your laptop doesn't need to be with you. Your dev environment does.

And with a Bluetooth keyboard in your bag? You're always ready to vibe code.

Photo by Fabian Albert on Unsplash

Content on this blog was created using human and AI-assisted workflows described here. Original ideas and editorial decisions by Justin Quaintance.