DEV Community

David
David

Posted on

Cómo construí Worvi: Un chatbot WhatsApp inteligente con Claude API

Worvi WhatsApp Chatbot

Hace 6 meses comencé a resolver un problema real: pequeños negocios pierden leads porque no pueden responder en WhatsApp al instante.

Hoy comparto cómo construí Worvi, un chatbot WhatsApp con IA que captura leads automáticamente y aprende patrones de conversación.

El problema

Un cliente mío (academia online) perdía ~50% de leads porque:

  • Clientes escriben en WhatsApp cuando el equipo no está disponible
  • Sin respuesta automática = cliente se va con la competencia
  • Manual es inviable (responder 100+ mensajes/día)

La solución: Worvi

Worvi es un template Python + FastAPI que:

  1. Responde automáticamente en WhatsApp usando Claude API
  2. Detecta intención del usuario (pregunta, queja, venta, etc.)
  3. Cambia el contexto cuando el cliente cambia de intención
  4. Captura leads en una base de datos JSON
  5. Se configura en 5 minutos sin código

Stack técnico

  • FastAPI: Servidor webhook ultra rápido
  • Claude API: IA para respuestas inteligentes y contextales
  • WhatsApp Business API: Integración oficial
  • JSON + Git: Base de datos simple y versionada
  • GitHub Pages: Dashboard en vivo

¿Por qué estas tecnologías?

  • FastAPI es ultra rápido y async nativo
  • Claude API entiende contexto mejor que otros modelos
  • JSON sin BD relacional = sin complicaciones
  • GitHub Pages = dashboard gratis que se actualiza en tiempo real

Cómo funciona (arquitectura)

Detección de intención (el corazón de Worvi)

La clave está en analizar el historial de conversación:

def detect_intention(conversation_history: List[dict]) -> str:
    """
    Analiza el historial y detecta:
    - question: Pregunta sobre producto
    - objection: Cliente tiene dudas
    - booking: Cliente quiere comprar/agendar
    - complaint: Cliente insatisfecho
    - other: No clasificable
    """
    response = client.messages.create(
        model="claude-3-5-sonnet-20241022",
        max_tokens=50,
        system=INTENTION_SYSTEM_PROMPT,
        messages=conversation_history
    )
    return response.content[0].text.strip()
Enter fullscreen mode Exit fullscreen mode

Cuando la intención cambia, Worvi:

  • Resetea el contexto
  • Carga nuevos ejemplos
  • Responde con nueva estrategia

Ejemplo real:

Casos de uso reales

Academia Online

  • Antes: Manager respondía, 2-3 horas de delay
  • Después: Worvi responde en <5 segundos
  • Resultado: 3 leads capturados en primera hora

Agencia Inmobiliaria

  • Antes: Perdía clientes por no responder rápido
  • Después: Worvi pre-califica clientes
  • Resultado: Agente solo ve leads "calientes"

E-commerce

  • Antes: FAQ manual, 50+ mensajes/día
  • Después: Worvi maneja FAQs + sugiere productos
  • Resultado: 15% aumento en conversión

Métricas que rastrea Worvi

{
  "total_messages": 247,
  "leads_captured": 12,
  "average_response_time": "2.3s",
  "intention_changes": 18,
  "conversation_satisfaction": 4.2/5
}
Enter fullscreen mode Exit fullscreen mode

Deployment

Originalmente en Mac mini. Ahora en Oracle Cloud free tier para 24/7:

  • GitHub Actions automatizan deployment
  • 1 commit a main = automática en producción
  • Cero downtime

Lo que aprendí

  1. Detección de intención > respuestas genéricas

    • Entender que el cliente cambió de opinión es crucial
  2. Simple > perfecto

    • JSON es suficiente para 99% de casos
  3. Context matters

    • Claude entiende cambios de tono mejor que otros modelos
    • Vale la pena pagar por mejor IA
  4. Webhook delays matan conversiones

    • FastAPI + async es fundamental

Cómo usar Worvi

Es un template listo para usar (~55 KB):

  1. Descarga de Gumroad
  2. python setup.py → responde preguntas
  3. Conecta tu número de WhatsApp
  4. Listo. Responde automáticamente.

O úsalo como base para tu propio bot.

Próximos pasos

  • v1.1: Templates adicionales (medicina, ecommerce, support)
  • Dashboard web avanzado
  • Integraciones CRM (Pipedrive, HubSpot)

TL;DR

Construí un chatbot WhatsApp que entiende cambios de intención usando Claude API. Detecta si un cliente está preguntando, objetando u listo para comprar, y responde en consecuencia.

Es un template, no un servicio. Deploy en 5 minutos. €89 en Gumroad.

Pruébalo aquí →

Top comments (0)