Sutrav0.1.0

About this project

Sutra is a portfolio piece, not a startup.

It's the Electron desktop engine that ties together a 5-product MCP fabric — built and dogfooded by Amar Gupta to demonstrate end-to-end ownership of a non-trivial real-time system. From Postgres schema and RLS, through a loopback MCP fabric, to SSE bridges, push fan-out, WebRTC, and a chrome-bridge that drives logged-in browser workflows — all in one Electron process on your Mac.

About the builder

Amar Gupta

AI-powered full-stack engineer · 7+ years · building agent-native software

Sutra is the keystone of a five-product portfolio: a single Electron 33 process that hosts a loopback MCP fabric, three SSE bridges, a WebRTC capture host, a browser-bridge, a push fan-out worker, a code-sync indexer, and a scheduled-routine dispatcher. I designed and built every wire — from the Postgres schema and RLS up to the IPC channels and the deep-link scheme.

Currently building

Sutra (desktop engine), Setu (chat), Sandesh (publishing), Sankalp (job autopilot), Swayam (automation), Sathi (personal manager)

Open to

Senior / staff full-stack · AI eng · MCP and agent infra roles

Electron 33 + IPCMCP server designTypeScript / Node 20Supabase Realtime (WS)SSE bridgesWebRTC capture hostCDP / browser-bridgeFCM + Expo Pushkeytar / deep-linkspg_cron / pgvector

What Sutra demonstrates

Six skills, one Electron process.

01

Desktop relay (Electron 33 + IPC)

A single Electron main process hosts a Node HTTP server with four sub-MCPs at 127.0.0.1:9000, three Realtime SSE bridges, a WebRTC capture host, the chrome-bridge, the push fan-out worker, and the code-sync indexer. Custom sutra:// deep-link scheme, keytar-encrypted token store, userData migration shim.

02

Dual-MCP fabric per product

Loopback MCP for the desktop CC plus an OAuth-protected MCP on Vercel for external clients. Twin handler code stays in lock-step against one Supabase project so RLS and state never fork. Adding a fifth product is one more mount, not a rewrite.

03

Realtime SSE fidelity

Per-channel SSE bridges (setu, sandesh, swayam) translate Supabase broadcasts into notifications/claude/channel frames with WS-state-aware re-subscribe, exponential backoff capped at 8s, and missed-row re-fetch via lastSeenCreatedAt. Closes the 2026-04-30 Realtime miss bug for good.

04

Push fan-out provider split

dispatchPushFireAndForget selects Firebase Admin SDK (raw FCM) or Expo Push REST per device via pa_mobile_push_tokens.provider. Called from every chat-write surface, never awaited on the response path — the reply never blocks on Google.

05

Chrome-bridge via CDP

Five chrome_* MCP tools attach via Chrome DevTools Protocol and dispatch Act prompts to Anthropic's Claude-for-Chrome side panel. Replaced 5,000 lines of homegrown browser-extension code on 2026-05-13. Logged-in workflows on LinkedIn, Threads, and Naukri inherit the extension's trust.

06

Scheduled-routine dispatcher with channel bifurcation

pg_cron jobs inside Supabase emit routine_fire rows. dispatcher.ts branches on metadata.channel — Swayam wakes write to swayam_messages and broadcast swayam_chat_message; Setu wakes hit chat_messages. One Postgres schedule, two CC instances, zero cross-talk.

Products powered by Sutra

One engine, five surfaces.

Setu, Sandesh, Sankalp, Swayam, and Sathi each have their own dashboard, their own CC workspace, and their own MCP sub-server — but they all share Sutra. The same Supabase project, the same channel-based wake protocol, the same push pipeline. Sutra is the seam.

Hiring?

I'm open to senior / staff roles.

Full-stack, AI engineering, MCP / agent infra. Happy to walk a hiring panel through any layer of this system live — IPC, sub-MCP routing, the SSE bridge protocol, the push provider split, or the chrome-bridge CDP plumbing.