Geronfir

Android & Linux-tooling developer — no laptop, no PC.

I build, test and ship real software from an Android phone: a full Linux environment in Termux, a persistent tmux workspace, and GitHub Actions as my build machine. Everything I ship is written, compiled, tested and released from that phone — and the constraints make the work sharper, not weaker.

Featured work

word-clock-widget  v1.0

An Android home-screen widget that spells the time in words instead of digits. The time-to-words engine is pure Kotlin with no Android imports, so all 71 unit tests run on a plain JVM in CI — no emulator. Jetpack Glance, offline-first, battery-friendly, no background service.

Kotlin Jetpack Glance Android GitHub Actions

termux-workstation

How I turned Android into a real dev box: tmux sessions that survive app restarts, a Debian userland via proot, shell tooling that pushes build results to the phone, a local LLM with a thermal safety gate, and CI as the build machine. Docs + sanitized configs.

Termux proot Bash Linux llama.cpp

Case study — word-clock-widget

Shipping a real Android app with no laptop

ProblemAndroid resource compilation needs glibc tools (aapt2) that crash on Android's bionic libc — the phone cannot build an APK.
DecisionStop treating the phone as the build machine. Push code, let GitHub Actions compile, sign and release, then pull the APK back. Keep all time logic in a pure-Kotlin engine with zero Android imports.
Result71 JVM unit tests (including all 1,440 minutes of a day, DST and leap-day edges) run in CI with no emulator, and a signed v1.0.0 APK is built and released straight from the phone.

Stack

KotlinAndroidCompose / Glance PythonBashLinux (Termux, proot) GitGitHub ActionsESP32

How I work

Contact

gamergeronfir@gmail.com · GitHub