IntentIQ: Closing the Intent Gap with Autonomous Research Agents

💡 Inspiration

We kept seeing the same problem: B2B companies drive traffic to their websites, visitors browse pricing pages and docs (clear buying signals), then ghost before ever talking to sales. By the time a rep follows up, the lead is cold.

The core issue? Generic chatbots wait for users to ask questions, but high-intent enterprise visitors don't want to chat—they want immediate proof you understand their business.

We built IntentIQ to flip the script: detect intent in real-time, research the company instantly, and proactively engage with personalized insights before they bounce.


🎓 What We Learned

Intent is quantifiable. We modeled it as a weighted score where pricing page visits = 40 points, time on page = 2 points/second. When score ≥ 70, trigger the agent.

Real-time context changes everything. Using You.com's API to pull recent funding news or job postings let us say "Congrats on the Series B!" instead of "Hi, how can I help?" Reply rates jumped from 15% (industry average) to 62.5%.

Simple feedback loops work. Track which message patterns get replies → adjust strategy → improve over time. That's continual learning without complex ML.

Gated content converts intent into identity. By offering white papers and interactive demos behind a lightweight form, we capture name, email, and company at the moment of highest interest — then use that data to power personalized outreach automatically.


🛠️ How We Built It

Stack

  • Frontend: Lovable (React, TypeScript, Tailwind CSS, shadcn/ui) — Demo site with behavior tracking, gated content modals, and interactive demo
  • Backend: FastAPI on Render — Intent detection, API orchestration, lead capture, and AI-powered outreach generation
  • Research: You.com API — Real-time company intelligence
  • Enrichment: Apollo / Clearbit APIs — Company funding rounds, ARR, headcount, and industry data
  • AI: Google Gemini 2.0 Flash — Personalized proactive messages; OpenAI GPT-4 — Outreach email generation
  • Messaging: Custom React widget (MVP), Plivo-ready for production
  • Forms & Validation: React Hook Form + Zod — Type-safe lead capture
  • Animations: Framer Motion — Smooth UI transitions
  • Charts: Recharts — Dashboard analytics visualization

Architecture

Visitor browses pricing → Frontend tracks behavior →
Backend calculates intent score → Triggers You.com research →
Gemini synthesizes personalized message → Widget displays proactively

Visitor clicks "Download White Paper" or "Try Demo" →
GatedContentModal captures name/email/company →
POST /api/capture-lead with behavioral context →
Backend enriches company (Apollo/Clearbit) →
GPT-4 generates personalized outreach draft →
Owner notified via email/Slack with ready-to-send draft

Key Implementation

Intent Scoring:

# Intent scoring
score = (pricing_views * 40) + (time_on_pricing * 2) + (docs_views * 25)
if score >= 70:
    research = you_com_api.search(company_domain)
    message = gemini.generate(research, visitor_behavior)
    send_proactive_message(message)

Lead Capture & AI Outreach Pipeline:

# Lead capture & AI outreach pipeline
@app.post("/api/capture-lead")
def capture_lead(data):
    lead = save_lead(data.name, data.email, data.company, data.content_type)
    company_profile = research_company(data.company)  # Apollo/Clearbit
    outreach = generate_outreach(lead, company_profile, data.behavioral_context)  # GPT-4
    notify_owner(outreach)  # Email/Slack webhook

Frontend Behavioral Tracking:

// Frontend: Behavioral tracking feeds into lead capture
const { getBehaviorData } = useBehaviorTracking();
const captureLead = async (lead) => {
  const behavior = getBehaviorData(); // scroll depth, pages visited, referrer
  await fetch("/api/capture-lead", {
    method: "POST",
    body: JSON.stringify({ ...lead, behavioral_context: behavior }),
  });
};

🆕 Recent Enhancements

Gated Content & Lead Capture

  • White Paper CTA — Visitors can download a white paper by providing name, email, and company via a modal form
  • Interactive Demo CTA — A "Try Demo" option redirects visitors to a live mock dashboard after form submission
  • CTAs placed across key pages — Homepage hero, docs banner, and pricing page all surface gated content offers
  • Zero client-side storage — Lead data is sent directly to the backend; nothing stored in localStorage

AI-Powered Outreach Pipeline

  • Company enrichment — Backend researches the visitor's company using Apollo/Clearbit for funding rounds, ARR, employee count, and industry
  • Behavioral context — Lead data is combined with real-time visitor signals (pages visited, scroll depth, session history, referrer source)
  • LLM-generated outreach — GPT-4 drafts a personalized email referencing the visitor's company profile and on-site behavior
  • Owner notifications — Drafts are stored in the database and pushed via email or Slack for review before sending

Frontend Components

Component Purpose
GatedContentModal Reusable Radix Dialog with whitepaper/demo modes, Zod-validated form
useLeadCapture hook POSTs lead + behavioral context to /api/capture-lead
useBehaviorTracking hook Tracks scroll depth, session pages, return visits, referrer
Demo page Interactive mock dashboard at /demo with sample analytics
HeroSection Landing hero with "Download White Paper" and "Try Demo" CTAs
CtaSection Bottom-of-page CTA banner with gated content triggers

📊 Key Metrics

Metric Before After
Proactive reply rate 15% (industry avg) 62.5%
Lead capture touchpoints 0 (passive only) 3 pages (homepage, docs, pricing)
Data per lead Email only Name + email + company + full behavioral context
Outreach personalization Manual research Automated company enrichment + LLM drafts

🗺️ Roadmap

Phase Feature
✅ MVP Intent scoring, proactive messaging, gated content modals, lead capture API, AI outreach
🔜 Phase 2 Admin leads dashboard (/admin/leads) for reviewing captured leads and outreach drafts
🔜 Phase 3 Automated email delivery (Resend/SendGrid), progressive profiling for return visitors
📋 Phase 4 CRM sync (HubSpot/Salesforce), A/B testing on outreach templates
📋 Phase 5 Conversion analytics, ROI tracking, multi-channel outreach (LinkedIn, SMS)

📝 Next Steps

  • Add an About page to the app
  • Build admin leads dashboard

Built With

  • framer-motion
  • lovable-(hosting)
  • lucide-react
  • radix-ui
  • react-18
  • react-hook-form
  • react-router-dom
  • recharts
  • render
  • render-(backend-api)-here's-the-full-tech-stack-in-one-line:-typescript
  • shadcn/ui
  • sonner
  • tailwind-css
  • tanstack-react-query
  • typescript
  • vite
  • zod
Share this project:

Updates