


Referencia 03 · Recepcionista por WhatsApp y agenda para barberías
Silla Llena
Un recepcionista por WhatsApp y una agenda para barberías. Reserva, cancela y recuerda citas mientras el equipo sigue trabajando.
Lo que la hace distinta: si el barbero bloquea una franja, el sistema sabe a quién avisar. Si atiende a domicilio, cuenta el traslado entre una cita y otra.
Está construida y todavía no está en producción: Supabase está pausado y falta crear el servidor. La demo de esta ficha corre aquí mismo, sin servidor.
Lo quiero para mi proyectoQué resuelve
Que reservar, cancelar y recordar citas deje de comerse la tarde del barbero.
El problema: buscar cupo, reservar, cancelar y recordar citas se hace mensaje por mensaje, mientras el barbero atiende.
Es para dueños y profesionales de barberías. El vocabulario también contempla peluquerías, uñas y spa. La usan el dueño, el barbero y el cliente que pide el turno.
Probador
Pruébalo aquí: la agenda de una barbería de ejemplo.
Qué mirar (3 pasos)
- Abre Hoy: la agenda del día de un barbero de ejemplo.
- Toca «Así lo ve tu cliente» y reserva un turno.
- Vuelve a la agenda y mira la cita nueva. Prueba bloquear una franja o abrir «Ver ruta».
El probador es la demo para que lo pruebes aquí. Esta corre en tu navegador, sin servidor, y usa el mismo gestor de conversación que el bot de WhatsApp.
Datos de ejemplo: la barbería, el equipo y la agenda son ficticios.
Alternativa en texto
- Hoy muestra las citas del día por profesional.
- «Así lo ve tu cliente» abre la conversación por la que se reserva: servicio, adicionales, profesional, día y hora.
- En una cita a domicilio, «Ver ruta» ofrece abrir el destino en Waze o Google Maps.
Funciones
Qué hace, por áreas.
App del barbero
- Muestra Hoy, Mañana, Clientes y Ajustes, con la agenda por profesional.
- Crea citas manuales y bloquea tiempo.
- Configura servicios y equipo.
- Consulta ganancias, avisos y notificaciones.
- Da vistas y permisos distintos al dueño y al barbero.
- Se instala como PWA, una app que se instala desde el navegador, y guarda sus recursos para abrir sin conexión. Reservar sin red no está garantizado.
Asistente y chatbot de WhatsApp
- Entiende español cotidiano y guía servicio, adicionales, profesional, día y hora.
- Consulta, reserva y cancela.
- Pide la autorización de datos.
- Recibe texto, botones guiados y ubicación compartida, y sigue la conversación entre mensajes.
Domicilios
- Guarda dirección y coordenadas, cobertura y tiempos de traslado.
- Propone horarios que caben entre las citas y sus viajes.
- Abre «Ver ruta» con enlace a Waze o Google Maps. Abre una parada a la vez: no optimiza toda la agenda.
Avisos y control
- Manda recordatorios de cita.
- Si el barbero bloquea una franja, avisa a quienes quedan afectados.
- Manda el resumen de la mañana y el aviso del siguiente turno.
- Muestra en la torre del vendedor datos agregados de la salud del negocio.
No incluido hoy
- Relleno automático de huecos.
- Anticipo por Nequi o Wompi: lo retiré. Se paga en la silla.
- Un segundo asistente para el dueño.
- Optimizar toda la ruta del día.
Qué tiene detrás
Lo que pasa por dentro, en dos niveles. Elige el tuyo.
- Tu cliente escribe a tu WhatsApp. La conexión oficial de Meta (WhatsApp Cloud API) entrega el mensaje.
- n8n recibe el mensaje y lo pasa al gestor de diálogo, que pregunta servicio, profesional, día y hora.
- La base de datos decide si el turno cabe. Una regla en la base impide dos citas encimadas, aunque varias personas escriban a la vez.
- El cliente recibe la confirmación por WhatsApp y el barbero ve la cita en su app, en tiempo real.
- Antes de la cita sale el recordatorio. Si el barbero bloquea una franja, el sistema avisa a los afectados.
- Frontend propio en JavaScript, HTML, CSS y SVG, sin framework; motor, intérprete y gestor de diálogo en web/. El build separa la demo del producto con Node y esbuild (0.25.10 declarada).
- Supabase: Postgres, Auth, REST y Realtime por WebSocket, con integración directa y sin SDK en el navegador.
- Una restricción GiST en Postgres impide solapes de citas. La agenda de domicilio incorpora traslado y retorno. Las claves foráneas compuestas impiden mezclar clientes de negocios distintos.
- 21 tablas con RLS (permisos por fila) por identidad y negocio. «Olvido de cliente» limpia mensajes, direcciones y sesiones.
- 9 workflows de n8n verificados como archivos, no como ejecuciones activas: verificación de Meta, agendar (25 nodos), recordatorios, bloqueo de franja, clientes, resumen de la mañana, aviso al barbero, alarmas y eventos con notificaciones push.
- El mismo gestor de conversación sirve a la demo web y a WhatsApp, con sesión persistente y validación final de la reserva en Postgres.
- Seguridad documentada: CSP con hashes, host de Supabase acotado, firma de Meta, deduplicación y límite de mensajes, bloqueo de login. Está documentada; no está auditada en producción.
- Web Push con VAPID desde n8n y Telegram como canal opcional de alarmas. Existe un adaptador hacia Anthropic, pero el flujo actual usa un cerebro guiado sin esa llamada: no es una dependencia.
Despiece · 5 piezas conectadas
- 01App del barbero
- 02Asistente de conversación
- 03Chatbot de WhatsApp con n8n
- 04Supabase
- 05Rutas con Waze o Google Maps
n8n es el conector que une WhatsApp con la base de datos. Supabase es la base de datos en la nube con permisos por persona.
Composición y cuidados
Composición · Nº 03
Composición
- JavaScript, HTML y CSS propios: la app y la demo.
- esbuild: arma el producto y la demo por separado.
- Supabase: agenda, usuarios y tiempo real.
- n8n: conecta WhatsApp con la base.
- Meta WhatsApp Cloud API: mensajes y recordatorios.
- Waze y Google Maps: la ruta de cada parada.
- Web Push: avisos al celular del barbero.
- Telegram (opcional): alarmas del sistema.
Dónde vive
- Cloudflare Workers sirve los archivos públicos: la web y la demo. Las rutas /api/cerebro y /api/torre necesitan servidor y no vienen con los archivos estáticos.
- La infraestructura para n8n está preparada con Docker, Postgres 16, Caddy 2 y n8n, pero no hay un servidor permanente comprobado.
Cuidados
- Hoy depende de reactivar Supabase, que está pausado, y de crear el servidor donde corre n8n.
- Las rutas por calles y la geocodificación están previstas; mientras tanto hay una fórmula de respaldo.
- Versiones declaradas como rangos, no instaladas verificadas: PGlite ^0.5.5, pg ^8.23.0, Playwright ^1.63.0. n8n no tiene versión fija: por defecto usa latest.
Hecho en Manizales · 2026
Guía de tallas
Talla XL: lleva 5 piezas conectadas por dentro. La regla: S de 1 a 2 piezas, M 3, L 4 y XL 5 o más. La letra es una etiqueta; el dato es el conteo.
- App del barbero.
- Asistente de conversación.
- Chatbot de WhatsApp con n8n.
- Supabase.
- Rutas con Waze o Google Maps.
Cifras de tamaño (verificado en el repositorio el 2026-10-08)
- 9 workflows de n8n.
- 25 nodos en el workflow de agendar.
- 15 scripts SQL de evolución.
- 21 tablas declaradas.
- 103 archivos de código en el alcance revisado (incluyen HTML y SQL generados).
- Sin conteo de commits: la carpeta no es un repositorio git.
S de 1 a 2 piezas conectadas, M 3, L 4 y XL 5 o más. La letra es una etiqueta; el dato es el conteo.
Certificado
Las pruebas que respaldan esta pieza.
Verificado en el repositorio · 2026-10-08
- 9automatizaciones de n8nFuente: n8n/wf*.json
- 573pruebas escritas en 18 archivosFuente: conteo de test(/it( en web, db, n8n y herramientas
- 21tablasFuente: create table en db/??_*.sql
- 25nodos en el flujo de WhatsAppFuente: n8n/wf1-agendar.json, nodes.Count
Evidencia (verificado en el repositorio el 2026-10-08)
- 18 archivos de prueba y 573 pruebas escritas (conteo en el código). El conteo incluye funciones auxiliares y afirmaciones: no es un total de casos ejecutables.
- Recorridos de rendimiento y accesibilidad con Playwright y axe (herramientas/e2e).
- Seguridad documentada: CSP con hashes, firma de Meta, deduplicación y límite de mensajes. No equivale a una auditoría de producción.
- Alarmas del workflow WF8 para errores de los demás flujos.
Lo que no afirmo
- Integración continua en GitHub: no encontré ninguna. No descarto que exista una externa.
- Que las pruebas pasen: no las ejecuté.
- Un backend permanente en operación: Supabase está pausado y falta el servidor.
- Pagos integrados: el anticipo se retiró.
- Disponibilidad continua del bot, precisión vial medida ni ahorro por IA.
- Sentry: no encontré integración.
pruebas escritas (conteo en el código)
Lo quiero para mi proyectoUna agenda con recepcionista, para tu negocio
Si tu negocio es una barbería, una peluquería, un spa o cualquier otro que viva de citas, esto se parece a lo que necesitas.
Hoy está construida y no está en producción. Prefiero que lo sepas desde ahora.