A stylised computer showing five completed setup steps, sending signal waves to a phone with a message and four code buttons, in deep green.

Case study Personal project

A computer you can check on, and switch off, from a chat.

Client
Personal project
Type
Desktop app & remote agent
Role
Design & full-stack development
Year
2026

A desktop app and a local agent that put a computer within reach of a Telegram chat: an Electron panel that sets everything up, and a Node.js agent that answers 37 commands from one authorised chat.

Checking on a machine you are not sitting at usually means remote-desktop software, open ports or a VPN. And a bot that can run commands on your computer is only as safe as the worst message it will accept.

Use a chat app the owner already carries, and keep the computer in charge. The agent polls Telegram outbound, so nothing listens on the network; it answers one configured chat and ignores every other; and anything that changes the machine has to be confirmed first.

What was actually built

  1. 01

    An Electron setup panel: paste the bot token and chat ID, and it validates them against Telegram (getMe and a test message), installs the agent, starts it at boot and shows each step as it completes.

  2. 02

    A Node.js agent with no runtime dependencies: long polling with a persisted offset, so old messages are never replayed, and 37 commands across system, network, processes, files, media and power, each implemented per platform, with a plain “not available yet” wherever there is no safe implementation.

  3. 03

    Guard rails on every sensitive path: shutdown, reboot, suspend, lock, cleanup and upgrade need a six-digit code within 30 seconds, chosen from four inline buttons; generic sudo is blocked in /cmd, destructive patterns are refused, and privileged actions run only through fixed wrapper scripts allowed by a scoped sudoers file, never NOPASSWD: ALL.

  4. 04

    Installers for a systemd service on Linux, a scheduled task on Windows and a LaunchAgent on macOS. The configuration is stored with 600 permissions, and the token is masked in the interface and stripped from error messages.

Technology

  • Electron
  • Node.js
  • JavaScript
  • Telegram Bot API
  • systemd
  • Bash
  • PowerShell

A working prototype (v0.1.0), developed on Linux, where support is most complete. Windows and macOS are partial, and the README still lists unresolved issues. Managing several PCs from one panel is on the roadmap, not built.

Next projectRoomFlowGrupo Transire · Meeting-room booking