CTOContent Cartel ExOracle ExIIT Bombay

I build the software, the agents, and the copy that sells it.

Production SaaS that real teams run every day, autonomous voice and DM agents that hold real conversations, automation that takes work off people, and the copy that makes any of it sell. Everything below is shipped and in use, not a concept deck.

SCROLL
2026/SELECTED WORK/VOL. 01

Built for & worked at

IIT Bombay Oracle Content Cartel CleanCut The Perfect Setter SCIREN

I design it, build it, and write the words that sell it. Most work loses its edge in the handoffs between those three, and mine has none to lose it in. What a business is actually buying is efficiency: systems that take work off people, and copy that makes the result easy to say yes to.

Design

Ten years of it before a line of code. Brand, layout, motion, and the judgement to know when something merely works and still is not finished.

Build

Full-stack products with real tenancy, billing and uptime discipline. Agents that act rather than chatbots that reply. Blue/green deploys and row-level security.

Market

Ads, landing pages, DM scripts and sales emails. Five figures and counting in sales from copy I wrote, which is the only test of copy that means anything.

Efficiency

The point of all of it. Every system here exists to remove a job someone was doing by hand, and to make the money it earns possible to measure.

You would normally hire three people for this.

A designer, an engineer, and a copywriter. Then you spend the project translating between them, and the thing that ships is whatever survived the handoffs. I am all three, which is the entire reason to hire me instead.

Ten years as a graphics designer came first, most recently on content for names like Robert Kiyosaki and Ken McElroy. Then copy, because the design kept getting judged on whether it sold: my words have driven five figures and counting in sales. The software is the last two years, and it is the part that compounds. I am CTO at Content Cartel and still the one in the codebase.

  1. Ten years

    Design

    Brand, layout and motion, most recently on content for names like Robert Kiyosaki and Ken McElroy. It is why this page looks like this and not like a template.

  2. Then copy

    Because design gets judged on whether it sold

    Ads, landing pages, DM scripts, sales emails. Five figures and counting in sales from copy I wrote. The DM thread on this page is real script.

  3. Last two years

    Engineering, the part that compounds

    Production platforms with real tenancy, billing and uptime. 2,500+ commits on the one an agency runs on every day.

  4. Now

    All three at once

    CTO at Content Cartel and still the one in the codebase. Nothing gets lost between the brief, the build and the words, because there is no handoff for it to get lost in.

Five things I built and still run.

Keep scrolling. The next four move sideways.

01

Perfect Setter

app.theperfectsetter.com

AI DM closer · live, paying customers

An agent that answers every Instagram and Facebook DM in under five minutes, around the clock, and takes the conversation all the way to a booking or a sale. Built to close, not to chat. It replaces a $4k to $8k per month human setter for $27.

  • $50,000 in ticket sales for one event, out of DMs
  • $2,000 single sale closed end to end in the thread
  • $27/mo against $4k to $8k for a human setter
  • 26 migrations, RLS on every tenant table

Next.js 16React 19Tailwind v4Supabase RLSMeta Graph APIWhatsApp Cloud APIn8nWhopSentry

The hard part was never the model. It was billing state that tells the truth: webhooks, plus a nightly reconciliation cron that re-pulls every membership from the provider, plus an admin repair tool. Webhooks lie. A reconciler doesn't.

ProspectLIVE
replies in under 5 min, 24/7
02

CleanCut

cleaner.contentcartel.net

Video production SaaS · live, in daily use

Not an editor. The operational backbone for a video agency: ingest a raw recording, strip silence, filler words, breaths and retakes, cut it into vertical clips, score every clip for virality, caption it against a brand kit, schedule it, publish to five platforms, then attribute what it earned.

  • 16 creator workspaces operated on it
  • 5 publishing platforms, one scheduler
  • 6 always-on daemons behind it
  • 1200/1200 requests served during a live deploy

FastAPIPython 3.11Next.js 14SupabaseOracle CloudnginxsystemdRemotion

The part I'm actually proud of: it deploys without dropping a request. Rolling SIGHUP across four uvicorn workers, a blue/green Next.js pair sharing a build dir, a 17-URL smoke gate, and a cron that repairs a build mismatch every two minutes.

27 seconds inside CleanCutLibrary, the clips it cut, then the cleaner. Screen recorded, nothing staged.
CleanCut clips page: a grid of vertical clips cut from long-form episodes, each with duration and status
Clips — 101 verticals from 43 episodes
CleanCut Clean and Edit screen: drag and drop a video, transcribe, review cuts, export clean
The cleaner — drop a file, it proposes cuts
CleanCut editor: a cleaned episode with a breakdown of cuts by type, filler, silence and breaths
Editor — every cut itemised by type
CleanCut QC pipeline: 2,736 approved, 1,565 revisions, 2,011 raw footage items across the review stages
QC — 2,736 approved, 1,565 sent back
CleanCut post designer: templates for writing posts in a creator's own voice
Post designer — in the creator’s voice
CleanCut brand kit: identity, visual style, caption presets, voice clones and brand DNA
Brand kit — captions, voice clones, DNA
03

SCIREN

sciren.io

AI voice agents · live, billing in production

Agents that make and take real phone calls. You describe the job, it places the calls, holds the conversation, books into a calendar and writes the outcome back to a CRM. Text agents are forgiving; a voice agent has to hold a turn in under a second or the person hangs up.

  • 130 calls placed, 100 completed end to end
  • 26% reached a successful outcome
  • ~5¢ per call, all in
  • Live Stripe billing, real subscriptions

Next.jsVapiTwilioA2P 10DLCStripeSupabaseVercel cronSentry

Built with two others, so to be clear about my half: the billing and subscription enforcement, the campaign engine, the telephony reliability work, and the instrumentation that made failures visible instead of mysterious. The product is a joint venture; the engineering above is what I own.

40 seconds inside SCIRENThe call log, campaigns, then the workflow builder. Screen recorded.
SCIREN voice call dashboard: 469 total calls, 90.4 percent connect rate, average duration and total cost, above a call log with outcome and sentiment
Calls — 469 placed, 90.4% connected
SCIREN campaign management screen listing voice campaigns with contacts, calls and success rate
Campaigns — agents run against a list
SCIREN workflow builder showing a cold call follow-up sequence and an inbound call to booking workflow with their steps
Workflows — inbound call to booked meeting
04

AI video & motion

Generated film, ads, and deterministic motion

Film made with no crew, no location and no shoot day, and the motion system that finishes it. Cast a character, clone the read, generate the shots; the graphics that go over the top are authored as a spec file and rendered headlessly, frame by frame, so the same input gives the same output every time.

  • 17 generated shots in one film, one character across all of them
  • 212 render-verified components across 16 categories
  • Same in, same out — the look is a parameter set, not a mood

Higgsfieldimage-to-videovoice cloningThree.jsGSAPRemotionffmpegheadless Chrome

The hard part is continuity, not generation: a model forgets the room between shots, so holding one actor across seventeen of them took a locked character token and a world description repeated verbatim in every prompt. The render side is the opposite problem, solved by measurement rather than taste — and this page runs that same look.

Wall Street Hamster60s client film. The cut turns on an audio drop.
Talking headThe locked ad format.
Neon stingThree.js, 8 beats, 8.000s.
05

The AI brain

And the agent running on it · unattended since June

A brain is just memory an agent can search. I feed it everything I know — my notes, how each client talks, what worked and what did not — and it turns that into something retrievable. When the agent needs to act it looks up the relevant pieces first, so what comes out sounds like me and knows the specifics, instead of reading like generic AI.

  • 409 conversations run and logged, without me in the loop
  • 66 days continuous, starting itself on boot
  • 179 communities mapped and scored for fit
  • 3 calls booked off threads it opened

PlaywrightMCPpgvectorvoyage-3.5-liteSupabaseTypeScript

Two rules keep it safe: the ledger is the only source of truth, so it refuses to act on a thread where it spoke last; and anywhere the cost of being wrong is a burned account, it drafts for me instead of sending. The brain half is read-only by design — it can answer, never write.

The agent, runningScoring, rails, playbook, escalation — its real modules.

The rest of the shelf.

Shipped, in use, or built far enough to prove the idea. Happy to walk through any of them.

  • Perfect Attribution

    Multi-platform revenue attribution. Stripe Connect for payments, instant YouTube notifications over WebSub rather than polling a quota-limited API, and Meta ad spend joined to return. The integration surface is the hard part, not the maths.

    Stripe Connect · WebSub · Meta Ads API · Postgres
  • InboxIQ

    Email tracking. Opens, clicks and per-recipient attribution, with scanner and proxy detection so a corporate mail filter opening a message doesn't get counted as a human reading it.

    Chrome extension · Supabase · edge functions
  • WorkLens

    Task mining. Watches how work actually gets done across a day and proposes what is worth automating, rather than guessing from a job description.

    Python · local-first · 79 tests

Everything here is running right now.

0

creator workspaces operated on CleanCut

0

closed in DMs by Perfect Setter, one event

0

conversations run by an agent, unattended

0

days that agent has run without me touching it

0

voice calls placed by SCIREN agents, 90% connected

0

requests served during a live production deploy

What I reach for.

Product

Next.js · React · TypeScript · Tailwind · FastAPI · Python · Node

Data & infra

Postgres · Supabase · RLS · nginx · systemd · Oracle Cloud · Vercel · Sentry

Agents

MCP · Playwright · n8n · Meta Graph · WhatsApp Cloud · Slack · cron workers

Design & words

Brand · layout · motion · ad copy · landing pages · DM and sales scripts

Motion

Three.js · GSAP · WebGL · Remotion · Hyperframes · ffmpeg · faster-whisper

There is no team behind this page.

The design, the build, the words, and the animation you have been scrolling through are all one person. That is the entire pitch.

Vedant Heda

Let's build it.

If you have something that needs to actually ship, a product, an agent, or a funnel that has to actually convert, tell me what it is.