Abbas MerchantWinter 2027. Read what I’m looking for

Case study · Product

Multi Agent Manager

Run every agent. Watch none of them. One live queue for Claude, ChatGPT, Gemini, Copilot, and terminal sessions, with a green light the moment one needs you.

Role
Solo: design, engineering, release
Timeline
2026 · v1.0.29 shipped Aug 2026
Platforms
Windows · iPhone · Android
Stack
Electron, Node.js, TypeScript, SQLite, Supabase, React Native (Expo), C++
The queue window, live. Filter, save, share, Go, remove, open Projects, or search every indexed conversation.
11
surfaces tracked
3
platforms
4
states, no more
Free
desktop + mobile

Problem

Agents don't need you often. They need you at random.

Anyone running Claude, ChatGPT, Gemini, Copilot, and a couple of terminal agents at once ends up doing the same thing: checking. Five tabs, two terminals, twice each, usually to find nothing. Every check is a context switch, and the one time you don’t check is the one time an agent stopped to ask a question.

I wanted the checking to go away entirely. One place that knows the state of every session, and a light that turns green the moment one needs me.

What I built

The whole interface is four words.

  • One queue, four words.

    Every session is one row with one status: Ready, Generating, Waiting, or Idle. An always-on-top dot floats over whatever you're doing and turns green the instant something is Ready.

  • Go means found.

    Clicking a row fronts the exact Chrome tab (across profiles), desktop window, Windows Terminal tab, or IDE workspace. No hunting through taskbars.

  • Search across every tool.

    A local SQLite index over titles and full message text from ChatGPT, Claude, Copilot, Claude Code, and Codex, including terminal transcripts that were never searchable before.

  • Projects, alone or with a team.

    Save sessions into named projects. Team projects sync metadata (never conversation contents) through Supabase, with roles, invite links, and per-session access.

  • Companion apps.

    iPhone and Android apps mirror the queue and push a notification the moment a session needs you, so you can step away from the desk.

Architecture

Each surface needs its own way of being watched.

  1. Sources

    • Browser tabs

      Claude, ChatGPT, Gemini, Copilot web · MV3 extension + DevTools Protocol

    • Desktop apps

      Claude, ChatGPT, Codex, Copilot · log files + OS accessibility watchers

    • Terminals & IDEs

      Claude Code CLI, Codex CLI · shell hooks + process monitoring

  2. Electron main process

    • Status engine

      Ready · Generating · Waiting · Idle · one queue for every session · SQLite index, local only · chat text never leaves the machine

  3. Outputs

    • Queue window + floating dot

      always-on-top · green the moment one is Ready

    • Go → the exact window

      fronts the tab, app, terminal tab, or IDE workspace

    • Search + share + projects

      full-text across every tool · share links · Markdown export

    • iPhone + Android apps

      push notifications · Supabase sync, metadata only

Browser tabs are observed through an MV3 extension and the Chrome DevTools Protocol. Desktop apps are watched through their log files and Windows accessibility APIs. Terminals and IDEs are covered by shell hooks and process monitoring, with transcripts read from disk. All of it feeds one status engine in the Electron main process, which owns the queue, the floating dot, and a local SQLite index.

Decisions

What I chose, and what it cost.

  • Local-first by default.

    Conversation contents never leave the machine. Only team projects sync, and only metadata. This made the privacy story simple to state and simple to keep, and it means the search index outlives any account.

  • Detect status from the surface, not the model.

    Status comes from what each surface already exposes: the DOM, log files, processes. No API keys, no per-token cost, and it works with whichever tools someone already pays for.

  • Windows first.

    Window management is different on every OS. Shipping one platform well beat shipping three badly. macOS is the most-requested gap.

  • Automate the release.

    Signed builds run through GitHub Actions and are gated by more than 1,600 tests. The app updates itself in the background, so a fix reaches every user without anyone reinstalling.

Outcome

Publicly released, free, on three platforms.

Multi Agent Manager is live at multiagentmanager.app, with the Windows app at v1.0.29 as of August 2026 and companion apps on the App Store and Google Play. It is free, and most of it never touches a server.

It is also the product I use every day. Most of the roadmap comes from noticing what I still check by hand.

The Multi Agent Manager iPhone app showing the live queue.
The iPhone companion. Titles and status only.