llm/9ad11e16-7acb-4923-bb7e-5d14cd36cf3f/batch-0-ba26954e-1f1e-43d5-a0b7-67d17bd06c5a-input.json
The following is content for you to classify. Do not respond to the comments—classify them.
<topics>
1. Novelty vs. Rebranding Old Tech
Related: Commenters frequently note that SSHing into a remote machine is a standard practice that has existed for decades, comparing the article's framing to the infamous 'Dropbox comment' on Hacker News. Users express confusion over why a basic remote administration workflow is being presented as a new concept called 'Doom Coding,' while others argue that the integration of LLM agents like Claude Code provides a fresh layer of utility to the established setup.
2. Mobile Ergonomics and Friction
Related: A major theme is the physical difficulty of coding on a smartphone. Commenters discuss the pain of typing on touchscreens, the inability to view side-by-side diffs effectively on small screens, and the general clumsiness of managing terminal windows without a physical keyboard. Many users argue that while the setup is technically possible, the lack of screen real estate and input precision makes it impractical for serious engineering work.
3. Chat-Based and Async Interfaces
Related: To bypass the limitations of mobile terminal UIs, users suggest and share workflows that use chat interfaces like Telegram, Email, or WhatsApp to interact with coding agents. These setups allow users to send prompts and approve pull requests via natural language messages or buttons, treating the coding process as an asynchronous conversation rather than a real-time terminal session, which resolves many formatting and typing issues.
4. Session Persistence with Tmux
Related: Technical advice heavily features `tmux` (terminal multiplexer) as an essential tool for this workflow. Commenters explain that standard SSH connections drop when a mobile device sleeps or switches networks, whereas `tmux` allows the session to persist on the host machine. This enables users to seamlessly resume their work exactly where they left off, regardless of connectivity interruptions or app switching.
5. Alternative Mobile Environments
Related: Users discuss various apps and environments that serve as alternatives to the article's Termius setup. Android users advocate for Termux, which provides a local Linux environment without needing a remote host, while iOS users recommend Blink Shell or Shellfish for better Mosh and SSH integration. Some also mention using native Pixel terminal features or running local LLMs directly on the device to avoid latency and dependency on internet access.
6. Mental Health and Downtime
Related: The concept of 'Doom Coding' sparks a philosophical debate about work-life balance. Commenters question the healthiness of filling every moment of downtime with productivity, suggesting that time spent waiting or commuting might be better used for rest, observation, or 'micro-exercises.' There is criticism of the compulsion to code constantly, with some arguing that being present in social situations or relaxing is more valuable than 'vibe coding' on a phone.
7. Reliability and Network Latency
Related: The discussion highlights the technical challenges of mobile connectivity, specifically latency and dropped connections. Tools like Mosh (Mobile Shell) are frequently recommended over standard SSH because they are designed to handle intermittent networks and roaming between Wi-Fi and cellular data without killing the session. Tailscale is praised for simplifying the networking layer, though some prefer Wireguard for a lighter-weight alternative.
8. Wake-on-LAN and Power Usage
Related: Critiques of the requirement to leave a computer running 24/7 lead to discussions on energy efficiency and remote wake capabilities. Users share solutions using Wake-on-LAN (WOL) via routers or Raspberry Pis to turn on powerful machines only when needed. Others mention macOS settings like `caffeinate` or specific power configurations to ensure the host machine remains accessible without wasting electricity around the clock.
9. Verification and Code Review
Related: A critical point raised is the danger of 'fire-and-forget' coding with LLMs on mobile. Users note that verifying the code generated by AI is difficult on a phone due to limited visibility and syntax highlighting. The conversation touches on the risks of deploying code or merging pull requests without the ability to properly audit the logic or run tests, suggesting that mobile workflows are better suited for prototyping than production engineering.
10. Security Risks of Remote Access
Related: Several commenters express concern over the security implications of the proposed setup. Issues include leaving a computer unlocked at home, opening SSH ports (even via VPN), and the potential for bad actors to gain access to a local network. Discussions involve best practices such as using key-based authentication, locking the keychain via command line, and the general risks of exposing a development machine to remote connections.
11. Vibe Coding vs. Engineering
Related: There is a distinction drawn between 'vibe coding'—prompting an LLM to generate scripts or apps—and traditional software engineering. Some users view this workflow as 'slop' or merely prompting, lacking the depth of actual problem-solving, while others find it empowering for quick prototypes or hobby projects. This theme reflects broader tensions regarding the changing nature of software development in the age of generative AI.
12. Web-Based and Cloud Alternatives
Related: Users suggest that browser-based solutions like GitHub Codespaces, Replit, or self-hosted web IDEs (like `opencode`) offer a superior experience to terminal tunneling. These tools often provide better UI elements for mobile browsers and abstract away the need to manage hardware or VPNs, allowing users to code via a web interface that handles state management and environments automatically.
13. Social Acceptability
Related: The humorous notion of 'coding at the club' mentioned in the article draws specific reactions. Commenters joke about or criticize the anti-social nature of pulling out a phone to code in social settings like parties or bars. This overlaps with the 'doom scrolling' comparison, with some users suggesting that using a phone for work in social spaces is just as rude or 'gross' as using it for social media.
14. Hardware Workarounds
Related: To mitigate the interface limitations of smartphones, users discuss hardware additions such as folding phones, external Bluetooth keyboards, and 'thin client' setups using old laptops or tablets. Some mention specific devices like the 'Clicks' keyboard case or using AR glasses, highlighting that while the phone provides the compute or connection, better peripherals are often needed for actual productivity.
15. Agentic Workflows and Automation
Related: Discussions extend beyond simple coding to fully automated agentic workflows. Users describe setups where agents running on home servers are triggered via mobile to perform tasks, run scans, or manage infrastructure autonomously. This shifts the mobile interaction from writing code to orchestrating agents that perform the heavy lifting, reporting back status via push notifications or chat messages.
16. Subscription Fatigue vs. Open Source
Related: Comments reflect a wariness of paid subscriptions for tools like Claude Pro, Tailscale, or premium terminal apps. Users advocate for open-source alternatives such as Ollama for local LLMs, Wireguard for VPNs, and various free terminal emulators. There is a sentiment that basic remote coding shouldn't require a stack of monthly fees when free tools can achieve similar results with slightly more configuration.
17. Educational Value of LLMs
Related: Some users highlight the learning aspect of this workflow, noting that interacting with Claude Code allows them to understand new concepts (like API behaviors or network scanning) through the generative act. This counters the 'slop' narrative, suggesting that 'doom coding' can be a valid educational tool for hobbyists or those looking to understand how their devices and networks function.
18. Thin Client Philosophy
Related: The thread revisits the concept of thin clients, where the mobile device acts merely as a window into a powerful remote machine. Users compare this to historical mainframe/terminal workflows, arguing that the phone doesn't need to be powerful if it just renders text from a desktop. This philosophy underpins the preference for SSH/Mosh over running heavy local IDEs on the phone.
19. Code Quality and Maintenance
Related: Skepticism arises regarding the quality of code produced during short mobile bursts. Commenters worry about creating 'spaghetti code' or unmaintainable projects when working in fragmented sessions on a phone. However, others argue that for small utilities, prototypes, or personal tools, the quality is sufficient, and the ability to iterate quickly from anywhere outweighs the lack of rigorous structure.
20. Gatekeeping vs. Encouragement
Related: The comment section illustrates a divide between experienced users who gatekeep the term 'coding' or mock the setup, and those who encourage the experimentation. While some dismiss the article as trivial, others defend the author's enthusiasm, noting that lowering the barrier to entry and finding new ways to engage with technology is positive, even if the underlying methods are not strictly new.
0. Does not fit well in any category
</topics>
<comments_to_classify>
[
{
"id": "46519851",
"text": "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.\n\nOver the recent break, across four or five sessions, I wrote a set of prompts around ~500 words in total.\n\nThe 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.\n\nThe 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.\n\nThe 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.\n\nAround 500 words to gain all this? I hate to buy into the hype, but it feels inflectional."
}
,
{
"id": "46523810",
"text": "I read the Readme. So this is all just stuff you can do with Claude's cli interface? It edits files and runs utilities? And it does this with few enough errors that you can be productive by just chatting with it over ssh? Is Claude the only one that can do this?"
}
,
{
"id": "46524400",
"text": "Possibly Codex, but I've only used Claude Code so far.\n\nWorth pointing out I'm not SSHing to a different device. Claude Code installed and running directly in Android terminal on my phone.\n\nI've built ASP.NET Core APIs on-device this way. Install dotnet in the terminal and Claude can write code, build, run unit tests, and even run the API on localhost. Then use `git` and `gh` to commit, push and raise a PR."
}
,
{
"id": "46524033",
"text": "Probably Claude Code and Codex are the currently best ones, Claude Code a bit faster, Codex a lot more precise and \"engineering\" focused.\n\nAs long as you figure out how to verify that the built thing actually does what it's supposed to, ideally with automated tests, it's almost fire-and-forget if you're good at explaining what you want and need."
}
,
{
"id": "46524970",
"text": "How did you make sure Claude wasn't doing anything unintended while allowing it to run scripts it wrote on your network?"
}
,
{
"id": "46525507",
"text": "I still manually approve tool use requests at the start of a run. As it gets deeper in I might allow it to run safer commands without that oversight (e.g. writing to local text files), but potentially destructive execution still requires approval.\n\nAs for the local env, I'm treating the Android terminal as a sandbox. Anything gets trashed I just reset and reinstall my toolchain.\n\nI won't pretend I'd use this workflow for anything high-stakes. But for simple things like \"I wonder how my Hue lights actually work?\", its viable."
}
,
{
"id": "46525025",
"text": "Run it inside a VM, make snapshots of the VM if needed (or use vagrant/ansible to rebuild), commit regularly, ..."
}
,
{
"id": "46525275",
"text": "That seems incompatible with the parallel tasks of cleaning and cooking (at least for me, especially with kids around)."
}
,
{
"id": "46525786",
"text": "The VM is setup once, before you get to be \"on the go\": that's your development environment, you need one anyway"
}
,
{
"id": "46525514",
"text": "The VM still needs access to the network for the use cases they described though."
}
,
{
"id": "46527515",
"text": "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.\n\nSo, 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.\n\nIt's not a bad idea in full, but \"death coding\" is a ridiculous notion."
}
,
{
"id": "46528221",
"text": "There is an infamous \"Dropbox comment\" on HN that reads the same way as this comment. No idea is new, and novelty is almost never the point. I had seen people do similar things in the past but never approached it myself. Here is someone that has done the thinking for me and put it out there for free. I appreciate that."
}
,
{
"id": "46529780",
"text": "the comment, for the interested: https://news.ycombinator.com/item?id=9224"
}
,
{
"id": "46528986",
"text": "Yeah, but the OP is more like the \"all you have to do is rsync and cron job\". It's an article about the relatively complex step by step process that people do to implement a functionality. It may be the inspiration for an analogous dropbox, but definitely not the dropbox article or post. A product that you could grab from the app store that does all of this out of the box would be the analogue to dropbox.\n\nThat said, this would be interesting to someone who didn't know these tools could be stitched together in this way. I think that's a big part of why it's on the home page."
}
,
{
"id": "46532247",
"text": "Y'all I'm as shocked as you are it's on the home page!\n\nI'm new to hacking (come from an electrical/nuclear engineering background but never did much with software). For reference, just learned what postgres was 2 months ago.\n\nTook a lot of tinkering to figure out but that's more a skill rather than complexity issue. Working from a laptop is certainly better, but was able to get good amount done (like building v1 of a backend and setting up a cloudflare tunnel for a PC) on a long bus ride where I would've gotten side eyes for using a laptop.\n\nI'm no doctor but I'll bet \"Doom Coding\" is still not healthy but it's better than doom scrolling on X.\n\nThank you for the comments! I've been learning from these threads (Like tmux or dropbox article lore)"
}
,
{
"id": "46527636",
"text": "I’m equally surprised to see these posts pop up everywhere on X, GitHub and now also HN. Am I that old that SSHing into a server through a VPN is such a novel concept nowadays?"
}
,
{
"id": "46528042",
"text": "I think the commonly used platforms, ISPs, etc. make this just annoying enough that most people really don't know how easy this should be."
}
,
{
"id": "46532891",
"text": "Why would it have to be novel? We now have a full interesting discussion about vibe coding on phones thanks to this GitHub writehub that we wouldn't have had otherwise.\n\nI haven't set up a vibe coding phone environment, nothing has stopped me at all as I agree it is really simple/\"basic\", but this post made me actually go do it."
}
,
{
"id": "46518131",
"text": "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?\n\n- Email Claude to start the coding\n\n- Claude emails you with any thing it needs acked on.\n\n- you reply back to emails telling it what to do.\n\n- maybe Claude can run your program and send back screen shots.\n\nseems easier then getting a vpn working. What is the downside to using email?"
}
,
{
"id": "46527041",
"text": "Claude Code recommended a Telegram bot over email for this very workflow. I've configured my basement RPi to use my \"spare tokens\" during off hours. At 5PM it messages me to ask if I want the agent to work this evening. If there's no task in the queue I can add one then using the bot. There's also a set of commands to check on status etc. I'm working on the next step to make it a more automated and if there's no specific task, it will create it's own."
}
,
{
"id": "46519037",
"text": "> Would an email interface to Claude code work better?\n\nNo.\n\n> What is the downside to using email?\n\nEmail is clunky and feedback is not immediate.\n\n> seems easier then getting a vpn working.\n\nTailscale is easy for a dev to get going and very reliable. The author uses the Termius SSH app with Mosh, so it keeps the same SSH session going across device sleeps and disconnects. Tmux is helpful, too.\n\nI do exactly what the author is doing, except I use a $5 Linode VPS, instead of a Mac at home.\n\nHe doesn't seem to be credited on this page, but I believe Pieter Levels (@levelsio) actually popularized this scheme. The author documents a nearly identical scheme."
}
,
{
"id": "46520454",
"text": "I'm fairly sure that levelsio didn't popularize SSHing into a computer from your phone to run a program. We were all doing it before LLMs."
}
,
{
"id": "46520682",
"text": "I agree, I'm failing to see what's novel here... Running an ssh client from a phone has been a thing forever"
}
,
{
"id": "46521591",
"text": "The LLM crowd kind of likes hype."
}
,
{
"id": "46521046",
"text": "RDP clients as well."
}
,
{
"id": "46522690",
"text": "I did this on my Nokia phone over GPRS in 2005, my program of choice was irssi. We did have a Markov chain bot though."
}
,
{
"id": "46524525",
"text": "This!"
}
,
{
"id": "46521252",
"text": "By “this scheme” I meant combining these several technologies for vibe coding on an iPhone with Claude Code. It’s been a bit of a viral meme on X this week."
}
,
{
"id": "46524323",
"text": "I started doing this before it was viral - it's basically obvious and I'm sure many people simultaneously did it since it was so obvious and easy to do - I even have the same tech combination."
}
,
{
"id": "46520776",
"text": "New ideas build on existing ideas. He said SSH into a computer to run Claude Code on that computer ."
}
,
{
"id": "46520918",
"text": "Yeah, I've never read anything levelsio wrote and I sshed into my computer to run Claude Code five minutes after I installed Claude Code and had to leave the house for a bit.\n\nIt's not such a crazy idea."
}
,
{
"id": "46521736",
"text": "No, somebody famous had to influence you for it to exist. The real progenitors are always other people."
}
,
{
"id": "46521215",
"text": "The whole point to SSH into a computer is to run the programs on it."
}
,
{
"id": "46521603",
"text": "But is Claude Code"
}
,
{
"id": "46524327",
"text": "Yes. I and many others were already doing this obvious thing."
}
,
{
"id": "46524999",
"text": "I think he was being facetious ;)"
}
,
{
"id": "46521874",
"text": ">Email is clunky and feedback is not immediate.\n\nYou're vibe coding on a smartphone into an external computer. You already abandoned \"Immediate feedback\" and \"cohesion\"."
}
,
{
"id": "46523962",
"text": "People have all kinds of bad experiences with tech. The kids write off any thing they didn't invent or adopt as inadequate.\n\nIt usually comes from the bad experience or poor exposure.\n\nIts hard to hate on them when it comes from a position of limited exposure."
}
,
{
"id": "46524283",
"text": "Yeah, any outright dismissal of a perfectly reasonable idea like this smells of market opportunity."
}
,
{
"id": "46519402",
"text": "While I don't use the AI part I have a very similar scheme and it is one of the reasons I encourage people to live in the terminal.\n\nThe idea is to create a modern \"terminal\"[0]\n\nMy main computer is a Macbook Air, which I carry around with me. It's purpose is for: internet, using Microsoft products when I'm forced to, Zoom/meetings, and SSH (or Mosh).\n\nMost of my work is not done on this Macbook, instead I use it mostly as a terminal. I have a desktop that's sitting behind my TV so that it can be my TV and gaming system (yeah I know Monitor > TV. I'm a filthy casual and I don't care). I have a mouse connected to that computer and instead of using a keyboard I use ydotool (Wayland xdotool) with a shortcut on my iPhone or a script on my android phone or from my Macbook. I don't have to get up from the couch and I don't need a clunky wireless keyboard to clutter my livingroom.\n\nAdditionally I have a few pis and an old android phone with Tailscale installed on them. That's come in handy before as a machine's been disconnected and so I couldn't ssh from outside. Also makes it really easy to do a jump if you want to keep a machine off Tailscale or you don't have full control (like my 3D printer).\n\nThis setup is very natural feeling if you live in the terminal. I actually started doing this when I started doing HPC work. In a setting like that you're never sitting in front of the computer you're doing most of your work on so it kinda clicked \"why was I restricting myself outside work?\" Plus there's the side benefits of I always have access to my media, tools, and other stuff. You can do exactly the same thing with a phone but I like having a keyboard and the air is very lightweight and has a long battery life. Any netbook would have done the job tbh.\n\n[0] There's a reason they're called \"terminal emulator s\" rather than just \"terminals\"."
}
,
{
"id": "46522188",
"text": "Yeah thin clients [0] make a lot of sense with this kind of workflow. If you only really need text, living in the terminal and browser, it might make sense to use eink for eye comfiness and outdoor readability, something like this hack: https://maxogden.com/kindleberry-wireless . Or one of those eink android tablets.\n\n[0] https://en.wikipedia.org/wiki/Thin_client"
}
,
{
"id": "46522975",
"text": "Has the refresh rate on eink devices reached like 30-60fps?\n\nIt definitely looks cool and I might give it a try, but I do love my dark mode and color syntax. My understanding is that color on eink is pretty limited. It also isn't worth it to me if I'm going to be spending $500+ on a \"monitor\". But I'd definitely love if things moved in that direction.\n\nHonestly if Apple wasn't so insistent on making the iPad not a general purpose computer I'd use that as my thin client."
}
,
{
"id": "46530286",
"text": "They are still not great for high refresh rate, but I have a boox note air4C that can do fast-enough for video. It gets some ghosting (although it should be minimal for typing as you are fully changing from white to $color, backspaces might be a problem though). You will need a full refresh when scrolling but that is fast enough."
}
,
{
"id": "46526676",
"text": "> ... I encourage people to live in the terminal.\n\nI've done this for decades. screen or tmux (although I still confuse the keybindings between the two).\n\nWhen coding on the move (mostly when I had a long commute or was away from the office visit clients) I'd use the Linux console (Ctrl+Alt+F1-F6) rather than X.\n\nEven in the office I had an old amber/green terminal that connected to my Linux desktop via a serial port.\n\nNowadays I have a 14\" USB-C monitor (ASUS Zenscreen) that sits beneath my main monitors which runs a terminal full screen."
}
,
{
"id": "46524160",
"text": "Similar, except I use a 10 year old surface pro 3. But I have to have a mechanical keyboard, so it's not exactly portable, but I can work from anywhere\n\nI have no interest in LLM, or vibe code. Even though I miss the capabilities of intellij, nvim can fill the roll in the terminal very nicely, except rust analyzer filling up storage fast,\n\nI also have a spare mobile, which I use to wake the computer up. And I have a python script running on it, to shutdown the computer in case of power failure.\n\nAfter initial hiccups it working pretty well, except cats turning off the router, well how many can use the excuse that I couldn't finish the work because cat controls your network. LoL"
}
,
{
"id": "46523711",
"text": "How do you type? I get the ydotool usage but do you have a shortcut for each key then on your phone?"
}
,
{
"id": "46520451",
"text": "Things are trending this way. I call it the PC counter-revolution."
}
,
{
"id": "46519610",
"text": "If you've got a Mac in the mix, you should be aware that it can use an Apple TV as a monitor, so you can have a wireless extended desktop to anything that takes HDMI."
}
,
{
"id": "46519805",
"text": "Are there any benefits besides a nice GUI? I'm fairly comfortable with my linux desktop as an interface. TBH the most frustrating part is the iPhone shortcut app I made which I strongly believe is less about me and more than Apple is actively trying to be annoying (I recently had an update that required a minor change because the dictionaries in Shortcuts is idiotic)\n\nAlso, I heard that you can install Tailscale on it[0], so that can act as a gateway which is nice.\n\n[0] https://tailscale.com/kb/1280/appletv"
}
,
{
"id": "46521940",
"text": "It's something to be aware of if you already have the mac. It's nice to be able to have people over and they can share what's on their laptop with everybody without everybody having to huddle around one machine."
}
]
</comments_to_classify>
Based on the comments above, assign each to up to 3 relevant topics.
Return ONLY a JSON array with this exact structure (no other text):
[
{
"id": "comment_id_1",
"topics": [
1,
3,
5
]
}
,
{
"id": "comment_id_2",
"topics": [
2
]
}
,
{
"id": "comment_id_3",
"topics": [
0
]
}
,
...
]
Rules:
- Each comment can have 0 to 3 topics
- Use 1-based topic indices for matches
- Use index 0 if the comment does not fit well in any category
- Only assign topics that are genuinely relevant to the comment
Remember: Output ONLY the JSON array, no other text.
50