


La historia
Un programa de lealtad solo funciona si no frena la fila. Los datos de producción mostraron que el 69% de las acciones en caja eran asignar puntos, así que la caja se rediseñó alrededor de un solo gesto: escanear, escribir el monto y tocar. Las recompensas se canjean antes del cobro, y un sello ya entregado hoy es un resultado normal, no un error.
Más allá de la caja, la app y el dashboard web en business.kyloy.com cubren toda la operación: clientes e historial, recompensas, pedidos para recoger, citas, catálogo, sucursales, membresías y estadísticas. Un estudio de tarjeta permite a cada negocio diseñar su pase de Apple/Google Wallet con vista previa en vivo.
La facturación corre en Stripe con cuatro planes, precio anual y portal del cliente. Los límites de cada plan se validan por funcionalidad en la API, y cada pantalla está lista para un "no incluido en tu plan". Un back office interno y una suite end-to-end en Selenium mantienen la plataforma bajo control.
Lo más destacado
Caja en una sola petición
Una visita es una sola llamada a la API. Primero se escriben los puntos y el sello nunca puede revertir una visita ya cobrada.
Escaneo verificado
Cada escaneo, desde la app o desde un pase de Wallet, se verifica en el servidor antes de mover puntos o recompensas, así los códigos no se pueden falsificar ni reutilizar.
Estudio de tarjeta
Colores de marca, imágenes, íconos de sello y layouts con una vista previa fiel del pase de Wallet.
Cobros con Stripe, sin sustos
Un proceso idempotente revisa Stripe antes de bajar de plan a alguien, y un clasificador de cinco casos elige el correo correcto: un plan regalado nunca recibe un "pago fallido".
Pruebas end-to-end reales
233 pruebas en Selenium en 55 suites recorren registro, caja y facturación de punta a punta contra un ambiente real.
Postgres amigable con serverless
NestJS en AWS App Runner con Aurora Serverless v2; un pool mínimo de conexiones permite que la base se pause cuando no hay uso.






