Auto-discover influencers → deduplicate → enrich → add to pipeline
Modash API + n8n cron
Key architectural philosophy: Use open-source where it saves >1 week of dev time; build custom only where differentiation matters (the negotiation agent FSM).
The platform maximizes open-source tooling to avoid reinventing the wheel:
n8n (52K+ ⭐) for workflow orchestration instead of custom schedulers
Chatwoot (21K+ ⭐) for conversation inbox instead of custom chat UI
Metabase (40K+ ⭐) for v1 dashboard instead of custom charts
Evolution API (2K+ ⭐) or WAHA for WhatsApp dev/test sandbox
cardiffnlp/twitter-xlm-roberta-base-sentiment-multilingual for bulk sentiment (free, multilingual)
pgvector (Supabase-native) for FAQ retrieval instead of Pinecone
Custom code is concentrated in the LangGraph negotiation state machine — the core IP of the platform.
2. Problem Statement
2.1 Current State
Campaign managers maintain influencer lists in Google Sheets
Each influencer contacted individually via phone/WhatsApp
Zero post-campaign visibility into engagement, ROI, or influencer performance
New influencer sourcing is ad hoc with no systematic discovery
2.2 Target State
Automated outreach triggered from Google Sheets data
AI agent handles pitch → FAQ → negotiation → close/escalate
Humans only intervene for hot leads flagged by the agent
Real-time IG engagement data per influencer and per campaign
Systematic creator discovery refreshing the pipeline every 2-3 days
2.3 Market Context (from Grok Research)
What the market says about this category:
Sentiment: "Cautiously optimistic with growing adoption" — brands see value in automating "80% of grunt work"
Key pain point: Generic templates lead to low response rates; influencers spot templated pitches
Critical success factor: Hyper-personalization referencing specific posts/content, not just "Hi {name}"
Competitive edge of our approach: Most existing tools (Grin, AspireIQ, Modash) are discovery + tracking platforms, NOT automated negotiation agents. Janney AI is the closest competitor but doesn't support WhatsApp as primary channel
India-specific: WhatsApp is dominant; Hinglish (Hindi+English mix) is common in influencer conversations; regional language support is a differentiator
Hosting: n8n + AI Agent Service on Railway (or Render) | Supabase (managed) | Metabase on Railway (Docker) | Vercel (if/when custom Next.js dashboard in v2)
4. Module 1 — Outreach & Negotiation Agent
4.1 Messaging Channel: WhatsApp Cloud API (Direct)
Decision unchanged from v1: WhatsApp Cloud API (Meta-hosted) — NOT Twilio-mediated.
Factor
WhatsApp Cloud API (Direct)
Twilio WhatsApp
WATI
360dialog
Cost
Meta per-convo fee only (~$0.03-0.08)
Meta fee + $0.005/msg
$49-99/mo + Meta
$49-299/mo + Meta (zero markup)
Template Control
Direct via Meta BM
Via Twilio console
Via WATI dashboard
Via 360dialog
Dev Complexity
Moderate
Lower
Lowest (no-code)
Moderate
Best For
Custom AI agents (our case)
Multi-channel enterprises
SMBs wanting ease
High-volume broadcasts
Why Cloud API still wins: We need raw webhook control for our LangGraph agent. WATI/360dialog abstract too much. Twilio adds unnecessary cost and latency.
NEW in v2 — Dev/Test Sandbox: Use Evolution API (open-source, 2K+ ⭐) or WAHA for local development. These self-hosted WhatsApp HTTP APIs let engineers test message flows without burning Meta API quota or waiting for template approvals.
Critical constraints (unchanged):
24-hour conversation window rule
Template categories: marketing (outreach) = most expensive
Quality rating system — pace at 50 new outreach/hr max
Business verification required Day 1 (1-2 weeks lead time)
4.2 Voice Fallback: AI Voice Agent (Upgraded from v1)
v1: Pre-recorded pitch + live transfer. v2: Full AI voice agent using Twilio Voice + Deepgram STT + ElevenLabs TTS.
Influencer picks up phone
│
▼
┌─────────────────────────┐
│ Twilio Voice streams │
│ audio to Deepgram STT │──→ Text transcription
└─────────────────────────┘ │
▼
┌──────────────┐
│ LangGraph │──→ Response text
│ Agent │
│ (same FSM as │
│ WhatsApp) │
└──────────────┘
│
▼
┌──────────────┐
│ ElevenLabs │──→ Audio stream
│ TTS │ back to Twilio
└──────────────┘
Why upgrade: Grok research shows indie builders achieving this stack. It's a differentiator vs. Janney AI (email-only outreach). Same LangGraph FSM handles both WhatsApp text and voice — one codebase, two channels.
Guardrail: If voice agent detects confusion or negative sentiment for >2 turns → warm transfer to human. Agent says: "Let me connect you with our team directly."
4.3 AI Negotiation Agent: LangGraph State Machine
Architecture unchanged from v1 but with two critical additions from Claude research:
Addition 1: Budget Guardrail Layer OUTSIDE the LLM
python
1# Guardrail layer — runs BEFORE LLM response is sent2classBudgetGuardrail:3"""Hard-coded rules. LLM never sees max budget."""45defvalidate_offer(self, agent_response, campaign_config):6 proposed_rate = extract_rate(agent_response)78if proposed_rate isNone:9return agent_response # Not a rate offer, pass through1011if proposed_rate > campaign_config.budget_max:12# BLOCK — never send this. Escalate instead.13return ESCALATE_TO_HUMAN
1415if proposed_rate < campaign_config.budget_min:16# Agent tried to undercut — fix to min17return replace_rate(agent_response, campaign_config.budget_min)1819return agent_response # Within band, safe to send
Why this matters: Claude research flagged prompt injection risk — a sophisticated influencer could theoretically manipulate the LLM into revealing budget ceilings or agreeing above max. The guardrail layer makes this impossible because the max budget value never enters the LLM context.
Addition 2: FAQ Knowledge Base via pgvector RAG
┌────────────────────────────┐
│ Campaign Setup │
│ Admin uploads FAQ doc │
│ → Chunked + embedded │
│ → Stored in Supabase │
│ pgvector table │
└────────────┬───────────────┘
│
┌────────────▼───────────────┐
│ Influencer asks question │
│ → Embedded via OpenAI │
│ → Similarity search pgvector│
│ → Top 3 chunks as context │
│ → GPT-4o-mini generates │
│ answer from chunks ONLY │
│ → If confidence < 0.7: │
│ "Let me check on that" │
│ → queued for human │
└────────────────────────────┘
Why pgvector over Pinecone: Supabase has native pgvector support. Zero extra infrastructure, zero extra cost, zero extra vendor. FAQ corpus for a campaign is tiny (~50-200 chunks) — pgvector handles this trivially.
4.4 Conversation Inbox: Chatwoot (Open-Source)
NEW in v2. Instead of building a custom conversation log viewer, we use Chatwoot (21K+ ⭐):
Chatwoot webhook → our LangGraph agent (handles AI response generation)
LangGraph response → Chatwoot API (sends response back through WhatsApp)
Human handoff: agent marks conversation in Chatwoot, human picks up in same inbox
Trade-off: Adds a dependency (Chatwoot self-hosted). But saves ~3 weeks of custom UI development and gives the operations team a professional inbox from Day 1.
4.5 Google Sheets Integration
Unchanged from v1 — bidirectional sync via Sheets API v4. n8n has a native Google Sheets node that handles this with zero custom code.
4.6 Human Handoff Flow
Unchanged from v1 — Slack notification with interactive buttons. n8n handles the Slack notification trigger.
4.7 LLM Selection
Revised based on both research reports:
Role
Model
Cost
Rationale
Negotiation turns
GPT-4o
$2.50/$10.00 per 1M tokens
Best structured output + multilingual (Hinglish)
FAQ from RAG chunks
GPT-4o-mini
$0.15/$0.60 per 1M tokens
70% cheaper; FAQ is straightforward Q&A
Bulk sentiment (English)
XLM-RoBERTa (self-hosted or HF Inference)
FREE
Open-source, handles 90% of comments
Sentiment edge cases
GPT-4o-mini
$0.15/$0.60 per 1M tokens
Hinglish sarcasm, emoji-heavy, ambiguous
Voice STT
Deepgram Nova-2
$0.0043/min
Fastest, most accurate for conversational audio
Voice TTS
ElevenLabs
$0.18/1K chars (Pro)
Most natural-sounding for Indian English
5. Module 2 — Instagram Engagement Dashboard
5.1 Data Collection: Dual-Layer (Unchanged)
Graph API (primary, free) + Phyllo (fallback, paid). See v1 for decision logic.
5.2 Sentiment Analysis: Tiered Approach (NEW in v2)
Claude research recommended cardiffnlp/twitter-roberta-base-sentiment. We adopt a tiered version:
⚠️ USE WITH CAUTION — violates IG ToS; only for research/enrichment, not production polling
15.2 What We Build Custom (Core IP)
Component
Why Custom
LangGraph Negotiation FSM
This is the product's core value. No off-the-shelf tool does multi-turn rate negotiation with budget guardrails, human handoff, and WhatsApp integration.
Budget Guardrail Layer
Security-critical; must be tailored to our specific rate validation + prompt injection prevention logic.
Campaign-specific prompt engineering
System prompts for each negotiation phase, campaign brief injection, tone calibration for Indian market.
Content-matching post detection
Image similarity matching for detecting campaign posts without hashtags — novel approach, no OSS tool for this specific use case.
For any new feature, ask:
1. Is there an OSS repo with >1K ⭐ that does 80%+ of what we need?
YES → REUSE (fork if needed, contribute back)
NO → Continue
2. Is there a reference implementation we can study?
YES → REFERENCE (copy patterns, adapt to our stack)
NO → Continue
3. Does this component constitute core IP / competitive advantage?
YES → BUILD CUSTOM
NO → Use simplest possible glue code
16. Competitive Landscape & Market Intel
(Synthesized from Grok research — X posts, Reddit, reviews, late 2025-early 2026)
16.1 Direct Competitors
Competitor
What They Do
Strengths
Weaknesses vs. Our Platform
Janney AI
AI agent for discovery + inbox outreach + rate negotiation
End-to-end; claims 30-45% savings on partnerships
Email/inbox only — no WhatsApp; no voice; no IG monitoring dashboard
Not a conversational agent — templates only; no real-time negotiation
Grin
Full platform — discovery + outreach + tracking + payments
Enterprise-grade; Shopify integration
Expensive; complex; creators must authenticate; billing surprises
AspireIQ (now Aspire)
Similar to Grin
Strong marketplace
Steep learning curve; overkill for smaller teams
ManyChat
IG DM + comment-to-DM automation
Great for IG DMs; easy setup
No WhatsApp negotiation; no campaign monitoring; rule-based, not AI
16.2 Our Differentiation
Capability
Janney AI
Grin/Aspire
ManyChat
Our Platform
WhatsApp as primary channel
❌
❌
❌
✅
AI voice agent fallback
❌
❌
❌
✅
Real-time rate negotiation
✅ (email)
❌
❌
✅ (WhatsApp + voice)
Hard budget guardrails in code
Unknown
❌
❌
✅
IG engagement dashboard
❌
✅
❌
✅
Sentiment analysis on comments
❌
Basic
❌
✅ (tiered, multilingual)
Anomaly detection
❌
❌
❌
✅
Hindi/Hinglish support
❌
❌
❌
✅
Google Sheets as CRM
❌
❌
❌
✅ (client's existing workflow)
Open-source components
❌
❌
❌
✅ (lower lock-in, lower cost)
16.3 Market Sentiment Summary
"Future is agents, not more tools" — brands want AI that acts, not just dashboards to look at
Human-in-the-loop is non-negotiable — pure automation without human oversight erodes relationships
Personalization is king — reference specific posts/content in outreach, not just "Hi {name}"
India market opportunity — WhatsApp dominant, regional language support is a gap in existing tools
Price sensitivity — smaller teams reject annual contracts and enterprise pricing; our ~$329/mo at 100 influencers is highly competitive vs. Grin ($$$) or CreatorIQ ($$$$)
This document is intended for internal review and scoping. Estimates subject to revision based on client requirements, API access timelines, and agreed scope.