Show HN: Code on the Go, an IDE for Android with On-Device Debugging (GPLv3) (appdevforall.org)

4 points by hal-eisen ↗ HN
Hi HN, I’m Hal, the CTO at App Dev for All. I wanted to share a technical problem we worked on over the past year and how we approached it.

We’ve been building Code on the Go, a full-featured IDE that runs entirely on an Android phone. No laptop, no ADB connection, no cloud build server. It compiles projects locally on the device using Gradle, supports Java and Kotlin with LSP, and includes a debugger that runs on the same phone as the app being tested.

The most interesting and challenging part ended up being the debugger. The Android OS has a rigorous security model, which can get in the way of traditional inter-process communication. Android debugging assumes ADB, which assumes two machines. We bypassed ADB entirely, attaching the JDWP agent to the target process at launch and routing its output to our debugger over a local socket. We used a scoped adaptation of the Shizuku project to get the necessary system access without requiring root.

We also had a few other technical challenges with Code on the Go: Sketch-to-UI (generates Android XML from a photo of a hand-drawn layout, runs fully offline with Yolo), an optional Gemini-powered coding agent (opt-in, requires your own API key), and a plugin system with isolated class loaders.

One of our pre-release community members has used it to build and publish a Sinhala/English keyboard app to the Play Store, built entirely on his phone. This served as our test case for Play Store compatibility.

We are a philanthropic venture. No ads, no tracking, no subscription. License is GPLv3.

APK: http://appdevforall.org/codeonthego Source: http://github.com/appdevforall/CodeOnTheGo

Happy to answer questions on the implementation.

3 comments

[ 2.9 ms ] story [ 17.5 ms ] thread
Awesome project. Will it ever be on the play store?

It always bothered me how you couldn't write apps on your phone. I guess ios has the swift playground.

What kind of telemetry do you collect?

The sketch-to-UI feature running offline with Yolo is really cool. Since the whole thing is offline and GPLv3, I'm curious — did you have to do anything special to prevent the model from being extracted or repackaged? I work on infra security and model integrity is something we think about with offline deployments.
No, we're not worried about model extraction. The more people who use it, the better.

I'd love to shift the paradigm that mastering obscure arcane knowledge is some kind rite of passage for people to suffer through - that's a massive waste of resources. I want people to solve their own problems. If they use this model, then we've advanced the mission of my organization, which is to support the 2 billion people to be able to participate in the benefits of technology by (1) scratching their own itch, and (2) having a viable path to good jobs - even though they don't have high powered laptops/desktops and they don't have 24/7 high speed low cost internet.