Phone Development Deck

Phone Development Deck is a distributed personal platform built across three heterogeneous nodes: an Arch Linux PC (orchestration), an Android phone running LineageOS with rooted Termux (edge), and a Kubernetes cluster on a Contabo VPS (compute). Each node has a dedicated role — but a single Go CLI ties them together. Phone Development Deck é uma plataforma distribuída pessoal construída em três nós heterogêneos: um PC Arch Linux (orquestração), um phone Android rodando LineageOS com Termux rootado (edge) e um cluster Kubernetes em VPS Contabo (compute). Cada nó tem um papel dedicado — mas um único CLI Go os conecta.

┌─────────────────────────────────────────────────────┐
│                  Arch Linux PC                      │
│  deck CLI (Go) · Claude agents · Obsidian vault     │
└──────────────┬──────────────────────┬───────────────┘
               │ SSH                  │ SSH + kubectl
               ▼                      ▼
┌──────────────────────┐  ┌───────────────────────────┐
│  Android / Termux    │  │  Contabo VPS              │
│  LineageOS + root    │  │  k3s · cert-manager       │
│                      │  │  Cloudflare · Uptime Kuma │
│  Field Console       │  │  systemd backups · UFW    │
│  Amphora Zero        │  └───────────────────────────┘
│  Agent Code Buddy    │
└──────────────────────┘

The phone is a sensor and approval surface. The PC orchestrates. The cluster runs workloads. Three native Android Java apps (no Gradle, custom build pipeline) cover operations, security lab, and AI agent oversight. All source on GitHub. O phone é sensor e superfície de aprovação. O PC orquestra. O cluster roda workloads. Três apps Android nativos em Java (sem Gradle, build pipeline próprio) cobrem operações, lab de segurança e supervisão de agentes de IA. Todo código no GitHub.

deck CLI

Go · orchestration Go · orquestração

The central nerve of the platform. Written in Go with zero external dependencies. Queries the phone over SSH (battery, Wi-Fi, root status), proxies kubectl to k3s, and appends captures directly to the Obsidian vault daily notes in Amphora format. O nervo central da plataforma. Escrito em Go com zero dependências externas. Consulta o phone via SSH (bateria, Wi-Fi, status root), proxy kubectl para k3s, e adiciona capturas diretamente nas daily notes do vault Obsidian no formato Amphora.

deck status Aggregate view: phone + k3s node + pods Visão agregada: phone + nó k3s + pods
deck capture "text" Append capture to today's daily note Adiciona captura na daily note de hoje
deck phone notify "msg" Push notification to Field Console Notificação para o Field Console
deck phone push-contabo Send k3s status to phone Envia status do k3s para o phone
deck contabo pods List all pods via remote kubectl Lista pods via kubectl remoto
deck contabo backup Trigger k3s state backup Dispara backup do estado k3s

Phone Field Console

Python · Java (Android) Python · Java (Android)

Operational dashboard running on the phone. Python server runs in Termux, exposing a REST API and serving a PWA. Native Android Java launcher receives events via BroadcastReceiver from the deck CLI and displays them in a real-time feed. Dashboard de operações rodando no phone. Servidor Python no Termux expõe REST API e serve uma PWA. Launcher Android nativo em Java recebe eventos via BroadcastReceiver do deck CLI e exibe em feed em tempo real.

Amphora Zero

Java (Android) · standalone project Java (Android) · projeto standalone

Firmware-style security lab console for Android/Termux. Runs as an independent project — used here as the lab surface on the phone node. Module contract: Android → Termux script → broadcast result back. Active: Wi-Fi recon. Planned: BLE, Evil Twin. Console de lab de segurança estilo firmware para Android/Termux. Roda como projeto independente — usado aqui como superfície de lab no nó phone. Contrato de módulo: Android → script Termux → resultado por broadcast. Ativo: recon Wi-Fi. Planejado: BLE, Evil Twin.

Agent Code Buddy

Python · Android · standalone project Python · Android · projeto standalone

Mobile HITL companion for AI coding agents. Runs as an independent project — used here as the approval surface on the phone node. Any developer running Claude agents can deploy it standalone, without the rest of this platform. Companion mobile de HITL para agentes de IA. Roda como projeto independente — usado aqui como superfície de aprovação no nó phone. Qualquer dev rodando agentes Claude pode usar standalone, sem o restante desta plataforma.

Contabo K3s Cluster

k3s · Kubernetes · observability k3s · Kubernetes · observabilidade

Production-grade single-node Kubernetes cluster on a Contabo VPS. Bootstrapped via cloud-init with automated install scripts. Full observability: Uptime Kuma with push monitors for disk, memory, and k3s backups. Automated daily backups via systemd timer (7-day retention). Security: UFW restricting SSH and kubectl API to your IP, no password auth. TLS via cert-manager + Let's Encrypt. Cloudflare DNS. Cluster Kubernetes single-node de nível produção em VPS Contabo. Bootstrap via cloud-init com scripts automatizados. Observabilidade completa: Uptime Kuma com monitores push para disco, memória e backups k3s. Backups diários automatizados via systemd timer (retenção 7 dias). Segurança: UFW restringindo SSH e API kubectl ao seu IP, sem autenticação por senha. TLS via cert-manager + Let's Encrypt. DNS no Cloudflare.