Files
opencode-mobile/distribution/launch/show-hn.md
engineer 8c75007ee5 launch: pre-flight accuracy pass on Show HN + Reddit copy
Fixed claims a technical audience would catch:
- Android build is Gradle (assembleRelease/bundleRelease), NOT EAS — EAS is only in
  the unshipped iOS workflow. Changed 'GitHub Actions + EAS' -> 'GitHub Actions (Gradle)'.
- App is Android-only: dropped 'iOS Keychain', kept 'Android Keystore'.
- Diff viewer renders into native views (ScrollView), not a FlatList.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 09:15:59 -07:00

2.5 KiB
Raw Blame History

Show HN: OpenCode Mobile – Android client for the opencode AI coding agent

Title: Show HN: OpenCode Mobile – drive your self-hosted AI coding agent from your phone


Hey HN,

I built a React Native / Expo Android app that lets you control a running opencode session from your phone.

What it does

opencode (sst/opencode, MIT) is a terminal-based AI coding agent — you run it on your laptop or a server, it talks to Claude / GPT-4 / Gemini via your own API keys, and it writes, edits, and runs code through tool calls. The mobile app is a thin HTTP + SSE client that connects to the opencode server process. From your phone you can:

  • Watch token-by-token streaming output as the agent reasons and codes
  • Review inline file diffs before they're committed
  • Approve or reject tool calls (file writes, shell commands) in real time
  • Start, resume, and switch between sessions
  • Connect over local Wi-Fi, Cloudflare Tunnel, ngrok, or Tailscale

Why I built it

I run long opencode sessions that outlast my desk time. I wanted to check in from the couch, approve a tool call, and let the agent keep going. Every alternative — SSH + terminal app, plain Claude/GPT apps — loses the structured session state. The opencode HTTP API is already there; the phone just needed a proper client.

How it's built

  • React Native + Expo SDK 54, TypeScript throughout
  • SSE streaming via EventSource polyfill (React Native lacks a native one)
  • Diff rendering with a custom line-level parser; no WebView
  • Biometric auth via expo-local-authentication gates the app and individual sends
  • Credentials in the Android Keystore via expo-secure-store
  • CI builds a signed APK + AAB on every tag via GitHub Actions (Gradle)

What it is not

It's not a standalone AI model and not a code editor. You need a running opencode server. If you already use opencode, setup is: npm install -g opencode-ai && opencode serve, then paste the URL in the app.

Status

Stable on Android. MIT licensed. Available now via a self-hosted F-Droid repo or a direct signed APK. Google Play is in internal testing and not public yet.

Source: https://github.com/dzianisv/opencode-mobile Landing page (all install options): https://dzianisv.github.io/opencode-mobile/ F-Droid repo (add this URL in an F-Droid client): https://dzianisv.github.io/opencode-mobile/fdroid/repo Direct APK: https://github.com/dzianisv/opencode-mobile/releases/latest

Happy to answer questions about the SSE streaming implementation, the Expo build pipeline, or the opencode API surface.