Skip to content
Sankalp

About this project

Sankalp 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 agent-driven system — from a Chrome MV3 extension that talks to Naukri, through a custom MCP fabric and Postgres schema with RLS, to a Claude Code brain that enriches each job and drafts an application. Signup stays gated so the live API tokens and scraping accounts don't leak.

About the builder

Amar Gupta

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

Sankalp 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 — the browser MV3 extension that talks to Naukri, the OAuth-style wire to Sutra, the `sankalp_*` schema, and the Claude Code brain that enriches each job and drafts an application.

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

Web scrapingbrowser MV3Browser automationOAuth pipelinesSupabase + RLSMCP server designLLM tool calling

What Sankalp demonstrates

Six skills, one running autopilot.

01

Browser automation across two surfaces

A Chrome MV3 extension owns Naukri (side-panel sidebar, form auto-fill, submit driver). Claude-in-Chrome via the `chrome_*` MCP tools owns Turing. One capture contract, two very different DOMs — abstracted by a publisher pattern.

02

Postgres + RLS at the boundary

`sankalp_jobs`, `sankalp_applications`, `sankalp_answers`, `sankalp_profile` are all RLS-scoped to `auth.uid()`. Same Supabase project as Setu / Sandesh / Swayam so JWTs are interchangeable across the portfolio with no token exchange.

03

MCP server design

Sankalp mounts on `/sankalp/api/mcp` inside Sutra (the desktop Electron relay). Nine `sankalp_*` tools + five `sankalp_chat_*` relay tools + `sankalp_save_application` + the `chrome_*` browser-bridge. Designed for an LLM tool-caller, not a human.

04

Channel-based wakes

A new job row broadcasts on `sankalp-channel`. The Claude Code session attached to that channel wakes immediately, calls the enrichment tools, and writes back. No cron, no polling, sub-second from capture to enriched row.

05

Next.js 16 + App Router discipline

No middleware (auth gating per-layout for explicit data flow), Server Components by default, route groups for marketing vs dashboard, Vercel deploys. The dashboard at `/home` is auth-walled; the marketing surface at `/` is public.

06

Shared MCP fabric across 5 apps

Sankalp shares the desktop Sutra relay with Setu (chat), Sandesh (publishing), Swayam (automation), and Sathi (personal manager). Adding a product is a new channel + a new brain dir — not a new piece of infrastructure.

Sibling products

Sankalp 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 — the Chrome extension, the schema, the MCP server, or the Claude Code brain that makes it actually work.