Command Menu

Search pages, blogs, projects, and more...

january 23, 20266 min read

Unhinged Guide to Doom Coding: Android Edition

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.

developmentremote-devandroidopencodeclaude-codeantigravity

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 "exist in the physical world," 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. These are all real options you will have. Whether you should use them is a completely separate conversation.

Code in the air

Code on a run Literally higher than your server's uptime. Zone 2 heart rate. Production logs open. Living the dream.

The Stack (Minimalism Is for People Who've Never Had Scope Creep)

The Holy Quadrinity of mobile dev enlightenment:

  1. Termux: Your new home. A terminal emulator that turns your $1,200 TikTok consumption device into an actual power tool.
  2. Node.js/Bun: Because of course we're using JavaScript environments. It's 2026.
  3. Claude Code: The paid AI deity for people with budget lines.
  4. OpenCode + Antigravity Auth: The "I have principles" AI deity for everyone aggressively dodging API metering.

Step 1: The Sacrifice (Termux Setup)

Download Termux. Not from the Play Store. That version is archaeological. Get it from F-Droid or GitHub like someone who reads changelogs.

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 Alpine evangelism, I want 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:

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 now a development machine. You can tell people you "work entirely in the terminal" while waiting for your cold brew. They won't know what that means. It'll feel good anyway.

Step 2: Choose 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 fine with paying Anthropic to technically do your job while you drink 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 avocado toast.

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

For those of us who prefer to keep money for important things — RAM, mechanical switches, that one keyboard you've been eyeing for six months.

We use OpenCode.

I found the Antigravity plugin while responsibly not doom-scrolling, and it genuinely simplified my life. No monthly AI subscription just to get an LLM to tell me why my regex is objectively wrong.

Install OpenCode:

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

Now add the Antigravity Auth plugin. This lets you tap Google's Gemini and Claude quotas via OAuth like someone who knows how OAuth works.

Edit your config at ~/.config/opencode/opencode.json (yes, with nano on your phone screen, you can do it, I believe in you):

json
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-antigravity-auth@latest"],
  "provider": {
    "google": {
      "models": {
        // Paste the Antigravity auth schema here for all the free-tier models.
        // I'm not pasting all 60 lines. Figure it out.
      }
    }
  }
}
{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-antigravity-auth@latest"],
  "provider": {
    "google": {
      "models": {
        // Paste the Antigravity auth schema here for all the free-tier models.
        // I'm not pasting all 60 lines. Figure it out.
      }
    }
  }
}

Now login:

bash
opencode auth login
opencode auth login

CRITICAL NOTE: Android Termux does not support the full OpenCode TUI natively unless you have the patience of someone who has never experienced latency. You're a terminal purist now. Use the --web flag or your screen will look like it's having a medical event.

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

Step 3: Tailscale (The Packet Wormhole)

Running opencode web means your browser needs to reach that proot-distro Ubuntu instance without Android's sandbox filing a complaint. Enter Tailscale.

  1. Install the app. It's in the Play Store. This one you can get from there.
  2. Login. Use the same account you use everywhere else.
  3. Turn it on. You're now part of the mesh.

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 hit your dev environment from Chrome, or from your laptop if you're feeling spectacularly lazy.

Tailscale status

Step 4: Ascend to Godhood

You are now coding from something that fits in your pocket.

You can push to production at a farmers market. Fix a bug during a movie. Ship features between sets at the gym. All of these are real actions you can now take. None of them are actions you should take without thinking carefully about your life choices first.

Claude coding

Pro Tips for the Committed

  • Document everything: Always ask your AI to update CLAUDE.md or SHIPPING.md. Your future coherent self will be grateful that your 2 AM self left notes.
  • The Club Protocol: If you're coding at the club, crank the brightness to max. Everyone should know you are categorically more important than whatever the DJ is doing right now.

Code at the club Me when the drop hits but the prod logs are showing 500s.

Troubleshooting (Otherwise Known As Skill Issues)

If it doesn't work:

  1. Termux Sleep: Android loves murdering background processes. Enable "Keep CPU awake" in the Termux notification tray or your session dies faster than a startup with no runway.
  2. Node version drama: If npm acts up, pkg reinstall nodejs-lts. Do not negotiate with it.
  3. OpenCode TUI: I told you. Use --web. If you forgot: classic skill issue. Noted for the retrospective.

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