Projects · 04

Telekumanda

A remote control I built for the AI coding agents running on my computer. It lets me start and follow Claude Code, Codex, OpenCode and Antigravity sessions from a phone or a browser, approve what the agents ask for, and pick up their results without going back to the desk. The name is the word Turkish once used for a TV remote.

Version 11.115 · Kotlin, Node.js and TypeScript · Open source on GitHub (AGPL-3.0) · Türkçe

In short. Telekumanda has three parts: a bridge server that runs on the computer, an Android app, and a web interface served by the bridge itself. The agents run on the computer with the command-line tools installed and signed in there; Telekumanda manages them and has no model of its own. The bridge is never exposed to the internet and reaches the phone only over a private network.

What
Remote control for coding agentsAndroid app, Node.js bridge server and web interface
Agents
Claude Code, Codex, OpenCode, AntigravityAll in the same chat interface; also OMP (Oh My Pi)
Platform
Android and browserThe bridge is developed and runs on Windows
Use
On your own computer, on a private networkNo cloud account, sign-up or third-party server
Source code
github.com/afsozer/telekumandaOpen source, AGPL-3.0 license

What does it do?

  • Several agents, one interface. You start a session or resume an earlier one from disk, choose a model, read the reply as it streams and stop the work if needed. Every agent appears in the same chat layout.
  • Approvals and notifications reach the phone. When an agent asks for permission to use a tool or change a file, the request arrives on the phone as a card. Notifications for a turn that started, needs attention, finished or failed come over the app's own connection to the bridge, with no intermediary such as Firebase.
  • Shared workspaces and handoff. Several agents can work in the same folder while a writer lease stops two of them from changing files at once. "Handoff" passes one agent's work to another together with a file that summarises the recent conversation and deliverables.
  • Case file template. A new workspace can start with folders for documents and outputs; the agent writes petition drafts to the outputs folder as UDF files ready for UYAP, the Turkish e-justice system, and does its case law and legislation research through Emsal MCP.
  • Two-sided file manager. The computer's and the phone's files are browsed on the same screen; Markdown, DOCX and UDF documents open inside the app.
  • Oversight. A project centre, an operations history, the state of running processes, subscription and quota gauges, and MCP server management.

How is it secured?

Anyone holding a valid key can run agents through the bridge and read and write files on the computer. That is by design, so the real work is making sure only the right device holds that key.

  • Private network only. The bridge is not exposed to the internet; the phone and the computer talk over a private network such as Tailscale.
  • Device pairing. A six-digit code from the settings is valid for five minutes and works once, and wrong attempts are rate limited. Each phone receives its own key, and rotating it invalidates the previous one immediately.
  • Keys are not stored in the clear. The bridge keeps only a SHA-256 digest of each device key and returns the clear key once, in the pairing or rotation response.
  • Private reporting. Vulnerabilities are reported through a non-public channel described in the repository's SECURITY.md; I am the project's sole security maintainer.

What doesn't it do?

  • It does not replace the agents. It has no AI model of its own; tools such as Claude Code or Codex must be installed and signed in on the computer.
  • It is not an internet-facing service. The bridge is designed as a trusted local service; exposing it to the internet is not supported.
  • There is no iOS app. The phone side is Android; other devices can use the web interface.

Technical details

Android
Kotlin, Jetpack ComposeLogic that does not depend on the screen lives in a separate JVM module with unit tests
Bridge
Node.js 22REST and WebSocket; connects to agents through a pseudo-terminal (node-pty) or their own protocols
Web
React, TypeScript, ViteServed by the bridge, no separate server needed
Tests
More than 900 unit tests on Android, 800 in the bridge and 400 in the web interface
Development
Design and product decisions are mineCoding with AI-assisted tools (Claude Code); in daily use in my own work since August 2026

Source code

The source code is public on GitHub under the GNU Affero General Public License, version 3 (AGPL-3.0). You may use, modify and distribute it; if you offer a modified version to others as a service over a network, you must also make your modified source code available to those users under the same license. Security vulnerabilities can be reported privately as described in the repository's SECURITY.md file.

github.com/afsozer/telekumanda

This page describes version 11.115 as of 7 October 2026.

About Alpaslan Fatih Sözer (in Turkish)