Internal Tool

1000s of creators.
Zero SDRs.

How I built an internal two-module tool that finds India's independent makers, sends them personalized cold DMs, and runs the entire sales conversation — before they even know it's a bot.

2
Modules, 1 app
~5s
Bot response
0
Sales hires
~$10
Infra / month
The problem

The bootstrap problem was brutal.

Chiblu is India's curated marketplace for independent makers. Our buyers were on Instagram. Our sellers were on Instagram. I was one person.

The job description looked like this:

Traditional outreach tools don't work in India. No one clicks links in cold DMs. No one trusts copy-pasted templates. And hiring an SDR at seed stage is how founders die broke.

The reframe

What if outreach didn't need to be human?

What if the seller outreach team didn't need to be human?

Not a drip campaign. Not a chatbot. A real system that:

What I built

Two modules. One system. One autonomous agent.

Module 01

The Outreach Dashboard

Batch Instagram DM automation. Reply-first, zero-link cold outreach.
Paste usernames Apify scrapes Claude writes DM I hit send Status tracked
  • 12 playbook templates auto-recommended by niche + follower count + conversation stage
  • Niche auto-detection from bio keywords — clay vs. embroidery vs. jewelry gets different angles
  • Collab vs. seller pitch routing based on follower threshold (30K+ gets the collab angle)
  • Inline editing for notes, next action, creator name — no modals, no friction
Outreach Dashboard — Seller's List
The Seller's List — every creator, scored, tagged, and ready to pitch.
Module 02

Chiblu Assistant

Claude Sonnet 4.5 hooked directly into Instagram Graph API webhooks.
Creator replies Meta webhook Signature verify Profile enrich Claude responds Reply in 1–4s

What makes it real, not a chatbot:

Message batching
If they send 3 messages in quick succession, the bot waits 5s, then replies once with full context — not 3 times.
Brand voice guardrails
Never says "artisan" or "karigar." Mirrors Hindi / Hinglish / English. Refuses to write code or recipes.
Anomaly detection
Rapid-fire, spam, 500+ char pastes get static replies — zero Claude tokens burned.
Human handoff
"Talk to a Human" auto-pauses the bot. I reply manually, then resume. Zero lost context.
Smart follow-ups
Cron job picks up stale leads daily, sends context-aware follow-ups — max 2 per lead, never spam.
Objection playbook
GST, commission, shipping, low-follower anxiety — Claude knows the answer, never makes one up.

The stack. Simple. No over-engineering.

Next.js 16
frontend + api
Supabase
postgres + rls
Claude 4.5
voice + logic
Meta Graph
dm + webhooks
Vercel
host + cron
Apify
profile scrape

One developer. One branch. Deploys on every push to main.

What it does

What it replaces. What it costs. What it produces.

What this replaces

  • Full-time SDR₹5–10L/yr
  • CS agent standby₹3L/yr
  • HubSpot Starter$20/mo
  • Outreach tool$100+/mo

What it costs me

  • Vercel Hobby₹0
  • Supabase free₹0
  • Claude API~$8/mo
  • Apify scrape~$2/500

What it produces

24/7 response time
1–4 seconds on Instagram DMs. While I sleep.
Auto-tagged leads
Every lead classified by language, city, product, intent.
Full conversation history
Searchable, exportable. Never lost in a DM scroll.
One dashboard view
I open it once a day. Not a full-time job.
The Takeaway

Extra hands for a small sales team.

The Chiblu Assistant handles the first 10 exchanges so I can spend my time on the one exchange that actually needs a human — the "yes, let's do this" moment.

Outreach Dashboard drafts the pitch. The Sales Agent closes it.