Unhinged Guide to Doom Coding: Android Edition

january 23, 2026

Stop scrolling Instagram reels and start SSH-ing into your production server from your phone. A guide to the most aggressive mobile dev setup ever conceived.

development · remote-dev · android · opencode · claude-code · antigravity

Unhinged Guide to Doom Coding: Android Edition

"If you aren't shipping features while your friends are paying $20 for a mid drink at the club, are you even a dev?"

Nobody:
Me at 2 AM in an Uber: opens Termux

Welcome to Doom Coding — doom scrolling except instead of passively destroying your attention span, you're actively destroying your work-life balance! More productive. Same outcome. While normal people "go outside" and "be present in the moment," we're SSH-ing into production from the back of a ride-share. Is it healthy? Incredible question, we're moving on.

After this 5-minute setup, you'll be able to code anywhere you have cell service. Even in the air. Even on a run. Even at the club.

Code in the air

Code on a run Literally higher than your server's uptime. Even when keeping that heart rate in Zone 2.

The Stack (Because Minimalism is for Quitters)

The Holy Quadrinity of mobile dev enlightenment:

  1. Termux: Your new home. It's a terminal emulator that makes your Android phone feel like the power tool it actually is, instead of just a $1,200 TikTok consumption device.
  2. Node.js/Bun: Because of course we're using JavaScript environments. It's 2026.
  3. Claude Code: The paid AI god for people with salaries.
  4. OpenCode + Antigravity Auth: The "freebie" AI god for everyone aggressively dodging API metering.

Step 1: The Sacrifice (Termux Setup)

First, download Termux. Do not use the Play Store version. It's practically ancient history and entirely broken. Get it from F-Droid or GitHub like an adult.

Open it up and run the ritual:

bash
pkg update && pkg upgrade
pkg update && pkg upgrade

Install Ubuntu (no, I don't care about your favorite obscure distros like Alpine or Arch-mobile, I want my apt-get to work):

bash
pkg install proot-distro
proot-distro install ubuntu
proot-distro login ubuntu
pkg install proot-distro
proot-distro install ubuntu
proot-distro login ubuntu

Update your brand new chroot system:

bash
apt update && apt upgrade -y
apt install curl git nodejs npm -y
apt update && apt upgrade -y
apt install curl git nodejs npm -y

Congratulations. Your phone is officially a development machine. You can finally tell people you "work entirely in the terminal" when you're waiting for your cold brew at Starbucks.

Step 2: Choosing Your AI Deity

Two paths. One has a monthly billing cycle, the other has character.

Path A: The "I Have a Budget Line for This" Option (Claude Code)

If you're completely fine with paying Anthropic to technically do your job while you sip coffee:

bash
curl -fsSL https://claude.ai/install.sh | bash
claude --remote
curl -fsSL https://claude.ai/install.sh | bash
claude --remote

Done. Go back to your $15 avocado toast.

Path B: The "I Have Principles" Option (OpenCode + Antigravity Auth)

For those of us who prefer to keep our money for important things (like RAM or specialized mechanical switches), we use OpenCode.

I found the antigravity plugin while responsibly avoiding doom-scrolling, and it genuinely simplified my life. Finally, no monthly AI subscription just to get an LLM to tell me why my regex is objectively terrible.

Setting up OpenCode + Antigravity

First, install OpenCode:

Easiest way:

bash
curl -fsSL https://opencode.ai/install | bash
curl -fsSL https://opencode.ai/install | bash

Now, we add the Antigravity Auth plugin. This lets you tap into Google's Gemini-3 and Claude 4.5 quotas via OAuth like a true hacker.

Edit your config at ~/.config/opencode/opencode.json (yes, use nano or vim on your phone screen, I believe in you):

json
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-antigravity-auth@latest"],
  "provider": {
    "google": {
      "models": {
        // Copy pasta the standard Antigravity auth schema here so you have all the free tier models
        // I'm not pasting all 60 lines again, figure it out.
      }
    }
  }
}
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-antigravity-auth@latest"],
  "provider": {
    "google": {
      "models": {
        // Copy pasta the standard Antigravity auth schema here so you have all the free tier models
        // I'm not pasting all 60 lines again, figure it out.
      }
    }
  }
}

Now, login:

bash
opencode auth login
opencode auth login

CRITICAL NOTE: Android Termux doesn't support the fancy OpenCode TUI interface natively unless you have tiny fingers and the patience of a saint. You're a terminal purist now. Use the --web flag or your screen will just look like it is having a stroke.

bash
opencode web --hostname [YOUR_TAILSCALE_IP] --port 4096
opencode web --hostname [YOUR_TAILSCALE_IP] --port 4096

Step 3: Tailscale (The Packet Wormhole)

If you're running opencode web, you'll need a way for your browser to talk to that proot-distro Ubuntu instance without Android's sandbox throwing a tantrum. Enter Tailscale.

  1. Install the App: Download Tailscale.
  2. Login: Use the same account you use on everything else.
  3. Turn it ON: You're now part of the mesh network.

Find your phone's Tailscale IP (the one that looks like 100.x.y.z). That is your new identity. Use it in the opencode web command so you can access your dev environment from your mobile Chrome, or even from your laptop if you're feeling extra lazy.

Tailscale status

Step 4: Ascend To Godhood

You are now coding from a device that fits in your pocket. You can push to production at a farmers market. You can fix a bug during a movie. You can ship features between sets at the gym. These are all real actions you can take now, regardless of whether or not you should.

Claude coding

Pro Tips for the Elite

  • Track Progress: Always ask your AI to update CLAUDE.md or SHIPPING.md. Your future sober(ish) self will thank you for documenting what your 2 AM self did.
  • The Club: If you’re coding at the club, make sure the brightness is all the way up so everyone around you knows you are fundamentally more important than the DJ.

Code at the club Me when the drop hits but the prod logs show a 500 error.

Troubleshooting (Otherwise Known As Skill Issues)

If it doesn't work:

  1. Termux Sleep: Android loves to ruthlessly murder background processes. Make sure you enable "Keep CPU awake" in the Termux notification tray or your session will die faster than a startup with no VC funding.
  2. Node Versions: If npm acts up, pkg reinstall nodejs-lts.
  3. OpenCode UI: I told you already, use --web. If you forgot, that's a classic skill issue on your part.

Happy Doom Coding. Go ship something before the concept of a "healthy work-life balance" accidentally enters your mind.

back to blog