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
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.
Setu
Chat relay — browser, mobile, WhatsApp, Telegram → Claude Code on your Mac
Sandesh
Content workshop — draft, render, and publish to LinkedIn, Threads, Instagram, YouTube
Sankalp
Job-application autopilot — scrape, draft, auto-apply via Claude-in-Browser
Swayam
Automation routines — pg_cron wakes a dedicated CC that posts to briefings
Sathi
Personal manager — daily routines, briefings, life-ops across the fabric
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.