BlipLeads
Toda empresa de servicios locales tiene clientes esperando en Google Maps. Nadie tiene tiempo para buscarlos manualmente uno por uno. BlipLeads realiza este rastreo, prioriza a quienes realmente necesitan ayuda y los entrega listos para que el equipo de ventas los contacte.
Galería del Producto
La promesa central del producto: el próximo cliente ya está listado en Google, solo falta contactarlo.
Conozca más sobre la arquitectura técnica
¿Quiere entender cómo se construyó esto por debajo? Abra la inmersión técnica a continuación.
expand_more
Conozca más sobre la arquitectura técnica
¿Quiere entender cómo se construyó esto por debajo? Abra la inmersión técnica a continuación.
Visión Técnica
Google Maps ya muestra quién necesita ayuda: sin sitio web, sin respuesta en WhatsApp, baja calificación o comentarios sin contestar. BlipLeads rastrea Maps por nicho y región, prioriza a los prospectos con mayor probabilidad de cierre y entrega el lead listo con un pitch de WhatsApp redactado, organizado en un tablero Kanban.
Tecnologías Principales
El Desafío
Extraer datos de Google es la parte sencilla. Lo difícil es transformarlo en un pipeline de ventas B2B capaz de atender a múltiples clientes en simultáneo sin agotar límites de API, mezclar cuentas o congelarse en búsquedas prolongadas:
- / Procesar búsquedas de larga duración (Google Places + sondeo de sitios) sin bloquear la solicitud HTTP, mediante jobs asíncronos.
- / Aislar datos por tenant (campañas, leads, métricas) y por rol de usuario (owner/admin/operator/viewer).
- / Evitar leads duplicados por tenant incluso con múltiples campañas activas para el mismo nicho y región.
- / Detectar automáticamente sitios web 'inactivos' listados en Google, transformando un falso positivo en una oportunidad de venta.
La Solución
El flujo es campaña → job → lead. Crear una campaña publica un job en Upstash QStash, que dispara la búsqueda de forma asíncrona — sin congelar la página. La rutina normaliza teléfonos, verifica si el sitio listado está verdaderamente activo, calcula el puntaje de prioridad y guarda todo con índices únicos por cuenta. Dos clientes ejecutando campañas para el mismo nicho no duplican leads.
export function calculatePriorityScore(input: ScoringInput): number {
let score = 0;
if (!input.websiteUri) score += 30;
if (input.rating != null) {
score += (input.rating / 5) * 20;
}
if (input.reviewCount != null && input.reviewCount > 0) {
score += Math.min(25, Math.log10(input.reviewCount + 1) * 15);
}
if (input.businessStatus === 'OPERATIONAL') {
score += 5;
}
return Math.round(score * 100) / 100;
} Infraestructura
Deploy & Jobs Assíncronos
Next.js en Vercel, Postgres en Neon, cola de jobs en Upstash QStash. El scraping se ejecuta fuera del ciclo de la solicitud — nunca bloquea a los usuarios del producto.