About this project
Swayam 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 automation surface — from pg_cron rows and a Supabase trigger, through an Electron dispatcher and a dedicated MCP sub-server, to a Claude Code instance with its own brain file, to a Realtime-backed dashboard. 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
Swayam 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 of this one — the cron scheduler, the dispatcher that bifurcates by channel, the dedicated CC instance, and the Realtime dashboard that watches it run.
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 Swayam demonstrates
Six skills, one running system.
01
Automation orchestration
pg_cron rows inside Supabase fire on schedule, an Electron dispatcher turns each fire into a wake frame, a dedicated Claude Code session answers, and the dashboard renders the run live — no Vercel cron, no polling, no cold starts.
02
Channel isolation
Earlier, routines and operator chat shared one CC session and attention dropped per task. Swayam carved a dedicated `swayam-channel` with its own MCP sub-server (`/swayam/api/mcp`), its own SSE bridge, and its own CC instance against a routine-specific brain file.
03
Realtime fan-out
The browser dashboard subscribes to `swayam_messages` Realtime postgres_changes — both INSERT and streaming UPDATE deltas land live. `REPLICA IDENTITY FULL` on the table makes partial chunks paint as they arrive.
04
pg_cron + Postgres triggers
Schedules are rows in `scheduled_routines` with cron expressions and timezones. pg_cron jobs reference them; a `metadata.channel` field routes the wake. Change the cron expr, the next fire moves. The DB IS the scheduler.
05
Dual-broadcast pattern
A single field (`routine.metadata.channel`) branches the dispatcher: swayam routines write to `swayam_messages` + broadcast `swayam_chat_message`; legacy setu routines stay on `chat_messages` + `chat_message`. Zero handler forking.
06
Scheduled-routine UX
Cron expressions are human-translated (`0 9 * * *` → "every day at 9:00am") and the next fire-time is computed client-side. Routines surface last-run status, fail-streak, jitter, and a one-click enable/pause — the operator never edits cron syntax raw.
Sibling products
Swayam 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 — pg_cron rows, the bifurcating dispatcher, the swayam-channel MCP, or the Realtime dashboard that watches it tick.