logoalt Hacker News

Stop Doom Scrolling, Start Doom Coding: Build via the terminal from your phone

536 pointsby rbergamini27last Tuesday at 7:38 PM373 commentsview on HN

I used Tailscale, an old laptop, Claude Code, and Termius to code from my phone anywhere I have Internet connection.

Great for parties where you rather be home tinkering.


Comments

tropicalhunteryesterday at 3:31 PM

I am still trying to understand how installing Tailscale and Claude Code then connecting to your home network externally and opening a mobile terminal on your phone is a novel idea that requires a full Github writeup.

So, I do this when I am sitting on the couch and too lazy to boot up my laptop that I normally do work on, but it never gets much further than updating, pulling or pushing one or two containers, or more times than not trying to remember what port AI have something on so I can connect the companion app to it.

It's not a bad idea in full, but "death coding" is a ridiculous notion.

show 3 replies
igleriayesterday at 11:24 AM

> Great for parties where you rather be home tinkering.

I know this is probably in jest, but when someone invites you to a party it's not because they just want your atoms in the same room as them.

In regards to doom coding: I would chop off my arms before coding/prompting on a phone. Also, think about your cervical, neck etc! I feel like I'm taking crazy pills!

show 1 reply
magospietatolast Tuesday at 10:40 PM

I'm using the Android terminal and Claude Code to vibecode on the go. Or rather, as a fairly boring father of two, when I'm tied up in the necessary chores of family life - cooking and cleaning. Nothing as complicated as this - just Claude Code and a fairly standard Linux dev term, but it's remarkable.

Over the recent break, across four or five sessions, I wrote a set of prompts around ~500 words in total.

The result was Claude scanning my network for active ports using nmap, fuzzing those ports with cURL, documenting its findings, self-directing web searches for API/SDK docs for my Hue bridge and ancient Samsung TV, then building a set of scripts to control my lighting system and a fully functional HTML+JS remote for my TV.

The most entertaining part was Claude prompting _me_ to pop into the living room and press the button on the Hue bridge so it could fetch an API key.

The most valuable part? The understanding I gained secondary to generative act. I now understand the button on a Hue bridge literally just tells the device to issue a new API key at the next request. I understand how Entertainment mode works, and why. I understand how Samsung SmartThings is mediated via websockets - and just how insecure decade old Samsung TVs are.

Around 500 words to gain all this? I hate to buy into the hype, but it feels inflectional.

show 2 replies
analogpixellast Tuesday at 8:24 PM

So this is the 4th+ article I've seen on using a VPN to vibe code on your phone. Would an email interface to Claude code work better?

- Email Claude to start the coding

- Claude emails you with any thing it needs acked on.

- you reply back to emails telling it what to do.

- maybe Claude can run your program and send back screen shots.

seems easier then getting a vpn working. What is the downside to using email?

show 30 replies
purrcat259yesterday at 7:57 AM

If you don't want to run your machine 24/7 (whether for electrical consumption, environmental, noise, etc reasons), I wrote an ssh proxy [1] that will send WOL packets to a target machine and hold your connection until its alive.

I then configured debian-autoshutdown [2] to turn the machine off if there's no traffic on ssh after 15 minutes.

This way I just ssh into my machine (whether via antigravity on my laptop or termius on my phone) and within 30 or so seconds its awake, no physical button presses needed. I documented the whole flow in more detail on my blog [3].

I'm now working on an improvement called machine on proxy (or mop) that will allow me to start Proxmox VMs instead of physical machines, so I can let gemini-cli run wild and if it decides to wipe the entire hard drive I can restore from a snapshot.

[1] https://github.com/simonamdev/ssh-wol-proxy

[2] https://github.com/mnul/debian-autoshutdown

[3] https://www.simonam.dev/ssh-wol-proxy/

show 1 reply
scottLobsteryesterday at 4:48 PM

Maybe I'm just lacking in creativity, but I don't see the appeal of developing anything with less than 2 monitors and a full-sized keyboard. Even for those who find the act of coding intrinsically entertaining, do you want to dance so badly that you'll do so even if you can only use one leg?

show 1 reply
zahlmanlast Tuesday at 8:36 PM

Historically I had thought there was a pendulum swing between using local computing resources vs. having a dumb terminal to access something remotely.

But now instead of swinging back to local resources, apparently we're proposing to add a second layer of remote access (phone -> computer -> Claude servers).

show 3 replies
chankstein38last Tuesday at 8:13 PM

If you're on Android and can download QPython, it works just fine and has for years. This seems way overcomplicated, it depends on a remote computer that's on 24/7? Ick.

show 2 replies
grep_nameyesterday at 3:00 PM

I already have a similar setup for developing on remote servers I've been using with tmux + goose-cli + claude via openrouter. I've found that anything claude 4.x and above becomes very expensive very quickly, with 3.7 being almost negligibly inexpensive. I'd find myself using $30 dollars of credits in a few hours of development on a small scope project. I might give the claude CLI a look specifically, but I don't expect great savings and I will miss my AI-provider-agnostic setup. Is everyone using this technology just programming as they go about their day and burning like fifty to a hundred bucks while doing so?

newsofthedayyesterday at 3:59 PM

I see the article is still on the front page, I'd ignored it yesterday so I took a quick read. I find, being older, trying to read the tiny fonts on a phone to be difficult after a few minutes, otherwise cool idea.

Or, I thought it was cool until this passage reminded me, "coded a prototype in my downtime" that down time is supposed to be down time.

show 1 reply
parliament32last Tuesday at 8:39 PM

> A Claude Pro subscription

"Doom Slopping" might be more fitting.

show 1 reply
elemdosyesterday at 12:04 AM

Being able to “code” from your phone really feels like a huge change; it never took before because coding from your phone was miserable, but if you’re just coding by having a conversation then it might even be better to do it from your phone. I don’t know what that leads to, but it’s let me fix bugs from bed and build an MVP while moving, so I can’t complain.

For anyone looking for a more integrated and smaller approach, I built an open source app builder + runtime: https://github.com/tinykit-studio/tinykit

Basically gives you a Lovable-like app builder with built-in services (database/files/auth/email/payments/etc), content and design fields, and a code editor. Code is a single Svelte 5 file, and you can build/host unlimited apps on one server. And the server is just node + PocketBase, so runs easy on a $2 VPS. And LLM is BYOKey.

show 2 replies
thenoblesunfishyesterday at 4:07 PM

Is being able to SSH into your home machine that easy these days? I never had a strong enough reason to spend more than a few minutes trying, but I always suspected that my ISP would make this harder for me than I would hope.

show 1 reply
cliffaustlast Tuesday at 8:04 PM

I remember when I started learning coding, and didn't have a computer. I literally used to use my phone to write code - terrible experience, but I was determined

show 6 replies
Aldipowerlast Tuesday at 8:00 PM

Coding on a phone really isn't something new. With tmux a lot of people created crazy things directly on their phone. In some countries this even is the only possibility to code at all, because there are no laptops.

The example use case images are very funny though! :-)

show 1 reply
twismlast Tuesday at 8:55 PM

I use a bespoke hacker software keyboard (ctrl/meta/custom keys for GNU screen and emacs) and also bespoke SSH client (fork of the original irssiconnectbot) for years.

My phone is the original Pixel Fold. You would think I use it unfolded but the passport form factor lends itself to be almost as productive folded that I use it that way most of the time. Unfolded it's just a bit better experience (bigger keys / more display real estate/ more characters per line/ etc).

With that said I'm looking forward to the Click Communicator: https://clicks.tech/communicator

I've also been meaning to write about my setup and open sourcing my tools.

Oh. Writing clojure helps due to the terseness of the language. Not sure it would be a pleasant experience writing something like Java with the 80 character line limit I try to impose on myself

999900000999last Tuesday at 11:46 PM

My flow is GitHub issues+ GitHub Copilot+ Web Deployments from GitHub actions.

I can just ask GitHub to fix something from the mobile app, and then set it to build on PR merge. It works most of the time, but you'd have to be absolutely wacky to do it in production or with any code you actually care about

shepherdjerredyesterday at 12:04 AM

I've been working on something similar: https://github.com/shepherdjerred/monorepo/tree/main/package...

Essentially you run a server on some machine. Sessions are created in Docker containers, K8s pods, or via Zellij (an app similar to tmux).

You can:

- Directly attach to sessions via Docker attach (built-in via a TUI). You get a normal Claude Code experience, but multiplexed. The switcher/UI shows you the status of Claude and the PR (pushed, merge conflicts, CI status, review status, etc.)

- Manage sessions via a web UI. Connect to Claude Code directly via your browser. You have access to the usual Claude Code terminal or a native chat view.

- Manage sessions via an app. You have access to a native chat view.

It achieves isolation via Git worktrees + a proxy so that containers have access to zero credentials (there aren't even any Claude code creds in the container), which allows you to more safely use bypass all permissions mode.

This works better for me that Claude Code on Web because I have control over the environment Claude is running in. I can give it any Docker image I want, I can have it connect to my local network, etc.

It's still a WIP (the core bits are there, but it's not polished yet), but I'm hoping it provides a friendlier UX with a similar goal for what the OP has in mind.

MORPHOICESyesterday at 11:16 AM

How do you avoid doom-coding while learning or experimenting? – Ask HN

Lately I have observed this algo in myself while learning something new. I constantly code for very short bursts sometimes on the phone or laptop at night, keep jumping between tools and end up consuming more than creating. It comes off as productive but seldom compounds.

A straightforward explanation that has provided me with a helpful point of thought is.

Make a mode selection.

Did conclusions actually occur?

Most doom-coding sessions are loaded with input, no closure.

There are 2 small changes that improved it for me.

Start sessions with a small, visible output goal (one function, one note, one commit).

Time-box input aggressively. I stop scrolling after 15-20 minutes of scrolling.

At the conclusion of every session, I would write what I would do next, even if I don’t do it. ~

Wanting to know how others do this.

Do you intentionally separate learning sessions and building sessions?

Do you have any heuristics to know when you have avoided input?

cons0lelast Tuesday at 8:23 PM

We need to take this idea further. Instead of "remote first", I'm waiting for the first company that will bodly declare "you can do all your work on your phone".

I'm tired of lugging my laptop around. Let me work from the beach with my phone and ar glasses.

show 2 replies
pankajhbk007yesterday at 10:53 AM

been using the same setup for the past 2-3 months now. My company gave the employees old mac pro (intel) for free to use for whatever purpose they want to. I was using AWS for most of my personal projects which I have now migrated to this mac. I use the app 'Amphetamine' to not let the mac sleep, and rest of the setups are the same with Tailscale + termius etc

Fun fact: once you get ssh access to mac, you can control almost anything running on it. Like I added my mac air under termius, and I could mute/unmute any videos playing on chrome using osascript from my iphone :)

artparyesterday at 8:30 AM

I did show hn just yesterday you don't need tailscale or any 3rd party server. Just use webrtc and it's just your mobile and laptop. end 2 end encrypted. no 3rd party dependency.

https://news.ycombinator.com/item?id=46514587

knivetsyesterday at 12:29 PM

I have been building a code from phone web app and doogfooding a lot - https://x.com/knivets/status/2003023386080092235?s=46

punnerudyesterday at 10:36 AM

Been using exactly this setup for a year now, works great. Have to be on the same WiFi to install from Xcode to iPhone. There is a “workaround” having it deploy to TestFlight, but it’s slow. Looking for a way to forward mDNS over VPN, to bad iPhone/Tailscale don’t support it. Only possibility I found is to have a separate mobile router that support forwarding mDNS.

show 1 reply
el_pa_byesterday at 11:18 AM

I'm using this setup as well, and I've been as far as writing a small Telegram bot to send input to Claude when it's stopped running via a Stop Hook

https://github.com/PABannier/claude-telegram-bot

lrvickyesterday at 12:06 PM

This makes me worry about the future where I will be unable to hire anyone that actually knows how to solve novel engineering problems via programming with a real keyboard on a real computer with their actual brains.

To be honest it is already starting to feel that way.

tobi_bsfyesterday at 9:55 AM

If you need this article to get the idea of using Claude Code from your phone, you won’t build anything substantial anyway.

show 2 replies
abinmnyesterday at 5:51 AM

I've been using a similar workflow for the past couple of months.Heavily inspired by Simon Willison’s approach of building micro tools, I’ve started building micro-utilities. I do this mostly while I'm commuting or outside or waiting for something at work.

Instead of just jotting down an idea in a notes app (and it sitting there for eternity), I’ll open up Jules, describe the tool, and have it scaffold the HTML. I have Cloudflare Pages hooked up to the repo—once Jules submits the PR, the preview branch builds automatically and I can verify the result on my phone immediately.

show 1 reply
skybrianlast Tuesday at 8:33 PM

I'm using exe.dev for something like this. Well, from a laptop, but others have done it from their phone.

I'd link to a blog post about my setup, but I'm still writing it. Here's someone else's blog post:

https://commaok.xyz/ai/just-in-time-software/

koveklast Tuesday at 11:45 PM

I recommend https://happy.engineering/ . It is very easy to set up. I can have an instance in a container which contains my repository and lots of packages/binaries necessary for the work. I can then use the different binaries to run commands in the container. I was able to easily do `ls -la` in the container and email that to myself, all done from my phone. You can also connect it to applescript and whatnot in order to send sms messages, or you can connect to whatsapp. I was able to make it extract the top 5 headlines on hacker news, get the top ideas being discussed in the comments for each submission, and send all of that into my Apple Reminders for me to read on my phone.

No VPN needed.

show 1 reply
ec109685yesterday at 3:46 AM

I use Prompt, Ever Terminal, Whisper, EC2 and Claude Code.

I can build anything with it. Having Claude on top of a terraform repo lets me fully control my infra. Claude is so good at AWS and terraform, and it even found a $3k monthly accidental spend I had running (also sent a refund request to hopefully get some credit back).

Also have a Claude driven CI workflow in GitHub to help keep everything on track.

Having full access to the Claude Code TUI is so much better than the web or iOS interface, plus everything runs on your own setup.

And agree it has replaced doom scrolling / useless new reading.

Havocyesterday at 12:51 PM

Chromebook maybe but I don’t see myself using a phone unless maybe it’s voice driven. Typing up lots on phones is a pain.

biinjoyesterday at 1:49 AM

I don’t get it. How is this different from using the Claude iOS (and I assume Android) native app and use their “Code” option. It fires up a Claude Code session in the cloud and you can vibe code anything while on the toilet.

show 2 replies
dminorlast Tuesday at 9:25 PM

If you have GitHub copilot you can create github issues and assign them to copilot. All you need is a browser.

vivzkestrelyesterday at 3:30 AM

"2. Make sure your computer is ON and UNLOCKED When disconnecting/reconnecting power, make sure you unlock the computer. I've ran into this issue one too many times."

- this is the biggest problem that needs to be solved

- i dont want to keep my computer running 24x7 wasting power for stuff like this

- why not make a robotic arm that you keep at the computer table which can use open cv to plug the computer on when required?

show 1 reply
mandslast Tuesday at 11:36 PM

I've seen this concept a few times recently and am interested.

However, what's the benefit over just using the "Claude Code for Web" feature built into the Claude Code mobile app?

It clones your repo into a VM which has a bunch of dev tools installed, you can install additional packages, set env vars, and then prompt it remotely. The sessions can be continued from the web and desktop apps, and it can even be "teleported" into the terminal app when back at a laptop/desktop.

Would be great to understand what the differences / advantages of OP approach are.

show 3 replies
hmokiguesslast Tuesday at 10:01 PM

I really want to use and like this, but I feel like I need a different UX / UI for my phone. I think adoption of this development workflow at large is going to be a design challenge more than a setup/devops one.

show 1 reply
Teknomadixyesterday at 4:50 AM

This is cute.

My personal world changed when I discovered Nix On Droid and cloned my personal Claude Code flake which uses pnpm to keep a rolling bleeding edge version with revision controlled dots. I started using Nvim /avante and open router shortly after that, also via Nix on Droid. Game changer for those long subway rides.

voidUpdateyesterday at 8:31 AM

What does Claude add to this? I've done coding on my phone before by sshing into my home server and just... writing code. Is there a benefit to writing code through a third party instead?

show 2 replies
mattfrommarsyesterday at 6:04 AM

A random thought has started to occur, maybe given how early we are in LLM tech world, isn’t it strange a lot of AI tech is being built on top of proprietary tech? In this case, it’s Claude Code

And honestly, all this free marketing has me convinced to pay for it

show 1 reply
treavorpasanyesterday at 4:06 AM

Why do you ever want to code while you are running? I run to getaway from daily grind to smell the fresh air.

leetroutlast Tuesday at 7:51 PM

Just because you can doesn't mean you should. But congrats on launching!

rcarmoyesterday at 7:36 AM

I have been doing this with toad and opencode and it is great for those unprompted ideas that pop up while in the big blue room, but not really useful for large projects.

show 1 reply
zuhayeeryesterday at 3:19 AM

This is awesome! But I don't think you need to say never to all those display settings. You just need to go to Battery -> Options, and "Prevent automatic sleeping on power adapter when the display is off", and wake for network access when on power adapter.

mintflowyesterday at 4:48 AM

Tailscale is quite handy in remote agent coding, Sometimes I use tailscale and RustDesk on my phone to check Claude code, I also built an app called NovaAccess which bake tailscale into the app which does not confict of VPN I used.

scottbez1last Tuesday at 7:51 PM

It’s a simple idea but one that hadn’t occurred to me yet.

I spend hours each week riding transit, and use Claude for a bunch of side projects and have Tailscale set up already, so looks like I’ll be giving this a try this week!

Doom coding might be doomed while I’m in the transbay tube though, with awful cell service…

How’s the diff review? I rely heavily on the vs code integration for nice side by side diffs, so losing that might be a problem unless there’s some way to launch the diffs into a separate diff viewer app on the phone.

show 4 replies
jfromalast Tuesday at 8:09 PM

I do the same but my unifi network gives me a vpn out of the box.

foobarquxlast Tuesday at 8:45 PM

Number 1 on the front page of Hacker News for explaining how to connect to a remote machine via ssh.

show 2 replies
andsmi2yesterday at 4:31 AM

Cursor--run in cloud seems to work just fine for this. I setup my project and then github to publish web or mobile app.... i believe claude can also take instructions from github...or am i missing something.

katorlast Tuesday at 11:34 PM

I use Terminus with Zellij and keep about 8 sessions going with a combination of Claude and Codex, and once in a while, Gemini. It's great when you're sitting in a docotor's office lobby bored out of your skull and when you get back to your desk you just join the session and it's all right there.

🔗 View 50 more comments