A rooted Android phone transformed into an always-on headless Linux server with a local LLM, live vitals dashboard, hardware control, and public access from anywhere.
Qwen3 1.7B runs via Ollama. Chat UI with file upload (PDF/image OCR), streaming responses, and auto web search fallback when the model is unsure.
Real-time monitoring of CPU cores, memory, swap, disk, battery, temperatures, running services, network stats, and top processes. Auto-refreshes every 10s.
Tailscale VPN for private access. Tailscale Funnel for public HTTPS endpoints. No port forwarding, no dynamic DNS, no cloud servers needed.
Android init service auto-starts everything on reboot: WiFi reconnect, swap, chroot mount, SSH, Tailscale, Supervisor, Ollama. No manual intervention.
USB OTG and serial communication with Arduino, ESP32, FTDI. GPIO-like control via Python. Android sensor access for battery and temperature.
Repetition detection stops LLM loops after 100 words. Confusion detection triggers web search fallback. Aggressive debloat frees RAM on every boot.
Full Ubuntu 22.04 ARM64 chroot at /data/local/linux/rootfs/. Bind-mounts for /dev, /proc, /sys, USB, and storage. DNS from Android resolvers.
Android init triggers boot-wrapper.sh on sys.boot_completed. WiFi auto-connects, swap enabled, chroot mounted, all 5 services started. Fully hands-free.
Single Flask server on port 5000. Protected routes require login (browser cookie or Bearer token). Vitals and hardware APIs are public.
Chat with the local AI, explore the vitals dashboard, or browse the full API documentation.