- Guia open source que explica passo a passo como programar a qualquer hora e em qualquer lugar usando apenas um smartphone
- Tailscale, Termius e Claude Code permitem acessar um computador remoto e executar código diretamente no terminal
- O computador deve permanecer conectado à internet 24 horas por dia, e no smartphone é preciso configurar um cliente VPN e SSH
- Inclui dicas para aumentar a eficiência do desenvolvimento mobile, como pré-visualização de sites, acesso a banco de dados e gerenciamento do registro de sessões
- Uma abordagem prática que permite manter o ambiente de desenvolvimento mesmo em deslocamento, ampliando a produtividade e a liberdade dos desenvolvedores
Visão geral do Doom Coding
- Doom Coding é uma forma de programar no terminal usando o smartphone, proposta como uma atividade produtiva no lugar do doom scrolling (rolagem sem propósito)
- É possível programar de qualquer lugar, desde que haja conexão com a internet
- O autor menciona a experiência de desenvolver um protótipo em Taiwan acessando um computador na Filadélfia
- Este guia é composto por instruções passo a passo que podem ser configuradas em 5 minutos
- Está prevista uma atualização comparativa sobre ferramentas modernas de programação mobile (ex.: Claude Code on the Web)
O que você precisa
- Um computador com conexão à internet funcionando 24 horas por dia
- Um smartphone
- Uma assinatura Claude Pro
Visão geral da configuração
- Criação de um ambiente de desenvolvimento remoto com Tailscale, Termius e Claude Code
- Acesso direto ao terminal do computador pelo smartphone via VPN e SSH
Etapa 1: configurar o computador
- Desative o modo de suspensão para manter o computador sempre ligado
- É necessário ativar SSH/login remoto
- Instale o Tailscale e faça login
- Instale o Claude Code
Etapa 2: configurar o smartphone
- Instale o app Tailscale e faça login com a mesma conta
- Instale o Termius (cliente SSH mobile)
- Confira o endereço MagicDNS (ex.: my-computer.tailnet-name.ts.net)
- Crie um novo host no Termius
- Label: nome da conexão
- Hostname: endereço MagicDNS
- Port: 22
- Username/Password: credenciais de login do computador
Etapa 3: conectar e programar
- Ative a VPN do Tailscale no smartphone
- No Termius, selecione o host e conecte-se
- No terminal, execute o comando
claude e comece a programar
Solução de problemas (Troubleshooting)
- O que fazer se a conexão falhar
- Verifique se a VPN do Tailscale está ativada
- No app do Tailscale, confira se há um círculo verde ao lado do dispositivo (se não houver, há problema de rede)
- Confira se o computador está ligado e desbloqueado
- Ao reconectar a energia, é necessário desbloqueá-lo novamente
Boas práticas (Best Practices)
- Registrar o progresso
- Ao encerrar a sessão, peça ao Claude para atualizar o
CLAUDE.md
- Pré-visualização de sites
- Visualizar banco de dados
- Favoritar sites úteis
- Salve no app do Chrome sites de desenvolvimento usados com frequência, como Google OAuth e GitHub, para acessá-los rapidamente
Encerramento
- Doom Coding é uma forma prática de programação remota que permite continuar desenvolvendo mesmo em movimento
- Os usuários são incentivados a compartilhar suas melhores práticas e casos de uso
- O projeto é encerrado com a saudação “Happy Doom Coding!”
6 comentários
Ah, por favor, não deixem a empresa ver este texto.
kkkkkkkkkkkkkkkkkkkk
Não era esse doom
Isso é realmente DOOM.
kkk, acho que foi a primeira vez que me diverti com um README
Comentários no Hacker News
Eu não queria deixar um computador ligado 24 horas por dia, então criei uma forma de resolver ao mesmo tempo economia de energia e inicialização automática
O ssh-wol-proxy que eu fiz envia um pacote WOL para a máquina de destino quando há uma conexão SSH e mantém a conexão até ela inicializar
Depois configurei o debian-autoshutdown para desligar automaticamente após 15 minutos sem tráfego SSH
Assim, basta conectar por SSH do laptop ou do celular que o servidor acorda em menos de 30 segundos. Não é preciso apertar nenhum botão físico
Descrevi o processo em detalhes no meu blog e agora estou desenvolvendo uma versão “machine on proxy (mop)” para ligar remotamente uma VM do Proxmox
Eu programo em movimento usando terminal no Android e Claude Code
Quando estou com a família, consigo desenvolver enquanto cozinho ou limpo a casa conversando com o Claude
Com um prompt de cerca de 500 palavras, o Claude escaneou portas da rede com nmap, fez fuzzing com cURL, encontrou as APIs da bridge Hue e de uma TV Samsung antiga, e criou um script de controle de luzes e um controle remoto em HTML+JS
O momento mais interessante foi quando o Claude me instruiu a apertar o botão da bridge Hue para obter uma chave de API
No fim, acabei entendendo a estrutura de autenticação da Hue, o modo Entertainment e até a comunicação baseada em websocket do SmartThings. Foi surpreendente aprender tudo isso com apenas 500 palavras
Se ele consegue editar arquivos e executar utilitários com poucos erros a ponto de ser realmente produtivo, e se só o Claude oferece esse tipo de recurso
Já vi vários textos sobre programar pelo celular usando VPN, mas fiquei pensando se não seria melhor usar o Claude Code por uma interface de e-mail
Você pediria tarefas ao Claude por e-mail, e quando ele precisasse de mais informações responderia por e-mail também, para que você desse novas instruções
Talvez ele até pudesse enviar screenshots com o resultado da execução dos programas. Parece mais simples do que VPN, então fico curioso sobre quais seriam as desvantagens
Sinceramente, programar pelo celular é interessante, mas eu não gostaria de fazer isso na prática. Para desenvolvimento sério, no fim das contas, um laptop oferece uma experiência muito melhor
O autor usa o app SSH Termius e Mosh para manter a sessão, e tmux para continuar o trabalho
Eu faço algo parecido, mas em vez do Mac de casa uso uma VPS da Linode de US$ 5. Pelo que parece, foi o Pieter Levels (@levelsio) quem popularizou isso primeiro
Antes eu achava que havia um fluxo entre computação local e terminal remoto, mas agora parece que estamos indo para uma estrutura duplamente remota (celular → computador → servidor do Claude)
Mesmo como pesquisador, programação com IA ainda é uma área que não me parece natural. No celular, pelo menos, isso talvez faça mais sentido porque digitar é desconfortável
No Android, dá para programar tranquilamente com QPython. Não parece necessário depender de um computador remoto ligado 24 horas por dia
Poder programar no celular como se estivesse conversando parece uma grande mudança
Antes, programar no celular era sofrido, mas em um formato conversacional talvez seja até melhor
Agora dá para corrigir bugs na cama ou criar um MVP no caminho
Se você quiser uma abordagem menor e mais integrada, recomendo o app builder open source que eu fiz, o tinykit
Assim como builders como Lovable, ele tem serviços embutidos de banco de dados, arquivos, autenticação e pagamentos, e permite criar um app com um único arquivo Svelte 5. É baseado em Node + PocketBase, então roda tranquilamente até em uma VPS de US$ 2
Eu uso toad e opencode para transformar ideias espontâneas em algo concreto na hora. É ótimo para registrar pensamentos que surgem do nada, mas tem limites em projetos grandes
Já faz anos que uso um teclado hacker customizado (com teclas ctrl/meta para GNU screen e emacs) e um cliente SSH que eu mesmo adaptei
Consigo ter quase a mesma produtividade com o Pixel Fold fechado, e quando abro ele fica ainda mais confortável por causa da tela maior e das teclas maiores
Estou ansioso pelo lançamento do Click Communicator
Pretendo escrever sobre meu setup e publicá-lo como open source
Com uma linguagem concisa como Clojure, usar o celular é viável, mas sintaxes longas como a de Java ficam difíceis por causa do limite de 80 caracteres
Surgiu a piada de que, em vez de “assinatura Claude Pro”, o nome mais apropriado seria ‘Doom Slopping’
Programar no celular não é novidade. Antigamente também havia muita gente desenvolvendo diretamente com tmux
Em algumas regiões, as pessoas nem têm laptop, então o celular é o único meio de desenvolvimento
Mas as imagens de exemplo deste texto estavam bem engraçadas