Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions AGENCY_STRATEGY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# 🚀 Plan de Acción Acelerado de 3 Días: Cómo Cerrar 2 Clientes de $697/mes Sin Llamadas en Frío

Este documento contiene la estrategia exacta y los guiones de alta conversión para atraer prospectos calificados directamente a tu landing page ([https://nj-business-web.netlify.app/trades-system](https://nj-business-web.netlify.app/trades-system)) y cerrar **mínimo 2 clientes en los próximos 3 días**.

---

## 🎯 Resumen de la Oferta Irresistible

* **Website (Conversion Machine):** $1,500
* **Recepcionista IA Bilingüe 24/7:** $800/mes
* **Hosting + Soporte Especializado:** $150/mes
* **Cambios y Actualizaciones Mensuales:** $150/mes
* **Valor Total de Mercado:** `$2,600+/mes`
* **Precio Especial para Socios Fundadores:** **$697 / mes** (Plazo inicial 6 meses).

---

## 📅 PLAN DE ACCIÓN PASO A PASO (DÍAS 1 A 3)

### 🔴 DÍA 1: Despliegue Orgánico Dirigido & Activación de Red (Inbound)

> **Objetivo del Día 1:** Generar tráfico altamente calificado y curioso hacia la landing page sin hacer puerta fría.

#### Canal 1: Publicaciones de Valor e Impacto en Redes Sociales (LinkedIn / Facebook Groups de Negocios Locales / Instagram)

Publica el siguiente mensaje acompañado de una captura de pantalla o video corto de 30 segundos mostrando la demo interactiva de la Recepcionista IA:

**Texto para la publicación:**
> *"¿Sabías que el 62% de los clientes que llaman a un servicio local (médicos, mecánicos, plomeros, abogados, contadores) y no reciben respuesta se van de inmediato con la competencia?"*
>
> *"Desarrollamos una Recepcionista con Inteligencia Artificial Bilingüe (Español/Inglés) que responde llamadas y mensajes 24/7, responde preguntas de precios y agenda clientes en tiempo real sin contratar personal extra."*
>
> *"Estamos seleccionando únicamente 2 negocios locales este mes para implementar todo el sistema (Sitio Web + Recepcionista IA + Soporte) con un 70% de descuento bajo nuestro programa de Socios Fundadores."*
>
> 📌 *Mira cómo funciona la demostración interactiva en vivo aquí:* https://nj-business-web.netlify.app/trades-system

---

#### Canal 2: Estrategia del "Value Drop" por Mensaje Privado (Inbound Outreach)

Busca negocios locales en Google Maps (Clínicas dentales, Médicos, Talleres, Empresas de Climatización/HVAC, Abogados) que tengan buenas reseñas pero no tengan sitio web moderno ni chat automático. En lugar de venderles, envíales este mensaje corto:

**Mensaje directo (WhatsApp Business / Instagram DM / Messenger):**
> *"Hola [Nombre del Dueño/Negocio], estuve viendo sus excelentes reseñas en Google. Quería preguntarles si actualmente cuentan con un sistema automático para responder y agendar clientes fuera del horario de oficina cuando su recepcionista no está disponible.*
>
> *Creamos una simulación interactiva en vivo de cómo una Recepcionista IA Bilingüe atendería a sus clientes a cualquier hora. Pueden probar la demo gratis aquí: https://nj-business-web.netlify.app/trades-system*
>
> *Quedo a la orden si les gustaría ver cómo aplicarlo en [Nombre de su negocio]. ¡Saludos!"*

---

### 🟡 DÍA 2: Campaña Hiperlocal Meta Ads ($10-$15/día) + Auditorías Express

> **Objetivo del Día 2:** Capturar leads calificados de forma constante mediante anuncios de respuesta directa dirigidos a dueños de negocios locales.

#### Configuración de la Campaña en Meta Ads (Facebook/Instagram):
* **Objetivo:** Tráfico al sitio web o Generación de Clientes Potenciales.
* **Segmentación:** Dueños de Pequeños Negocios, Administradores de Páginas de Facebook, Intereses: Contabilidad, Odontología, Servicios del Hogar, Fontanería, Bienes Raíces.
* **Ubicación:** Tu ciudad / estado (Radio de 25-50 km).

**Copy del Anuncio:**
> 🚨 **Atención Dueños de Negocios Locales:** ¿Cuántos miles de dólares estás perdiendo al mes por llamadas y mensajes no contestados fuera de horario?
>
> Te entregamos una **Página Web de Máxima Conversión + una Recepcionista de IA Bilingüe 24/7** que atiende y agenda clientes automáticamente.
>
> 💰 Valor comercial: $2,600/mes.
> 🔥 Programa Socio Fundador: **Solo $697/mes** (Cupos limitados a 2 negocios).
>
> 👉 Prueba la demo interactiva en vivo y solicita tu cupo aquí: https://nj-business-web.netlify.app/trades-system

---

### 🟢 DÍA 3: Demo de Cierre de 15 Minutos & Firma de Contratos

Cuando un prospecto visite tu landing o envíe sus datos a través del formulario, síguelo de inmediato con este guión de cierre en 3 pasos:

---

## 🎙️ GUIÓN DE CIERRE (15 Minutos - Conversión Rápida)

### Paso 1: Diagnóstico del Dolor (3 Minutos)
* *"Cuéntame [Nombre], ¿cuántas llamadas o mensajes estimas que pierde tu negocio a la semana cuando estás ocupado o fuera del horario laboral?"*
* *"Si cada cliente nuevo te deja un promedio de $[X], perder solo 3 clientes al mes ya representa $[3xX] dólares tirados a la basura, ¿verdad?"*

### Paso 2: Demostración del ROI y Anclaje de Valor (5 Minutos)
* *"Lo que hacemos por ti es resolver esto por completo. En lugar de contratar a una persona bilingüe tiempo completo (que costaría mínimo $2,500 al mes más prestaciones), te entregamos:"*
1. **Una Web Diseñada Exclusivamente para Convertir Visitantes en Clientes ($1,500)**
2. **Una Recepcionista de IA Bilingüe 24/7 ($800/mes)**
3. **Hosting, Mantenimiento y Cambios ilimitados ($300/mes)**
* *"Cualquier agencia te cobraría más de $2,600/mes por todo este paquete."*

### Paso 3: Oferta del Socio Fundador y Escasez (4 Minutos)
* *"Como estamos expandiendo nuestro portafolio de casos de éxito, estamos aceptando solo 2 Socios Fundadores este mes. Te mantendremos el precio congelado en solo **$697/mes** con un compromiso inicial de 6 meses."*
* *"Si recuperas solo 2 o 3 ventas al mes con la IA, el sistema se paga 100% solo y el resto es ganancia neta para ti."*

### Paso 4: Cierre y Pregunta de Selección (3 Minutos)
* *"¿Te gustaría que comencemos la configuración para tener tu página y tu IA lista en los próximos 3 días?"*

---

## 💡 CONSEJOS CLAVE PARA CERRAR EN 3 DÍAS

1. **Velocidad de Respuesta:** Cuando recibas una notificación de lead en tu correo (generada por la backend de tu landing), contáctalo por WhatsApp/teléfono en menos de 5 minutos.
2. **Sin Riesgo para el Cliente:** Recuérdales que no hay cargos sorpresa y que la implementación se realiza en 72 horas.
3. **Uso Activo de la Landing:** Envía el enlace [https://nj-business-web.netlify.app/trades-system](https://nj-business-web.netlify.app/trades-system) a cada dueño con el que hables para que interactúe con la demo bilingüe directamente.
52 changes: 50 additions & 2 deletions backend/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import os
import logging
from pathlib import Path
from pydantic import BaseModel, Field
from pydantic import BaseModel, Field, EmailStr
from typing import List, Optional
import uuid
from datetime import datetime
Expand Down Expand Up @@ -43,13 +43,31 @@ class DateAnswer(BaseModel):
vibe: Optional[str] = None


class LeadCreate(BaseModel):
name: str
business_name: str
email: str
phone: str
message: Optional[str] = ""


class Lead(BaseModel):
id: str = Field(default_factory=lambda: str(uuid.uuid4()))
name: str
business_name: str
email: str
phone: str
message: Optional[str] = ""
created_at: datetime = Field(default_factory=datetime.utcnow)


def send_email_safe(subject: str, html: str) -> bool:
if not resend.api_key or not NOTIFY_EMAIL:
logger.warning("Resend not configured")
return False
try:
resend.Emails.send({
"from": "Jazmin App <onboarding@resend.dev>",
"from": "Agencia IA Premier <onboarding@resend.dev>",
"to": [NOTIFY_EMAIL],
"subject": subject,
"html": html,
Expand Down Expand Up @@ -79,6 +97,36 @@ async def get_status_checks():
return [StatusCheck(**status_check) for status_check in status_checks]


@api_router.post("/leads", response_model=Lead)
async def create_lead(input: LeadCreate):
lead_dict = input.dict()
lead_obj = Lead(**lead_dict)
_ = await db.leads.insert_one(lead_obj.dict())

now = datetime.utcnow().strftime("%Y-%m-%d %H:%M UTC")
html = f"""
<div style="font-family: -apple-system, sans-serif; background: #0f172a; padding: 30px; border-radius: 16px; max-width: 520px; margin: auto; color: #f8fafc; border: 1px solid #334155;">
<h2 style="margin:0 0 14px; color:#a855f7;">🔥 Nuevo Prospecto para Agencia IA ($697/mes)</h2>
<table style="width:100%; border-collapse:collapse; font-size:14px; color:#e2e8f0;">
<tr><td style="padding:8px 0; color:#94a3b8;">Nombre:</td><td style="padding:8px 0;"><b>{lead_obj.name}</b></td></tr>
<tr><td style="padding:8px 0; color:#94a3b8;">Empresa:</td><td style="padding:8px 0;"><b>{lead_obj.business_name}</b></td></tr>
<tr><td style="padding:8px 0; color:#94a3b8;">Email:</td><td style="padding:8px 0;"><b>{lead_obj.email}</b></td></tr>
<tr><td style="padding:8px 0; color:#94a3b8;">Teléfono:</td><td style="padding:8px 0;"><b>{lead_obj.phone}</b></td></tr>
<tr><td style="padding:8px 0; color:#94a3b8;">Mensaje:</td><td style="padding:8px 0;">{lead_obj.message or 'N/A'}</td></tr>
</table>
<p style="margin:18px 0 0; font-size:12px; color:#64748b;">Registrado: {now}</p>
</div>
"""
send_email_safe(f"🚀 Nuevo Prospecto: {lead_obj.business_name}", html)
return lead_obj


@api_router.get("/leads", response_model=List[Lead])
async def get_leads():
leads = await db.leads.find().to_list(1000)
return [Lead(**lead) for lead in leads]


@api_router.post("/notify/yes")
async def notify_yes():
"""Sent when Jazmin clicks YES on the first page."""
Expand Down
5 changes: 4 additions & 1 deletion frontend/src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import Yay from "./pages/Yay";
import DatePick from "./pages/DatePick";
import FoodPick from "./pages/FoodPick";
import Letter from "./pages/Letter";
import AgencyLanding from "./pages/AgencyLanding";
import { DateProvider } from "./context/DateContext";

function App() {
Expand All @@ -13,7 +14,9 @@ function App() {
<DateProvider>
<BrowserRouter>
<Routes>
<Route path="/" element={<AskOut />} />
<Route path="/" element={<AgencyLanding />} />
<Route path="/agency" element={<AgencyLanding />} />
<Route path="/ask" element={<AskOut />} />
<Route path="/yay" element={<Yay />} />
<Route path="/date" element={<DatePick />} />
<Route path="/food" element={<FoodPick />} />
Expand Down
Loading