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
Log in or sign up for Devpost to join the conversation.