About this project
Setu is a portfolio piece, not a startup.
It's built and dogfooded by Amar Gupta to demonstrate end-to-end ownership of a non-trivial MCP-driven system — from Postgres schema and RLS, through a custom MCP fabric, to a desktop Electron relay, to streaming UI on web and mobile. Signup stays gated so the live API tokens and inboxes don't leak.
About the builder
Amar Gupta
AI-powered full-stack engineer · 7+ years · building agent-native software
Setu is part of a five-product portfolio of dogfooded apps that share infrastructure: a custom MCP fabric, Supabase with RLS, channel-based wakes, and a desktop Electron relay. I built every layer — protocol, dashboard, database, push pipeline, and the Claude Code integration that makes the system actually do work.
Currently building
Setu (chat relay), Sandesh (publishing), Sankalp (job autopilot), Swayam (automation), Sathi (personal manager)
Open to
Senior / staff full-stack · AI eng · MCP and agent infra roles
What Setu demonstrates
Six skills, one running system.
01
MCP server design
Two parallel MCP servers — OAuth-protected `/api/mcp` on Vercel for external Claude Code clients, and a local `127.0.0.1:9000` server inside an Electron desktop relay. Twin handler code, one Supabase project, single source of truth.
02
Real-time + streaming
Browser, mobile, and external chat surfaces all subscribe to the same Supabase Realtime channel. Streaming UPDATE events paint partial Claude responses live with sub-second wake latency.
03
Cross-platform delivery
Same chat thread, same Claude Code session — reachable from browser, iOS/Android push (Expo + FCM dual-provider), WhatsApp, and Telegram. Provider-aware push fan-out, fire-and-forget so the chat path never blocks.
04
Desktop relay (Electron + IPC)
Sutra is an Electron 33 app that hosts the local MCP, an SSE bridge to Supabase Realtime, a chrome-bridge for Claude-in-Chrome, and the push dispatch worker. WebRTC capture host, encrypted token storage, custom deep-link scheme.
05
Postgres + RLS at the boundary
Single Supabase project with row-level security on every table. JWTs interoperate across sibling apps (Setu, Sandesh, Sankalp, Swayam) so a Setu token validates against any sibling's RLS without server-side token exchange.
06
Next.js 16 + App Router discipline
No middleware (auth gating per-layout for explicit data flow), Server Components by default, host-only auth cookies, Vercel deploys with the OAuth broker living in route handlers.
Sibling products
Setu is one of five.
Setu, Sandesh, Sankalp, Swayam, and Sathi share the same Supabase project, the same MCP fabric, and the same channel-based wake protocol. Each lives at its own subdomain and demonstrates a different end-to-end use case.
Hiring?
I'm open to senior / staff roles.
Full-stack, AI eng, MCP / agent infra. Happy to walk a hiring panel through any layer of this system live — protocol, schema, relay, push, or the Claude Code integration that makes it actually work.