Portafolio ejecutivo · INCAE 2025 Executive portfolio · INCAE 2025

Vicente
Benítez

Economista · Empresario · Grupo Cotorreo · Costa Rica

Economist · Entrepreneur · Grupo Cotorreo · Costa Rica

"Tomé la teoría económica, la mezclé con inteligencia artificial, y la puse a trabajar en seis negocios reales. En casa, Mariela, Daniel desde Noruega y Mateo me recuerdan para qué."

"I took economic theory, mixed it with artificial intelligence, and put it to work across six real businesses. At home, Mariela, Daniel from Norway and Mateo remind me why."

"En el largo plazo, todos estamos muertos."

— John Maynard Keynes

IA en los Negocios AI in Business Automatización Automation Analítica Analytics 10 proyectos10 projects
Vicente Benítez
Autor
Author
Vicente Benítez
Especialización
Program
IA en los Negocios · INCAE
AI in Business · INCAE
Negocios
Businesses
6 unidades · Costa Rica
6 units · Costa Rica
Proyectos
Projects
10 implementados
10 implemented
[ Vicente Benítez ]

Decisiones que mueven el negocio adelante. Decisions that move the business forward.

Soy Vicente. Estudié economía y completé el AD2 en IPADE. Actualmente estoy en la Especialización en IA en los Negocios de INCAE 2025, donde estos diez proyectos surgieron como ejercicios de aprendizaje aplicado.

I'm Vicente. I studied economics and completed the AD2 at IPADE. I'm currently in the AI in Business specialization at INCAE 2025, where these ten projects emerged as applied learning exercises.

Vivo en Costa Rica con Mariela, mi esposa, y Mateo, nuestro hijo de diez años. Daniel, nuestro mayor, estudia en Noruega.

I live in Costa Rica with Mariela, my wife, and Mateo, our ten-year-old son. Daniel, our eldest, studies in Norway.

Cada proyecto que ves aquí reemplazó una hoja de Excel, una libreta o un proceso manual del negocio familiar. Comparto el trabajo no como resultado terminado, sino para mostrar cómo aprendo construyendo, junto a la gente que ya hace el trabajo todos los días.

Each project here replaced a spreadsheet, a notebook, or a manual process from the family business. I share the work not as a finished result, but to show how I learn by building, alongside the people who already do the work every day.

ConversarGet in touch Ver los 10 proyectosView 10 projects
Proyecto 01
Project 01

Sistema de traslados

Transfer management system

App web interna que reemplazó el WhatsApp como canal de coordinación de inventarios entre almacén central y los 6 negocios.

Internal web app that replaced WhatsApp as the coordination channel for inventory transfers between the central warehouse and 6 businesses.

OperativoLive
Ver introducción al proyecto
Watch project introduction
Video narrado con IA · Sistema de traslados · 1 min 21 seg · Abre en YouTube
AI narrated video · Transfer system · 1 min 21 sec · Opens in YouTube
App en vivo — Sistema de traslados Grupo Cotorreo Live app — Grupo Cotorreo transfer system Abrir en ventana completa ↗ Open full screen ↗
Ver dashboard en vivo — Airtable Interfaces
View live dashboard — Airtable Interfaces
KPIs en tiempo real · Comparativo por negocio · Top productos · Abre en Airtable
Real-time KPIs · Business comparison · Top products · Opens in Airtable
Negocios conectados
Connected businesses
6
Plaza, Taquería, Nube, Bebros, Alpadel, Dpto.
Productos en catálogo
Catalog products
449
Con unidad y precio unitario
With unit and unit price
Usuarios activos
Active users
13
Enviadores y receptores por negocio
Senders and receivers per business
Módulos funcionales
Functional modules
6
Enviar, Pendientes, Historial, Reporte, Dashboard, Catálogo
Send, Pending, History, Report, Dashboard, Catalog
Problema que resuelve
Problem solved
Los traslados de productos entre el almacén central y los 6 negocios se coordinaban por WhatsApp y de palabra. No existía registro formal, confirmación documentada ni trazabilidad. Los errores de inventario eran frecuentes y no había forma de auditar qué se envió, cuándo y a quién.
Product transfers between the central warehouse and the 6 businesses were coordinated via WhatsApp and verbal agreements. There was no formal record, documented confirmation or traceability. Inventory errors were frequent and there was no way to audit what was sent, when, and to whom.
Herramientas utilizadas
Tools used
HTML + JavaScript Airtable Netlify Airtable Interfaces IA generativa (sugerencias) Generative AI (suggestions) CSV import
Cómo interviene la IA
How AI is involved
El módulo de envío incluye sugerencias de productos basadas en el historial de traslados por negocio. La IA analiza los patrones de los últimos traslados a cada destino y sugiere los productos más frecuentes, reduciendo el tiempo de registro y los errores de omisión.
The sending module includes product suggestions based on transfer history by business. AI analyzes patterns from recent transfers to each destination and suggests the most frequent products, reducing registration time and omission errors.
Pivotes de transformación digital
Digital transformation pivots
Agilidad operativaOperational agilityTraslados digitales sin WhatsApp ni papel.Digital transfers without WhatsApp or paper.
Acceso y uso de datosData access and useHistorial centralizado y dashboard con KPIs.Centralized history and dashboard with KPIs.
Alineamiento dinámicoDynamic alignmentLos 6 negocios bajo el mismo proceso.All 6 businesses under the same process.
Cultura digitalDigital culture13 usuarios del equipo adoptaron la herramienta.13 team members adopted the tool.
Logros de implementación
Implementation achievements
Catálogo operativo: los 449 productos están importados con unidad y precio. La búsqueda funciona en tiempo real.Catalog live: all 449 products are imported with unit and price. Search works in real time.
Adopción completa: todos los encargados de los 6 negocios usan la app activamente en operación diaria.Full adoption: all managers across the 6 businesses actively use the app in daily operations.
Limitaciones identificadas
Identified limitations
Capacitación del equipo: no todos los encargados tienen el mismo nivel de familiaridad con herramientas digitales, lo que requiere acompañamiento inicial.Team training: not all managers have the same level of digital familiarity, requiring initial support.
Resistencia al cambio: algunos encargados tienden a volver a WhatsApp por comodidad. La consistencia depende tanto de la herramienta como de la cultura operativa.Resistance to change: some managers tend to revert to WhatsApp out of convenience. Consistency depends on both the tool and operational culture.
Arquitectura de un solo archivo: el sistema funciona en un archivo HTML único. Sin control de versiones activo, una modificación no supervisada puede afectar el flujo completo.Single-file architecture: the system runs on a single HTML file. Without active version control, an unsupervised modification can affect the entire flow.
Proyecto 02
Project 02

Bot de WhatsApp

WhatsApp Bot

Sistema de atención automatizada para Plaza Cotorreo y Alpadel — construido sin saber programar, usando IA como copiloto de desarrollo.

Automated customer service system for Plaza Cotorreo and Alpadel — built without programming knowledge, using AI as a development copilot.

BetaBeta
Ver introducción al proyecto
Watch project introduction
Video narrado con IA · Bot de WhatsApp Grupo Cotorreo · Abre en YouTube
AI narrated video · Grupo Cotorreo WhatsApp Bot · Opens in YouTube
Demo en vivo — prueba el bot aquí Live demo — try the bot here Conectado al bot real en producción Connected to the real bot in production

Demo en vivo — escribe "hola" para empezar o prueba: 1, 2, 3

Live demo — type "hola" to start or try: 1, 2, 3

Negocios atendidos
Businesses served
2
Plaza Cotorreo · Alpadel
Platillos en catálogo
Menu items
118
En 15 categorías
Across 15 categories
Pasos en flujo de reserva
Reservation flow steps
7
Nombre, tipo, duración, personas, fecha, hora, teléfono
Name, type, duration, people, date, time, phone
Disponibilidad
Availability
24/7
Sin intervención humana en flujo estándar
No human intervention in standard flow
Problema que resuelve
Problem solved
Grupo Cotorreo recibía consultas de clientes por WhatsApp sin ningún sistema de gestión. Cada mensaje lo atendía una persona manualmente — sin flujos definidos, sin historial, sin posibilidad de escalar. Los pedidos, reservas y consultas dependían de que alguien estuviera disponible para responder en ese momento.
Grupo Cotorreo received customer inquiries via WhatsApp with no management system. Every message was handled manually — no defined flows, no history, no scalability. Orders, reservations and queries depended on someone being available to respond at that moment.
Herramientas utilizadas
Tools used
Node.js + Express WATI Upstash Redis Render VS Code ChatGPT Codex Claude IA generativa (fallback) Generative AI (fallback)
Cómo interviene la IA
How AI is involved
La IA opera en dos dimensiones. Primero, como fallback conversacional: cuando el mensaje del usuario no encaja en ningún flujo definido, el sistema lo enruta a IA generativa que responde en lenguaje natural. Los flujos críticos como reservas y pedidos están protegidos — la IA no puede interferir en ellos. Segundo, como copiloto de desarrollo: el sistema completo fue construido usando VS Code con ChatGPT Codex y Claude. La guía para configurar el entorno también vino de la propia IA.
AI operates in two dimensions. First, as a conversational fallback: when the user's message doesn't match any defined flow, the system routes it to generative AI that responds in natural language. Critical flows like reservations and orders are protected — AI cannot interfere with them. Second, as a development copilot: the entire system was built using VS Code with ChatGPT Codex and Claude. The guidance to configure the environment also came from AI itself.
Construido sin saber programar
Built without knowing how to code
Construí este sistema completo sin conocimientos previos de programación. Usé VS Code como entorno de desarrollo e integré ChatGPT Codex y Claude como copilotos de código. Incluso la guía para configurar el entorno me la dio la propia IA. Andrej Karpathy, cofundador de OpenAI, llama a esto "vibe coding": no necesitas entender el 100% del código — necesitas entender el problema, saber qué pedir y reconocer cuando funciona. Eso es exactamente lo que hice.
I built this entire system without prior programming knowledge. I used VS Code as my development environment and integrated ChatGPT Codex and Claude as code copilots. Even the guidance to set up the environment came from AI itself. Andrej Karpathy, OpenAI co-founder, calls this "vibe coding": you don't need to understand 100% of the code — you need to understand the problem, know what to ask, and recognize when it works. That's exactly what I did.
Pivotes de transformación digital
Digital transformation pivots
Agilidad operativaOperational agilityAtención 24/7 sin intervención humana en flujos estándar.24/7 service without human intervention in standard flows.
Innovación centrada en el clienteCustomer-centered innovationPedidos, reservas y consultas resueltas en el canal que ya usa el cliente.Orders, reservations and queries resolved in the channel the customer already uses.
Cultura digitalDigital cultureUn ejecutivo sin conocimientos técnicos construyó un sistema de producción real con IA.An executive without technical knowledge built a real production system with AI.
Alineamiento dinámicoDynamic alignmentPlaza Cotorreo y Alpadel bajo el mismo sistema de atención.Plaza Cotorreo and Alpadel under the same service system.
Limitaciones identificadas
Identified limitations
Estado en memoria RAM: si el servidor de Render reinicia, los estados activos de conversación y carritos se pierden. El usuario debe empezar de nuevo.In-memory state: if the Render server restarts, active conversation states and carts are lost. The user must start over.
Sin conexión a cocina: el flujo de pedido confirma en el chat pero no está conectado a un sistema POS. La coordinación final sigue siendo manual.No kitchen connection: the order flow confirms in chat but is not connected to a POS system. Final coordination remains manual.
Handoff dependiente de evento: el silenciamiento automático del bot depende de que WATI envíe el evento correcto. Si no llega, el bot no se silencia solo.Event-dependent handoff: automatic bot silencing depends on WATI sending the correct event. If it doesn't arrive, the bot won't silence automatically.
Proyecto 03
Project 03

Automatización de reportes de ventas

Sales report automation

Sistema automático que consolida ventas de cuatro negocios, aplica reglas de cálculo diferenciadas y entrega reportes gerenciales por correo y WhatsApp — sin trabajo manual.

Automated system that consolidates sales from four businesses, applies differentiated calculation rules and delivers management reports by email and WhatsApp — without manual work.

OperativoLive
Ver introducción al proyecto
Watch project introduction
Video narrado con IA · Automatización de reportes · Abre en YouTube
AI narrated video · Report automation · Opens in YouTube
Reporte diario real — 28 de abril 2026 — llega por email automáticamente Real daily report — April 28, 2026 — delivered automatically by email Generado por n8n · datos reales Generated by n8n · real data
REPORTE DIARIO CONSOLIDADO
Fecha operativa: 2026-04-28
----------------------------------
NEGOCIO: BEBROS
- Total dinero recibido: CRC 86,200
- Total tarjetas: CRC 53,800  | Total efectivo: CRC 31,200
- Reversiones: CRC 0  | Faltante: CRC 0
----------------------------------
NEGOCIO: PLAZA COTORREO
- Total dinero recibido: CRC 507,714
- Total tarjetas: CRC 396,489  | Total efectivo: CRC 69,875
- Reversiones: CRC 0  | Excedentes: CRC 25
----------------------------------
NEGOCIO: COTORREO TAQUERÍA
- Total dinero recibido: CRC 628,100
- Total tarjetas: CRC 506,500  | Total efectivo: CRC 99,200
- Reversiones: CRC 0  | Excedentes: CRC 100
----------------------------------
NEGOCIO: NUBE
- Total dinero recibido: CRC 147,000
- Total tarjetas: CRC 49,000  | Total efectivo: CRC 98,000
==================================
TOTAL GENERAL CONSOLIDADO
- Total dinero recibido: CRC 1,369,014
- Total tarjetas: CRC 1,005,789  | Total efectivo: CRC 298,275
- Reversiones: CRC 0  | Faltante: CRC 0
Flujos reales en n8n
Real n8n workflows

Tres flujos automáticos corriendo en producción — construidos y documentados en n8n.cloud

Three automatic workflows running in production — built and documented in n8n.cloud

Flujo 1 — Reporte diario — 14 nodos Flow 1 — Daily report — 14 nodes Corre diariamente · sale por email Runs daily · delivered by email
Ver en n8n ↗ View in n8n ↗
Flujo diario n8n
Flujo 2 — Reporte semanal — 13 nodos Flow 2 — Weekly report — 13 nodes CRON lunes 06:00 · WhatsApp vía WATI CRON Monday 06:00 · WhatsApp via WATI
Ver en n8n ↗ View in n8n ↗
Flujo semanal n8n
Flujo 3 — Reporte mensual — 21 nodos Flow 3 — Monthly report — 21 nodes CRON 1ro del mes · WhatsApp + PDF + Gmail CRON 1st of month · WhatsApp + PDF + Gmail
Ver en n8n ↗ View in n8n ↗
Flujo mensual n8n
Negocios consolidados
Consolidated businesses
4
Plaza, Taquería, NUBE, BEBROS
Niveles de reporte
Report levels
3
Diario, semanal y mensual
Daily, weekly and monthly
Nodos totales en n8n
Total n8n nodes
48
14 + 13 + 21 entre los tres flujos
14 + 13 + 21 across three workflows
Canales de entrega
Delivery channels
3
Email · WhatsApp · PDF
La regla crítica que hace la diferencia
The critical rule that makes the difference
Plaza Cotorreo y Cotorréo Taquería registran ventas acumuladas durante el día — cada corte muestra el total hasta ese momento. Si se suman todos los registros, la venta del día se infla hasta tres veces. La regla correcta es tomar el máximo diario. NUBE y BEBROS registran cierres incrementales — cada registro es venta adicional real — por lo que la regla correcta es sumar todos los cierres. Sin esta distinción, todo el sistema reporta números incorrectos.
Plaza Cotorreo and Cotorreo Taquería record cumulative sales throughout the day — each entry shows the running total. Summing all records inflates the day's sales up to three times. The correct rule is to take the daily maximum. NUBE and BEBROS record incremental closings — each entry is additional real revenue — so the correct rule is to sum all closings. Without this distinction, the entire system reports incorrect numbers.
Cómo interviene la IA
How AI is involved
La IA no calcula los números. Los números vienen de n8n y Google Sheets, validados y consolidados. La IA recibe un JSON con los KPIs ya calculados y redacta el análisis ejecutivo en lenguaje natural: explica variaciones, identifica patrones, genera recomendaciones y convierte una tabla de números en una lectura gerencial útil. Esta separación es intencional — es una regla de diseño del sistema.
AI does not calculate the numbers. Numbers come from n8n and Google Sheets, validated and consolidated. AI receives a JSON with pre-calculated KPIs and drafts the executive analysis in natural language: explains variations, identifies patterns, generates recommendations and converts a table of numbers into useful management insight. This separation is intentional — it is a design rule of the system.
Herramientas utilizadas
Tools used
n8n Google Sheets WATI Gmail Google Drive IA generativa (análisis) Generative AI (analysis) PDF export
Pivotes de transformación digital
Digital transformation pivots
Acceso y uso de datosData access and useDatos operativos dispersos convertidos en información gerencial confiable.Dispersed operational data converted into reliable management information.
Agilidad operativaOperational agilityCero trabajo manual en la generación de reportes.Zero manual work in report generation.
Alineamiento dinámicoDynamic alignmentTodos los negocios bajo los mismos indicadores y criterios de medición.All businesses under the same indicators and measurement criteria.
Cultura digitalDigital cultureLa gerencia toma decisiones con datos en lugar de intuición.Management makes decisions with data instead of intuition.
Limitaciones identificadas
Identified limitations
Dependencia de la calidad del dato: si un negocio no registra bien su cierre diario en Sheets, el reporte de ese negocio queda incompleto. El sistema detecta y alerta pero no corrige automáticamente.Data quality dependency: if a business doesn't properly record its daily closing in Sheets, that business's report is incomplete. The system detects and alerts but does not auto-correct.
Envío por WATI dependiente de templates: si un template no está aprobado o falla, el reporte semanal o mensual no llega por WhatsApp. El email funciona como canal de respaldo.WATI delivery depends on templates: if a template is not approved or fails, the weekly or monthly report won't arrive via WhatsApp. Email works as a backup channel.
Dashboard en vivo
Live dashboard

Conectado a Google Sheets en tiempo real — datos reales de Grupo Cotorreo

Connected to Google Sheets in real time — real Grupo Cotorreo data

Abrir en pantalla completa → Open full screen →

Proyecto 04
Project 04

Sistema de gestión de mantenimiento

Maintenance management system

Sistema automatizado 24/7 que gestiona tickets de mantenimiento para 9 negocios y propiedades — desde el reporte por código QR hasta la confirmación de cierre con fotos de evidencia.

24/7 automated system managing maintenance tickets for 9 businesses and properties — from QR code reporting to closing confirmation with photo evidence.

OperativoLive
Video de introducción — próximamente
Introduction video — coming soon
Formulario de reporte — accesible desde cualquier celular vía código QR Reporting form — accessible from any phone via QR code Abrir en ventana completa ↗ Open full screen ↗
Panel administrador — Airtable Interfaces
Admin dashboard — Airtable Interfaces
Dashboard con tickets por negocio, urgencia y estado · Abre en Airtable
Dashboard with tickets by business, urgency and status · Opens in Airtable
Negocios y propiedades
Businesses and properties
9
Plaza, Taquería, Nube, Alpadel, Bebros + 4 propiedades
Workflows automatizados
Automated workflows
8
WF1 a WF6 corriendo en producción
WF1 to WF6 running in production
Plantillas WhatsApp
WhatsApp templates
12
Aprobadas y activas en WATI
Approved and active in WATI
Usuarios en el sistema
System users
10
4 roles: Administrador, Supervisor, Ejecutor, Encargado
4 roles: Administrator, Supervisor, Executor, Manager
Flujo completo de un ticket — 8 pasos
Complete ticket flow — 8 steps
1. Encargado reporta por código QR desde su celular
2. IA (Claude) clasifica urgencia y categoría automáticamente
3. Vicente, Mariela y Liliana reciben WhatsApp con el resumen
4. Liliana asigna ejecutor y fecha compromiso en Airtable
5. Ejecutor recibe WhatsApp con detalles y fecha límite
6. Ejecutor va al negocio y ejecuta el trabajo
7. Ejecutor sube fotos de evidencia — sin fotos no se puede cerrar
8. Encargado recibe WhatsApp confirmando que su problema fue resuelto
Los 8 workflows en n8n — todos en producción
8 workflows in n8n — all in production

Cada workflow detecta un evento en Airtable y ejecuta la lógica correspondiente automáticamente

Each workflow detects an event in Airtable and executes the corresponding logic automatically

WF1 — Ticket nuevo: clasificar y notificar Claude API clasifica urgencia → WATI notifica al equipo
Ticket nuevo: clasificar y notificar
WF2A — Presupuesto: notificar al ejecutor Detecta tickets pendientes presupuesto → avisa al ejecutor
Presupuesto: notificar al ejecutor
WF2B — Presupuesto: notificar aprobadores Ejecutor llenó materiales → Vicente y Mariela aprueban
Presupuesto: notificar aprobadores
WF2C — Presupuesto: recordatorio 24h Si llevan +24h sin aprobar → recordatorio automático
Presupuesto: recordatorio 24h
WF3 — Ticket asignado: notificar ejecutor Liliana asignó → ejecutor recibe WhatsApp con detalles
Ticket asignado: notificar ejecutor
WF4 — Vencimientos y escalamiento Detecta vencidos → alerta equipo → escala críticos +6h
Vencimientos y escalamiento
WF5 — Cierre: verificar fotos obligatorias Sin fotos → revierte a En proceso · Con fotos → confirma al encargado
Cierre: verificar fotos obligatorias
WF6 — Reporte semanal ejecutivo Claude genera análisis → WATI envía a Vicente y Mariela cada lunes
Reporte semanal ejecutivo
Cómo interviene la IA
How AI is involved
Claude Haiku opera en dos momentos. En la clasificación de tickets: lee la descripción del problema y devuelve en segundos la urgencia sugerida (Baja, Media, Alta o Crítica) y la categoría (Eléctrico, Plomería, Estructura, Equipamiento, Limpieza u Otro). En el reporte semanal: recibe el resumen de todos los tickets de la semana y genera un análisis ejecutivo en español destacando problemas recurrentes, negocios con más incidencias y el estado general del mantenimiento.
Claude Haiku operates in two moments. In ticket classification: reads the problem description and returns in seconds the suggested urgency (Low, Medium, High or Critical) and category (Electrical, Plumbing, Structure, Equipment, Cleaning or Other). In the weekly report: receives a summary of all tickets from the week and generates an executive analysis in Spanish highlighting recurring problems, businesses with most incidents and the overall maintenance status.
Herramientas utilizadas
Tools used
Airtable n8n Cloud WATI Claude API (Haiku) Códigos QR QR Codes Airtable Interfaces
Pivotes de transformación digital
Digital transformation pivots
Agilidad operativaOperational agilityCiclo completo automatizado: reporte → asignación → ejecución → cierre.Fully automated cycle: report → assignment → execution → closing.
Acceso y uso de datosData access and useHistorial completo de mantenimiento por negocio, ejecutor y categoría.Complete maintenance history by business, executor and category.
Alineamiento dinámicoDynamic alignment9 negocios y propiedades bajo el mismo proceso y criterios.9 businesses and properties under the same process and criteria.
Cultura digitalDigital culture10 usuarios con 4 roles distintos adoptaron la herramienta en operación real.10 users with 4 different roles adopted the tool in real operations.
Ecosistemas colaborativosCollaborative ecosystems4 plataformas integradas funcionando como un solo sistema.4 platforms integrated as a single system.
Limitaciones identificadas
Identified limitations
Cambio de hábito: el sistema depende de que los encargados usen el formulario QR en lugar de reportar por WhatsApp personal. Es la limitación más real del proyecto.Habit change: the system depends on managers using the QR form instead of reporting via personal WhatsApp. This is the most real limitation of the project.
Cierre con fotos: el requisito de fotos es un control efectivo pero puede generar fricción con ejecutores no habituados a documentar su trabajo.Photo requirement: mandatory photos are an effective control but can create friction with executors not accustomed to documenting their work.
Latencia de 30 minutos: los workflows corren cada 30 minutos. No es tiempo real, aunque en la práctica es suficiente para la operación de mantenimiento.30-minute latency: workflows run every 30 minutes. Not real-time, though in practice it's sufficient for maintenance operations.
Proyecto 05
Project 05

Sistema de limpieza y dashboard Airbnb

Airbnb cleaning system & dashboard

Automatización que lee reservas desde Airbnb vía iCal, decide qué departamentos limpiar cada día y envía WhatsApp automático al equipo — con dashboard de KPIs en tiempo real conectado a Google Sheets.

Automation that reads Airbnb reservations via iCal, decides which apartments to clean each day and sends automatic WhatsApp to the team — with a real-time KPI dashboard connected to Google Sheets.

OperativoLive
Video de introducción — próximamente
Introduction video — coming soon
Cómo funciona el sistema
How the system works
Airbnb iCal
n8n
Google Sheets
Lógica: ¿termina hoy?
Logic: ends today?
WATI WhatsApp
Lógica central: el sistema corre cada mañana a las 8am. Lee todas las reservas activas, filtra las que terminan ese mismo día y envía un WhatsApp automático al equipo con los departamentos que deben limpiarse antes de las 11:00.
Core logic: the system runs every morning at 8am. It reads all active reservations, filters those ending that same day and sends an automatic WhatsApp to the team with the apartments to clean before 11:00.
Mensajes reales que llegan cada mañana
Real messages delivered every morning
Con limpiezas
With cleanings
🧽 Limpiezas de hoy
Amarillo — 11:00 | Naranja — 11:00
Gracias!!
Sin limpiezas
No cleanings
🧽 Limpiezas de hoy
Hoy no hay limpiezas programadas.
Gracias!!
Todos los deptos
All apartments
🧽 Limpiezas de hoy
Amarillo — 11:00 | Naranja — 11:00 | Morado — 11:00
Gracias!!
Dashboard de operaciones Airbnb — datos en tiempo real Airbnb operations dashboard — real-time data
Cargando datos... Loading data...
Ingreso histórico
Historical revenue
5 propiedades
Confirmado este mes
Confirmed this month
Mejor mes (12m)
Best month (12m)
Peor mes (12m)
Worst month (12m)
Ingresos mensuales por propiedad — últimos 12 meses
Monthly revenue by property — last 12 months
Concentración de ingresos histórica
Historical revenue concentration
Próximas reservas activas
Upcoming active bookings
Cargando...
Loading...
Departamentos cubiertos
Apartments covered
3
Amarillo · Naranja · Morado
Nodos en n8n
n8n nodes
7
CRON → Sheets → Filter → WATI
Hora de ejecución
Execution time
8am
Todos los días automáticamente
Every day automatically
Intervención manual
Manual intervention
0
El sistema decide y envía solo
System decides and sends on its own
Herramientas utilizadas
Tools used
Airbnb iCal n8n Cloud Google Sheets WATI JavaScript (dashboard)
Pivotes de transformación digital
Digital transformation pivots
Agilidad operativaOperational agilityCero decisión manual sobre qué limpiar cada día.Zero manual decision on what to clean each day.
Acceso y uso de datosData access and useDashboard en tiempo real con KPIs de ocupación e ingresos.Real-time dashboard with occupancy and revenue KPIs.
Innovación centrada en el clienteCustomer-centered innovationDepartamento siempre listo a tiempo para el siguiente huésped.Apartment always ready on time for the next guest.
Alineamiento dinámicoDynamic alignmentLos 3 departamentos bajo el mismo proceso automático.All 3 apartments under the same automated process.
Limitaciones y próximos pasos
Limitations and next steps
Sin confirmación de limpieza: el sistema envía el aviso pero no tiene flujo de confirmación. El próximo paso es agregar respuesta del equipo para cerrar el ciclo.No cleaning confirmation: the system sends the notice but has no confirmation flow. Next step is adding team response to close the loop.
Proyecto 06
Project 06

Decisor AHP

AHP Decisor

Aplicación web propia que implementa el método Saaty para tomar decisiones difíciles con rigor: pesos defendibles, validación de consistencia y análisis de sensibilidad.

Custom web application implementing Saaty's method for making difficult decisions with rigor: defensible weights, consistency validation and sensitivity analysis.

En pilotoIn pilot
Video en preparación
Video in preparation
Próximamente · Video narrado con IA · Decisor AHP
Coming soon · AI narrated video · AHP Decisor
App en vivo — Decisor AHP Live app — AHP Decisor Abrir en ventana completa ↗ Open full screen ↗
Caso demostrativo · Demonstrative case · El ejemplo de selección universitaria pre-cargado en la app refleja un perfil tipo — estudiante con interés en finanzas/economía y restricción presupuestaria moderada — no una decisión individual real. La aplicación está abierta al público y permite correr cualquier decisión. The pre-loaded university selection example reflects a typical profile — a student interested in finance/economics with moderate budget constraints — not a real individual decision. The application is publicly open and allows running any decision.
Razón de consistencia
Consistency ratio
0.012
Caso demostrativo · muy por debajo del límite 0.10
Demo case · well below 0.10 threshold
Criterios soportados
Supported criteria
2–12
Configurable por el usuario
User configurable
Alternativas soportadas
Supported alternatives
2–20
Configurable por el usuario
User configurable
Disponibilidad
Availability
24/7
Sin login · sin costos recurrentes
No login · no recurring costs
Problema o necesidad
Problem or need

Las decisiones importantes — empresariales o personales — rara vez son fáciles de comparar. Los criterios son múltiples, no se miden en la misma escala, y las opciones tienen ventajas y desventajas distintas. Un proveedor más barato puede ser menos confiable. Una ubicación con mejor flujo puede tener costos más altos. El instinto del empresario suele resolver esto en milisegundos, pero ese instinto no es trazable: no se puede defender con números, no se puede compartir con un equipo, y no permite revisar la decisión cuando el contexto cambia.

Important decisions — business or personal — are rarely easy to compare. Criteria are multiple, don't share a measurement scale, and options have different advantages and trade-offs. A cheaper supplier may be less reliable. A location with better foot traffic may have higher costs. An entrepreneur's instinct usually solves this in milliseconds, but that instinct is not traceable: it cannot be defended with numbers, cannot be shared with a team, and does not allow revisiting the decision when context changes.

Objetivo
Objective

Construir una aplicación web propia que implemente el método AHP (Analytic Hierarchy Process, método de Saaty) de forma rigurosa, accesible y reutilizable. Cualquier persona — sin formación técnica — debe poder definir criterios, comparar su importancia relativa, evaluar alternativas y obtener un ranking final con análisis de sensibilidad y validación de consistencia. Todo en el navegador, sin servidores ni costos recurrentes.

Build a custom web application implementing AHP (Analytic Hierarchy Process, Saaty's method) rigorously, accessibly and reusably. Anyone — without technical background — should be able to define criteria, compare their relative importance, evaluate alternatives, and obtain a final ranking with sensitivity analysis and consistency validation. All in the browser, without servers or recurring costs.

Herramientas utilizadas
Tools used
HTML JavaScript Tailwind CSS Netlify localStorage Dominio propio Custom domain
Cómo interviene la analítica
How analytics intervenes

Este proyecto no usa IA generativa, y es deliberado. AHP es analítica de decisión clásica — un procedimiento matemático estructurado que existe desde 1980. No requiere IA, requiere rigor. La aplicación calcula el eigenvector principal de la matriz de comparaciones para obtener pesos, itera hasta convergencia (tolerancia 1e-10) para garantizar precisión numérica, calcula el índice de consistencia (CI) y la razón de consistencia (CR) contra la tabla RI de Saaty, bloquea visualmente los resultados si CR ≥ 0.10 (juicios inconsistentes), y ejecuta análisis de sensibilidad moviendo +15 puntos cada criterio para detectar alternativas frágiles. La aplicación demuestra que no toda solución empresarial requiere IA: la elección correcta de método importa más que el método de moda.

This project does not use generative AI, and that's deliberate. AHP is classic decision analytics — a structured mathematical procedure that has existed since 1980. It doesn't require AI, it requires rigor. The application calculates the principal eigenvector of the comparison matrix to obtain weights, iterates until convergence (1e-10 tolerance) for numerical precision, calculates the consistency index (CI) and consistency ratio (CR) against Saaty's RI table, visually blocks results if CR ≥ 0.10 (inconsistent judgments), and runs sensitivity analysis by moving +15 points on each criterion to detect fragile alternatives. The app demonstrates that not every business solution requires AI: choosing the right method matters more than the trendy method.

Beneficio logrado
Achieved benefit

Decisiones complejas que antes se resolvían por intuición — sin trazabilidad, sin validación de consistencia, sin análisis de robustez — ahora pueden estructurarse con pesos defendibles. Cada juicio queda registrado en una matriz auditable, el CR se calcula automáticamente, y la sensibilidad a cambios de peso es visible. El método queda disponible 24/7 en el navegador, sin login y sin costos recurrentes.

Complex decisions previously resolved by intuition — without traceability, without consistency validation, without robustness analysis — can now be structured with defensible weights. Every judgment is recorded in an auditable matrix, CR is automatically calculated, and sensitivity to weight changes is visible. The method remains available 24/7 in the browser, without login and without recurring costs.

Pivotes de transformación digital
Digital transformation pivots

Este proyecto se conecta con tres pivotes de forma sustantiva. Los otros tres no se conectan de manera significativa con la versión actual de la herramienta.

This project connects substantively with three pivots. The other three do not connect meaningfully with the current version of the tool.

Alineamiento dinámico Dynamic alignment Convierte decisiones difusas en juicios trazables que pueden alinearse con la estrategia y revisarse cuando esta cambia. Turns fuzzy decisions into traceable judgments that can align with strategy and be revisited when context shifts.
Cultura y liderazgo digital Digital culture & leadership Demuestra que un empresario puede construir herramientas propias en lugar de comprar software. Cambia la postura de "consumidor" a "constructor". Demonstrates an entrepreneur can build their own tools instead of buying software. Shifts the stance from "consumer" to "builder".
Acceso y uso de datos Data access & use Transforma juicios cualitativos — importancia, prioridad, encaje — en datos cuantitativos consistentes y validados. Transforms qualitative judgments — importance, priority, fit — into consistent and validated quantitative data.
Innovación centrada en el cliente Customer-centric innovation No aplica de forma sustantiva — herramienta de uso interno. Does not apply substantively — internal-use tool.
Agilidad operativa Operational agility Aplicación débil — no es el foco del proyecto. Weak fit — not the project's focus.
Ecosistemas colaborativos Collaborative ecosystems Pendiente — el modo grupal está en próximos pasos. Pending — group mode is in next steps.
Riesgos y limitaciones
Risks and limitations
Falsa sensación de objetividad. Los pesos los pone el decisor, no el método. AHP valida la consistencia de los juicios, no su corrección estratégica. Si los criterios están mal definidos, el resultado será preciso pero irrelevante. False sense of objectivity. Weights are set by the decision-maker, not the method. AHP validates the consistency of judgments, not their strategic correctness. If criteria are poorly defined, the result will be precise but irrelevant.
Sin compartición entre dispositivos. El guardado es local en el navegador. Pasar una decisión a otro equipo requiere exportar el JSON manualmente. No cross-device sharing. Storage is local to the browser. Sharing a decision across devices requires manual JSON export.
No incorpora incertidumbre estadística. AHP asume que el decisor sabe lo que quiere. No modela rangos de confianza ni escenarios probabilísticos. Does not incorporate statistical uncertainty. AHP assumes the decision-maker knows what they want. It does not model confidence ranges or probabilistic scenarios.
Próximos pasos
Next steps
Aplicar la herramienta a una decisión empresarial real de Grupo Cotorreo (selección de proveedor o evaluación de nueva ubicación) y documentar el caso real con datos del negocio. Apply the tool to a real business decision at Grupo Cotorreo (supplier selection or new location evaluation) and document the real case with business data.
Migrar el almacenamiento de localStorage a Airtable para permitir compartir decisiones entre dispositivos. Migrate storage from localStorage to Airtable to allow sharing decisions across devices.
Agregar modo grupal: permitir que varios decisores ingresen comparaciones y agregar resultados. Add group mode: allow multiple decision-makers to input comparisons and aggregate results.
Integrar exportación a PDF del reporte ejecutivo de la decisión. Integrate PDF export of the executive decision report.
Proyecto 07
Project 07

Álbum Mundial FIFA 2026

FIFA World Cup 2026 Album

Web app personal para que mi hijo Mateo (10 años) lleve el control de su álbum físico Panini e intercambie calcomanías con sus amigos del colegio — construída sin saber programar, usando Claude Code como copiloto de desarrollo.

Personal web app for my son Mateo (age 10) to track his physical Panini album and coordinate sticker swaps with his school friends — built without programming knowledge, using Claude Code as a development copilot.

OperativoLive
Abrir app en vivo
Open live app
album-mateo-mundial.netlify.app · PWA instalable en iOS y Android
album-mateo-mundial.netlify.app · Installable PWA on iOS and Android
Demo interactivo — prueba la app aquí Interactive demo — try the app here App real en producción Real app in production

App en vivo — toca "Equipos" o marca alguna calcomanía

Live app — tap "Teams" or mark any sticker

Tiempo de construcción
Build time
1 tarde
1 afternoon
≈4-6 horas efectivas
≈4-6 effective hours
Calcomanías estructuradas
Stickers structured
980
48 equipos × 20 + portada
48 teams × 20 + cover
Usuarios activos
Active users
~11
Mateo + amigos del colegio
Mateo + school friends
Costo de desarrollo
Development cost
$0
Sin programador, sin licencias
No developer, no licenses
Problema que resuelve
Problem solved
Los niños que coleccionan el álbum físico Panini enfrentan tres fricciones recurrentes: olvidan qué calcomanías ya pegaron y terminan con repetidas que no recuerdan, no saben qué necesitan sus amigos para coordinar intercambios eficientes, y no hay registro durable del progreso. Las apps existentes son álbumes digitales paralelos (no companion del físico) o están optimizadas para intercambio global con desconocidos. El hueco específico era una app simple para grupos cerrados de amigos del colegio.
Kids collecting the physical Panini album face three recurring frictions: they forget which stickers they've already pasted and end up with duplicates they don't remember, they don't know what their friends need to coordinate efficient swaps, and there's no durable record of progress. Existing apps are either parallel digital albums (not companions to the physical one) or optimized for global swaps with strangers. The specific gap was a simple app for closed groups of school friends.
Herramientas utilizadas
Tools used
Claude Code HTML + JavaScript React 18 (CDN) Tailwind (CDN) localStorage Netlify Sin build process No build process
Cómo interviene la IA
How AI is involved
La IA no está embebida en la app — el producto funciona con lógica determinista: marca estados, filtra vistas, genera reportes de texto con plantilla. La IA fue el constructor: Claude Code actuó como programador, arquitecto y depurador. Yo describía la necesidad en lenguaje natural ("cuando se completen las 20 calcomanías de un país, marca el equipo en verde", "necesito un botón que genere un mensaje listo para WhatsApp con repetidas y faltantes") y la IA producía el código. La IA también fue la investigadora: produjo un estudio de mercado de 4,500 palabras con análisis competitivo que identificó siete competidores establecidos y llevó a la decisión informada de NO escalar el proyecto comercialmente. Este caso no es de IA embebida en producto, sino de IA aplicada al desarrollo y al análisis de oportunidad por parte de un usuario no técnico.
AI is not embedded in the app — the product runs on deterministic logic: tracks states, filters views, generates template-based text reports. AI was the builder: Claude Code acted as programmer, architect, and debugger. I described needs in natural language ("when the 20 stickers of a country are completed, mark the team green", "I need a button that generates a WhatsApp-ready message with duplicates and missing stickers") and the AI produced the code. AI was also the researcher: produced a 4,500-word market study with competitive analysis that identified seven established competitors and led to the informed decision NOT to scale the project commercially. This is not a case of AI embedded in the product, but of AI applied to development and opportunity analysis by a non-technical user.
Construido sin saber programar — y distribuido sin costo marginal
Built without knowing how to code — and distributed at zero marginal cost
Construí esta app completa —980 calcomanías estructuradas, 48 países con banderas y agrupación por grupo del Mundial, ~150 nombres de jugadores precargados, modal kid-friendly de edición, generador de reporte para WhatsApp, manual visual aparte para los niños, deploy a producción— en aproximadamente cuatro a seis horas concentradas, sin conocimientos previos de programación. Andrej Karpathy, cofundador de OpenAI, llama a esto "vibe coding": no necesitas entender el 100% del código, necesitas entender el problema, saber qué pedir y reconocer cuando funciona.
I built this entire app — 980 structured stickers, 48 countries with flags and World Cup grouping, ~150 preloaded player names, kid-friendly editing modal, WhatsApp report generator, separate visual manual for kids, production deploy — in approximately four to six concentrated hours, without prior programming knowledge. Andrej Karpathy, OpenAI co-founder, calls this "vibe coding": you don't need to understand 100% of the code, you need to understand the problem, know what to ask, and recognize when it works.
Y la lección que llevo a Grupo Cotorreo es más profunda: una vez construida, esta app la pueden usar diez amigos o cincuenta sin que me cueste un centavo adicional. Construir una vez, distribuir muchas veces, sin costo incremental. El cuello de botella para digitalizar dejó de ser el código, y la economía de escala digital dejó de ser exclusiva de las grandes empresas.
And the lesson I take back to Grupo Cotorreo runs deeper: once built, this app can be used by ten friends or fifty without costing me a cent more. Build once, distribute many times, no incremental cost. The bottleneck to digitize is no longer the code, and digital economies of scale are no longer exclusive to large companies.
Pivotes de transformación digital
Digital transformation pivots
Agilidad operativa Operational agility Ciclo idea → producción reducido a horas. Una tarde, una app desplegada, usuarios reales. Idea-to-production cycle reduced to hours. One afternoon, one deployed app, real users.
Acceso y uso de datos Data access and use Convierte una colección física dispersa en inventario estructurado y consultable con filtros y reportes. Turns a scattered physical collection into a structured, queryable inventory with filters and reports.
Ecosistemas colaborativos Collaborative ecosystems Integración con WhatsApp como canal de coordinación entre amigos. Encontrar al usuario donde ya está. Integration with WhatsApp as coordination channel between friends. Meet the user where they already are.
Limitaciones identificadas
Identified limitations
Persistencia local: los datos viven en el dispositivo del usuario. Si Mateo cambia de celular, pierde su progreso. Suficiente para el caso, limitante si quisiera escalarlo.Local persistence: data lives on the user's device. If Mateo switches phones, he loses his progress. Sufficient for this case, limiting if scaling.
Sin medición formal de uso: no hay analítica embebida; los datos de uso son cualitativos — lo que Mateo me cuenta.No formal usage metrics: no embedded analytics; usage data is qualitative — what Mateo tells me.
Sin autenticación: cualquiera con la URL accede. No es problema en este contexto, pero inviable para casos empresariales con datos sensibles.No authentication: anyone with the URL can access. Not a problem in this context, but unworkable for enterprise cases with sensitive data.
Dependencia del criterio del usuario no técnico: construir con IA sin saber programar funciona para apps simples. En sistemas complejos del grupo (POS, contabilidad, inventarios reales) sigo necesitando apoyo técnico para arquitectura, seguridad y mantenimiento. No quiero confundir velocidad con suficiencia.Dependence on non-technical user judgment: building with AI without coding works for simple apps. In complex group systems (POS, accounting, real inventories) I still need technical support for architecture, security, and maintenance. Don't confuse speed with sufficiency.
Proyecto 08
Project 08

Sistema de reservas Grupo Cotorreo

Grupo Cotorreo reservations system

App multi-rol que reemplaza Playtomic (canchas de pádel) y la libreta física (mesas del restaurante) con un sistema unificado: clientes reservan desde un link de WhatsApp, recepción gestiona desde un panel con calendario visual, maestros apartan canchas para sus clases, y gerencia ve KPIs en tiempo real — todo bajo un mismo dominio con autenticación por PIN.

Multi-role app that replaces Playtomic (padel courts) and the physical booking notebook (restaurant tables) with a unified system: clients reserve via WhatsApp deep-link, reception manages from a panel with visual calendar, instructors block courts for their classes, and management sees real-time KPIs — all under one domain with PIN-based authentication.

OperativoLive
📅
Abrir app en vivo
Open live app
reservas.grupocotorreo.com · Express + Airtable + n8n + WATI en producción
reservas.grupocotorreo.com · Express + Airtable + n8n + WATI in production
Demo interactivo — flujo de reserva del cliente Interactive demo — client reservation flow App real en producción Real app in production

App en vivo — toca "Cancha" o "Mesa" para simular una reserva

Live app — tap "Court" or "Table" to simulate a booking

Tiempo de construcción
Build time
~5 días
~5 days
Backend + 4 paneles de rol + diseño
Backend + 4 role panels + design
Roles soportados
Roles supported
5
Cliente, recepción, maestro, salonero, gerencia
Client, reception, instructor, server, management
Volumen objetivo
Target volume
~30/sem
~30/wk
25 canchas Alpadel + 5 mesas Plaza
25 Alpadel courts + 5 Plaza tables
Costo mensual
Monthly cost
$0
Render free + Cloudflare + Airtable plan gratuito
Render free + Cloudflare + Airtable free tier
Problema que resuelve
Problem solved
Antes operaba con dos sistemas desconectados: Playtomic para las canchas de pádel de Alpadel (suscripción con limitaciones de personalización y comisión por reserva) y una libreta física en la recepción del restaurante Plaza Cotorreo (sin trazabilidad, perdía reservas, dependiente de Liliana). El equipo coordinaba por WhatsApp manual: clientes escribían "quiero reservar el sábado", recepción confirmaba a mano, y no había forma de saber cuántos no-shows hubo en el mes ni quién era el cliente más frecuente. Las canchas para maestros (clases privadas con instructor) vivían en una hoja de Excel separada que solo Liliana actualizaba. La oportunidad era unificar todo: un dominio, un sistema, múltiples vistas según el rol de quien entra.
Operations ran on two disconnected systems: Playtomic for Alpadel padel courts (subscription with customization limits and per-booking commission) and a physical notebook at the Plaza Cotorreo restaurant front desk (no traceability, lost reservations, dependent on Liliana). The team coordinated via manual WhatsApp: clients wrote "I want to book Saturday," reception confirmed by hand, and there was no way to know how many no-shows occurred monthly or who the most frequent client was. Courts for instructors (private classes) lived in a separate spreadsheet only Liliana updated. The opportunity was to unify everything: one domain, one system, multiple views based on who logs in.
Herramientas utilizadas
Tools used
Claude Code Node.js + Express Vanilla HTML/CSS/JS Airtable n8n WATI (WhatsApp Business) JWT Render Cloudflare
Cómo interviene la IA
How AI is involved
La IA no opera en runtime — el sistema funciona con lógica determinista: valida teléfonos, crea reservas en Airtable, dispara workflows en n8n, envía templates aprobados por WATI. La IA fue arquitecto y constructor. Claude Code diseñó la separación por roles (gerencia, recepción, maestro, salonero, cliente público), implementó el sistema de PINs con JWT, generó las plantillas de WhatsApp en el idioma adecuado, depuró un fallo crítico de WATI (endpoint v1 deprecado por endpoint v2 con receivers array) y migró 4 workflows de n8n en una sesión. También actuó como diseñador: aplicó sistema de tokens, regla 60-30-10, paleta de marca extraída de los logos físicos, y refinó las 7 pantallas del flujo cliente con preview-and-approve antes de consolidar. Yo describí la necesidad de negocio en lenguaje natural y la IA produjo el código, el diseño, los manuales por rol y la integración con la infraestructura existente del grupo.
AI does not operate at runtime — the system runs on deterministic logic: validates phone numbers, creates Airtable records, triggers n8n workflows, sends WATI-approved templates. AI was architect and builder. Claude Code designed the role separation (management, reception, instructor, server, public client), implemented the PIN system with JWT, generated WhatsApp templates in the right language, debugged a critical WATI failure (deprecated v1 endpoint migrated to v2 with receivers array), and migrated 4 n8n workflows in one session. It also acted as designer: applied a token system, 60-30-10 rule, brand palette extracted from physical logos, and refined the 7 client flow screens with preview-and-approve before consolidating. I described the business need in natural language and the AI produced the code, design, role-specific manuals, and integration with the group's existing infrastructure.
Del vibe coding personal a la app empresarial
From personal vibe coding to enterprise app
Después de validar con la app del Mundial de Mateo que se puede construir software funcional sin saber programar, llevé el método al negocio real. Pero la complejidad subió un orden de magnitud: aquí hay autenticación, múltiples roles con permisos diferenciados, integración con tres servicios externos (Airtable, n8n, WATI), un dominio propio con SSL, y datos sensibles de clientes (teléfonos, cumpleaños) que requieren cuidado. La IA hizo posible que un usuario no técnico orquestara toda esta complejidad, pero el resultado solo es operacionalmente sólido porque hay límites claros: el PAT de Airtable nunca toca el navegador, los PINs son aleatorios y rotables, los logs registran quién hizo qué. La lección es que la combinación de IA + criterio empresarial expande el rango de lo que un dueño puede construir solo — pero no elimina la responsabilidad de pensar en seguridad, mantenibilidad y escalabilidad.
After validating with Mateo's World Cup app that functional software can be built without programming knowledge, I took the method to the real business. But complexity jumped an order of magnitude: this involves authentication, multiple roles with differentiated permissions, integration with three external services (Airtable, n8n, WATI), a custom domain with SSL, and sensitive client data (phone numbers, birthdays) requiring care. AI made it possible for a non-technical user to orchestrate all this complexity, but the result is only operationally sound because clear boundaries exist: the Airtable PAT never touches the browser, PINs are random and rotatable, logs record who did what. The lesson is that AI + business judgment expands what an owner can build alone — but does not remove the responsibility to think about security, maintainability and scalability.
Pivotes de transformación digital
Digital transformation pivots
Agilidad operativa Operational agility De Playtomic (semanas para personalizar, comisión por reserva) a un sistema propio iterado en días, con cero comisión y total control de UX y datos. From Playtomic (weeks to customize, per-booking commission) to a custom system iterated in days, with zero commission and full control over UX and data.
Acceso y uso de datos Data access and use Cada reserva queda registrada con fecha, estado, no-show y precio. Gerencia ve ingresos del día, top clientes y comparativo vs mes anterior sin pedir reportes manuales. Every booking is recorded with date, status, no-show and price. Management sees daily revenue, top clients and month-over-month comparison without requesting manual reports.
Ecosistemas colaborativos Collaborative ecosystems WATI envía confirmación automática al cliente y fan-out al staff (Vicente, Mariela, Liliana, restaurante) cuando entra una reserva. El cliente nunca toca un humano para reservar. WATI sends automatic confirmation to the client and fan-out to staff (Vicente, Mariela, Liliana, restaurant) when a booking arrives. The client never touches a human to reserve.
Experiencia del usuario User experience Sistema de diseño propio con paleta de marca, tipografía Inter, regla 60-30-10 y manuales imprimibles por rol. La app se siente como producto serio, no como prototipo interno. Custom design system with brand palette, Inter typography, 60-30-10 rule and printable role-specific manuals. The app feels like a serious product, not an internal prototype.
Limitaciones identificadas
Identified limitations
Sin pagos online: el cliente reserva pero paga en el lugar. Integrar Stripe o un proveedor local requeriría sesión adicional con criterios de PCI y reconciliación contable.No online payments: the client books but pays on-site. Integrating Stripe or a local provider would require an additional session covering PCI criteria and accounting reconciliation.
Plan gratuito de Render: el backend duerme tras 15 minutos sin tráfico, lo que agrega 30 segundos al primer click del día. Tolerable hoy, requeriría plan pago (~$7/mes) cuando el volumen justifique la inversión.Render free tier: the backend sleeps after 15 minutes without traffic, adding 30 seconds to the first click of the day. Tolerable today, would require paid plan (~$7/month) when volume justifies the investment.
Sin app móvil nativa: es una web app responsive, no está en App Store ni Google Play. Suficiente para el caso (el equipo y los clientes acceden vía navegador), limitante si quisiera notificaciones push o presencia en tiendas.No native mobile app: it's a responsive web app, not in App Store or Google Play. Sufficient for the case (team and clients access via browser), limiting if push notifications or store presence were needed.
Capacidad técnica concentrada: el sistema lo construyó un dueño no técnico con copiloto IA. Si mañaña quiero traspasar el mantenimiento a un programador formal, hay que documentar decisiones y refactorizar partes que crecieron por iteración.Concentrated technical capacity: the system was built by a non-technical owner with an AI copilot. If I want to hand off maintenance to a formal developer tomorrow, I need to document decisions and refactor parts that grew through iteration.
Próximos pasos
Next steps
Capacitar al equipo (Mariela, Liliana, maestros, salonero) y ejecutar el cutover desde Playtomic + libreta, dejando ambos sistemas en paralelo una semana como contingencia. Train the team (Mariela, Liliana, instructors, server) and execute cutover from Playtomic + notebook, running both systems in parallel for a week as contingency.
Migrar la URL del bot WhatsApp existente al nuevo dominio para que clientes con bookmarks viejos converjan al sistema unificado. Migrate the existing WhatsApp bot URL to the new domain so clients with old bookmarks converge to the unified system.
Agregar reportes mensuales automáticos por WhatsApp a gerencia con KPIs comparados contra el año anterior. Add automated monthly WhatsApp reports to management with KPIs compared against the previous year.
Replicar el patrón (Express + Airtable + n8n + WATI + roles por PIN) en otros negocios del grupo — mantenimiento de propiedades, reportes de cierre — con la curva de aprendizaje ya superada. Replicate the pattern (Express + Airtable + n8n + WATI + PIN-based roles) in other group businesses — property maintenance, closing reports — with the learning curve already overcome.
Proyecto 09
Project 09

Sistema de conteo de inventario mensual

Monthly inventory count system

App web mono-archivo que reemplaza la libreta de papel con la que se levantaba el inventario físico mensual en Plaza Cotorreo y Cotorreo Taquería. Doce colaboradores cuentan los 48 espacios (cámaras y bodegas) desde su teléfono — cada uno autenticado por PIN y restringido por sitio — con búsqueda sobre 449 productos del catálogo, captura de cantidades decimales en vivo, total monetario calculado al instante y comparativo automático contra el mes anterior. Sin servidor propio, sin librerías, sin localStorage para datos de negocio: todo el estado vive en Airtable. El primer inventario real se ejecutó el 31 de mayo de 2026 con la app en producción.

Single-file web app that replaces the paper notebook used for monthly physical inventory counts at Plaza Cotorreo and Cotorreo Taquería. Twelve team members count the 48 spaces (refrigerators and dry storage) from their phones — each authenticated by PIN and restricted by site — with search over 449 catalog products, live decimal quantity capture, instant monetary total and automatic comparison against the previous month. No own server, no libraries, no localStorage for business data: all state lives in Airtable. The first real inventory was executed on May 31, 2026 with the app in production.

OperativoLive
📊
Abrir app en vivo
Open live app
inventarios.grupocotorreo.com · standalone HTML + Airtable REST + Netlify
inventarios.grupocotorreo.com · standalone HTML + Airtable REST + Netlify
Demo interactivo — pantalla de login con 12 usuarios reales Interactive demo — login screen with 12 real users App real en producción Real app in production

App en vivo — cada nombre exige PIN, el demo se queda en la pantalla de login

Live app — each name requires PIN, the demo stays at the login screen

Tiempo de construcción
Build time
~6 horas
~6 hours
App + 3 tablas Airtable + manual operativo
App + 3 Airtable tables + operational manual
Usuarios soportados
Users supported
12
Cada uno con PIN propio y sitio asignado
Each with own PIN and assigned site
Volumen catalogado
Catalog size
449
Productos en catálogo · 48 espacios físicos
Products in catalog · 48 physical spaces
Costo mensual
Monthly cost
$0
Netlify free + Cloudflare + Airtable existente
Netlify free + Cloudflare + existing Airtable
Problema que resuelve
Problem solved
El inventario mensual de los dos restaurantes operaba en papel: una persona con una lista impresa recorría las 24 cámaras y bodegas de cada local anotando cantidades a mano. Después alguien transcribía a Excel para tener un valor monetario y compararlo contra el mes anterior. El proceso tomaba dos días, dependía de quién sabía leer la letra de quién contó, perdía renglones, y no quedaba registro de qué productos «suelen vivir» en cada espacio — cada mes empezaba en blanco. Además, no había manera de evitar que personal de Taquería anotara accidentalmente en hojas de Plaza, ni de saber quién contó qué espacio. La oportunidad era una app móvil tan simple como la libreta pero con memoria, validaciones y consolidación automática.
Monthly inventory at both restaurants ran on paper: one person with a printed list walked the 24 refrigerators and dry storage units of each site writing quantities by hand. Then someone transcribed to Excel to get a monetary value and compare against the previous month. The process took two days, depended on who could read whose handwriting, lost rows, and left no record of what products «usually live» in each space — each month started from scratch. Additionally, there was no way to prevent Taquería staff from accidentally writing on Plaza sheets, nor to know who counted which space. The opportunity was a mobile app as simple as the notebook but with memory, validations and automatic consolidation.
Herramientas utilizadas
Tools used
Claude Code Vanilla HTML/CSS/JS Airtable REST API Airtable Meta API Netlify Cloudflare DNS Let's Encrypt
Cómo interviene la IA
How AI is involved
La IA no opera en runtime — la app es HTML+CSS+JS plano que habla directo a Airtable. La IA fue arquitecto, constructor e implementador del despliegue. Claude Code diseñó el modelo de datos en 3 tablas (Inventarios, Inventario_Espacios, Memoria_Espacios), las creó vía Meta API en una llamada, generalizó la carga híbrida (memoria editada > conteo del mes anterior > vacío), implementó el patrón de concurrencia (relectura desde Airtable al abrir cada espacio para no pisar el conteo de otro), el throttle a 5 req/s, los PINs aleatorios y el filtro de sitio por usuario. También manejó el deploy: creó el sitio Netlify vía API, configuró custom domain, esperó al SSL Let's Encrypt y activó force HTTPS — todo automatizado. Además produjo el manual de despliegue para Kati en estilo McKinsey con prueba guiada de 12 pasos. Yo describí reglas de negocio en lenguaje natural y la IA produjo código, infraestructura, datos seed y documentación operativa.
AI does not operate at runtime — the app is plain HTML+CSS+JS talking directly to Airtable. AI was architect, builder and deployment implementer. Claude Code designed the data model in 3 tables (Inventarios, Inventario_Espacios, Memoria_Espacios), created them via Meta API in one call, generalized the hybrid load (edited memory > previous month count > empty), implemented the concurrency pattern (re-read from Airtable when opening each space to not overwrite another's count), the 5 req/s throttle, random PINs and per-user site filter. It also handled deployment: created the Netlify site via API, configured custom domain, waited for Let's Encrypt SSL and enabled force HTTPS — all automated. It also produced the deployment manual for Kati in McKinsey style with a 12-step guided test. I described business rules in natural language and the AI produced code, infrastructure, seed data and operational documentation.
De libreta a app móvil en una tarde
From notebook to mobile app in one afternoon
Este es el proyecto con el ratio construído-a-utilidad más alto del portafolio. La especificación estaba escrita por la IA (secó el problema, propuso el modelo de datos, definió los criterios de aceptación) y la construcción total fue una sesión de seis horas que produjo: app standalone con 5 pestañas, 3 tablas Airtable creadas vía API, edición manual de memoria por espacio, captura de productos fuera de catálogo, sitio Netlify desplegado con SSL, y un manual ejecutivo para la responsable operativa. La pieza interesante es la decisión de no instalar nada: sin frameworks, sin paso de build, sin localStorage para datos de negocio. La app es un único archivo de 134 KB con el logo embebido en base64. Si el cliente quiere editarla, abre un editor de texto. Si quiere migrar de proveedor, copia el archivo. Es la versión más honesta posible del «tu cliente no debe depender de nadie para entender lo que tiene».
This is the project with the highest built-to-utility ratio in the portfolio. The spec was written by AI (dried the problem, proposed the data model, defined acceptance criteria) and total construction was one six-hour session that produced: standalone app with 5 tabs, 3 Airtable tables created via API, manual per-space memory editing, off-catalog product capture, Netlify site deployed with SSL, and an executive manual for the operational lead. The interesting piece is the decision to install nothing: no frameworks, no build step, no localStorage for business data. The app is a single 134 KB file with the logo embedded in base64. If the client wants to edit it, opens a text editor. If they want to migrate provider, copy the file. It's the most honest version possible of «your client should not depend on anyone to understand what they have».
Pivotes de transformación digital
Digital transformation pivots
Agilidad operativa Operational agility El conteo que tomaba dos días (campo + transcripción) se vuelve un día sin transcripción: lo capturado en el celular ya es el valor monetario consolidado. The count that took two days (field + transcription) becomes one day without transcription: what was captured on the phone is already the consolidated monetary value.
Acceso y uso de datos Data access and use Comparativo automático contra el mes anterior por sitio, espacio y producto, con variación absoluta y porcentual. Antes no existía más allá del total general. Automatic comparison against the previous month by site, space and product, with absolute and percentage variation. Previously it didn't exist beyond the overall total.
Alineamiento dinámico Dynamic alignment Los dos restaurantes operan bajo el mismo flujo, mismas tablas y misma vista de reporte. Antes cada uno tenía su libreta y formato. Both restaurants operate under the same flow, same tables and same report view. Previously each had its notebook and format.
Cultura digital Digital culture Doce colaboradores con PIN propio, varios de los cuales nunca habían usado una herramienta digital de trabajo. La curva de aprendizaje son cinco minutos con Kati. Twelve team members with their own PINs, several of whom had never used a digital work tool. The learning curve is five minutes with Kati.
Experiencia del usuario User experience Filtro por sitio: quien solo cuenta en Taquería no ve Plaza, evitando errores honestos. Carga híbrida: el espacio se prellena con los productos esperados para que el conteo sea solo escribir cantidades. Site filter: those who only count at Taquería don't see Plaza, preventing honest errors. Hybrid load: the space pre-fills with expected products so counting is just typing quantities.
Limitaciones identificadas
Identified limitations
Token de Airtable en el cliente: el PAT vive embebido en el HTML, igual que la app hermana de traslados. Quien vea el código fuente puede leer/escribir la base. Es el riesgo aceptado del cliente por evitar mantener un backend; mitigación futura sería un proxy ligero con autenticación.Airtable token on client: the PAT lives embedded in HTML, same as sister app of transfers. Anyone viewing source can read/write the base. It's the client's accepted risk to avoid maintaining a backend; future mitigation would be a lightweight proxy with authentication.
PINs en el código: los PINs de los 12 usuarios viven hardcodeados en el archivo, no en una tabla separada. Cambiar un PIN requiere editar y redeployar. Adecuado para honor system actual, no para alta rotación.PINs in code: the 12 user PINs are hardcoded in the file, not in a separate table. Changing a PIN requires editing and redeploying. Adequate for current honor system, not for high rotation.
Sin alertas automáticas: nadie recibe aviso si llegamos a fin de mes con espacios sin contar. Kati debe revisar manualmente desde la pestaña En progreso antes de cerrar.No automated alerts: nobody gets notified if month-end approaches with uncounted spaces. Kati must manually check from In Progress tab before closing.
Sin gráficas de tendencia: el reporte muestra comparativo mes a mes pero no la serie histórica visualizada. Para ver tendencia de 6 meses hay que exportar CSVs y graficar aparte.No trend charts: the report shows month-over-month comparison but not the visualized historical series. To see a 6-month trend, CSVs must be exported and charted separately.
Próximos pasos
Next steps
Agregar gráficas de tendencia 6 meses en la pestaña Reporte (Chart.js o equivalente, mantiene la regla de monoarchivo). Add 6-month trend charts in the Report tab (Chart.js or equivalent, keeps the single-file rule).
Integrar el cierre mensual con n8n para que el CSV final se mande automáticamente por WhatsApp a Vicente y a contabilidad. Integrate monthly closing with n8n so the final CSV is automatically sent via WhatsApp to Vicente and accounting.
Replicar el patrón «HTML standalone + Airtable + Netlify» en otros conteos del grupo: bodega de licores Alpadel, suministros de propiedades Airbnb. Replicate the «standalone HTML + Airtable + Netlify» pattern in other group counts: Alpadel liquor storage, Airbnb property supplies.
Proyecto 10
Project 10

Cotorreo 2026 — la quiniela mundialista Cotorreo

Cotorreo 2026 — the World Cup pool for cotorreo dads

App web mobile-first lanzada para el Mundial 2026 (USA · Canadá · México). Los clientes pronostican los 104 partidos del torneo, acumulan puntos por acierto, y canjean esos puntos por consumo real en Plaza Cotorreo, Alpadel y Bebros. Lo que en cualquier bar es una quiniela de cerveza con premio final aquí se convierte en un programa de loyalty con narrativa: el papel del producto es mover visitas incrementales a los tres negocios durante 40 días. El sistema corre completo — login OTP por WhatsApp, cálculo de puntos, códigos del día en pizarra que disparan multiplicadores, canjes con código de 6 dígitos que la encargada valida desde su tablet — sobre una sola base Airtable compartida con el álbum físico de stickers de mi hijo Mateo, para que el cross-promo entre productos del ecosistema sea natural. Construido en una sola sesión de Claude Code en mayo 2026, listo 11 días antes del partido inaugural.

Mobile-first web app launched for the 2026 World Cup (USA · Canada · Mexico). Customers predict all 104 tournament matches, accumulate points per correct prediction, and redeem those points for real consumption at Plaza Cotorreo, Alpadel and Bebros. What in any bar would be a beer pool with a final prize becomes here a loyalty program with narrative: the product's job is to drive incremental visits to the three businesses across 40 days. The system runs end-to-end — WhatsApp OTP login, point calculation, daily codes on chalkboards that trigger multipliers, redemptions with 6-digit codes that the manager validates from her tablet — on a single Airtable base shared with my son Mateo's physical sticker album, so cross-promotion across the ecosystem's products is natural. Built in a single Claude Code session in May 2026, ready 11 days before the opening match.

OperativoLive
🏆
Abrir app en vivo
Open live app
mundial.grupocotorreo.com · React CDN + 8 Netlify Functions + Airtable + WATI
mundial.grupocotorreo.com · React CDN + 8 Netlify Functions + Airtable + WATI
Demo interactivo — pantalla de login con OTP por WhatsApp Interactive demo — WhatsApp OTP login screen App real en producción Real app in production

App en vivo — el OTP llega por WhatsApp del propio bot Cotorreo

Live app — OTP arrives via WhatsApp from the Cotorreo bot itself

Tiempo de construcción
Build time
1 sesión
1 session
Backend, frontend, deploy y carga de datos en una tarde con Claude Code
Backend, frontend, deploy and data load in one afternoon with Claude Code
Partidos cargados
Matches loaded
104
Fixtures FIFA reales con hora Costa Rica + 18 ganadores de repechajes
Real FIFA fixtures with Costa Rica time + 18 playoff winners
Premios canjeables
Redeemable rewards
11
Bebros, Plaza y Alpadel · margen del programa 83%
Bebros, Plaza and Alpadel · program margin 83%
Costo mensual
Monthly cost
$0
Netlify free + Airtable existente + WATI existente
Netlify free + existing Airtable + existing WATI
Problema que resuelve
Problem solved
Un Mundial pasa cada cuatro años y todo el comercio local lo aprovecha de alguna manera, pero casi siempre con la misma idea: pantalla grande, especial de cerveza y promoción de boca. El grupo ya tiene tres negocios que se complementan en el ciclo de un papá futbolero — el padel donde juega con los amigos, el restaurante donde almuerza con la familia y la sala de juegos infantiles donde lleva al hijo — pero nada los conecta como un solo ecosistema. La oportunidad no era vender más cerveza durante el Mundial; era usar el evento para arrancar el músculo de loyalty cruzado entre los tres negocios, con una mecánica que el papá quiera jugar porque le hace ganar cosas que importan en su casa (entrada para que el niño vaya a Bebros gratis), no solo para él (una cerveza fría).
A World Cup happens every four years and all local businesses leverage it somehow, almost always with the same idea: big screen, beer special and word-of-mouth promotion. The group already has three complementary businesses that match a soccer dad's cycle — the padel court where he plays with friends, the restaurant where he has lunch with family, the kids' game room where he takes his son — but nothing connects them as a single ecosystem. The opportunity wasn't selling more beer during the World Cup; it was using the event to bootstrap the cross-loyalty muscle between the three businesses, with a mechanic the dad wants to play because it lets him win things that matter at home (free entry for his kid to go to Bebros), not just for himself (a cold beer).
Herramientas utilizadas
Tools used
Claude Code React 18 via CDN Tailwind CSS Netlify Functions Airtable REST + Meta API WATI WhatsApp API Cloudflare DNS Let's Encrypt
Cómo interviene la IA
How AI is involved
La IA no opera en runtime: la app es React via CDN con Babel inline contra Netlify Functions serverless que hablan a Airtable. La IA fue asesor estratégico antes de ser constructor. Primero discutí la idea conceptual durante una hora — Claude Code presionó preguntas incómodas («quien es tu cliente target exactamente?», «cuál es tu ticket promedio?», «tu mecánica de ‹obligar a venir› no es la correcta, debe ser ‹hacer más divertido venir›») y solo después arrancó la implementación. Construyó las 7 tablas Airtable vía Meta API, cargó los 104 partidos del Mundial con hora Costa Rica, leyó el Excel real de precios de Bebros para no inventar el catálogo, diseñó las 8 Netlify Functions con autenticación simple y validación del cierre 5 minutos antes del partido, deployó a Netlify vía su API y configuró el subdominio mundial.grupocotorreo.com. Cuando los repechajes UEFA y FIFA terminaron en marzo, buscó los ganadores en Wikipedia y actualizó los 18 partidos placeholder en lote. También me obligó a rotar tres tokens que yo había pegado en chat sin pensar — la IA hizo lo correcto y fue mi sparring de seguridad antes que mi ejecutor.
AI does not operate at runtime: the app is React via CDN with inline Babel against serverless Netlify Functions talking to Airtable. AI was strategic advisor before being builder. First I discussed the conceptual idea for an hour — Claude Code pressed uncomfortable questions («who exactly is your target customer?», «what's your average ticket?», «your ‹force them to come› mechanic is wrong, it should be ‹make coming more fun›») and only then began implementation. It built the 7 Airtable tables via Meta API, loaded the 104 World Cup matches with Costa Rica time, read the actual Bebros pricing Excel to not invent the catalog, designed the 8 Netlify Functions with simple authentication and 5-minute pre-match cutoff validation, deployed to Netlify via its API and configured the mundial.grupocotorreo.com subdomain. When the UEFA and FIFA playoffs ended in March, it found the winners on Wikipedia and updated the 18 placeholder matches in batch. It also forced me to rotate three tokens I had pasted in chat without thinking — AI did the right thing and was my security sparring partner before my executor.
Estrategia primero, código después
Strategy first, code second
El proyecto entero arrancó con un mensaje mío ambiguo: «se me ocurre una app interactiva que mis clientes puedan agregar resultados de los partidos y quien gane reciba premios». La IA no se puso a codear de inmediato. En su lugar pulsó la idea durante varios mensajes hasta convertirla en algo defendible: identificó que «obligar a consumir» era el verbo equivocado, que el premio final único mata el engagement al día 10 y hay que escalonar micro-premios, que Bebros como sala de juegos infantiles desbloqueaba el ángulo emocional «papá héroe en casa» que no tenía competencia, y que cualquier mecánica de captura de tickets vía OCR era overkill para 40 días — reemplazada por «código del día» escrito en pizarra de cada local que fuerza visita física sin tocar el POS. Esto es lo que hace que la IA sea útil al día a día de un fundador: no acepta el brief como te lo dicta el cliente (en este caso, yo mismo), lo somete a fricción primero, y solo cuando está afilado pasa a la ejecución.
The entire project started with an ambiguous message of mine: «I'm thinking of an interactive app where my customers can add match results and whoever wins gets prizes». AI didn't start coding immediately. Instead it pressured the idea over several messages until it became defensible: it identified that «force them to consume» was the wrong verb, that a single final prize kills engagement by day 10 and you must stagger micro-rewards, that Bebros as a kids' game room unlocked the «hero dad at home» emotional angle with no competition, and that any OCR-based ticket capture mechanic was overkill for 40 days — replaced by «daily code» written on each location's chalkboard that forces physical visits without touching the POS. This is what makes AI useful in a founder's day-to-day: it doesn't accept the brief as the client (in this case, me) dictates it, it submits it to friction first, and only when it's sharpened does it move to execution.
Pivotes de transformación digital
Digital transformation pivots
Modelo de negocio Business model El Mundial deja de ser un evento de 40 días y pasa a ser el primer caso del programa de loyalty cruzado del grupo. El sistema queda construido para Liga MX, Champions y Eurocopa 2028 sin tocar nada del backend. The World Cup stops being a 40-day event and becomes the first use case of the group's cross-loyalty program. The system stays built for Liga MX, Champions and Euro 2028 without touching the backend.
Experiencia del usuario User experience Cero app por descargar, cero password, cero formulario largo. Tipeaás tu celular, recibís OTP por WhatsApp del bot Cotorreo, estás jugando en 35 segundos. Zero app to download, zero password, zero long form. You type your phone, receive OTP via WhatsApp from the Cotorreo bot, you're playing in 35 seconds.
Acceso y uso de datos Data access and use Cada pronóstico, código del día activado y canje queda en Airtable enriqueciendo el CRM del grupo. El leaderboard se calcula en vivo con rollups nativos sobre la tabla de pronósticos. Every prediction, activated daily code and redemption lands in Airtable enriching the group CRM. The leaderboard computes live with native rollups over the predictions table.
Agilidad operativa Operational agility Mariela valida canjes desde una vista filtrada de Airtable en su tablet — busca el código de 6 dígitos, cambia estado a entregado, listo. No requiere POS, no requiere lector de QR, no requiere capacitación más allá de 15 minutos. Mariela validates redemptions from a filtered Airtable view on her tablet — searches the 6-digit code, changes status to delivered, done. No POS required, no QR reader required, no training beyond 15 minutes required.
Cultura digital Digital culture Papás del grupo de WhatsApp del colegio de Mateo — varios recién descubriendo apps web puras sin descarga — se loguean por OTP del bot que ya conocen y juegan toda la fase de grupos sin un solo soporte técnico solicitado. Dads from my son Mateo's school WhatsApp group — several just discovering pure web apps with no download — log in via OTP from the bot they already know and play the entire group stage without a single tech support request.
Limitaciones identificadas
Identified limitations
Cálculo de puntos manual entre semanas: los puntos se calculan al cerrar cada partido por un workflow n8n que se dispara con cron horario. Si un partido termina en tiempo extra inusual, hay un margen de unos minutos donde el leaderboard aún no refleja el resultado.Inter-week manual point calculation: points are calculated when each match closes via an hourly cron n8n workflow. If a match ends in unusual overtime, there's a few-minute window where the leaderboard doesn't yet reflect the result.
Sesión basada en localStorage: validamos identidad con celular + papaId al hacer writes, pero no hay JWT firmado. Suficiente para esta escala (200 usuarios, premios de monto bajo, todos del círculo cercano), no para escalar a producto público.localStorage-based session: we validate identity with phone + papaId on writes, but there's no signed JWT. Sufficient for this scale (200 users, low-value rewards, everyone in close circle), not for scaling to a public product.
Eliminatorias requieren actualización manual: de 16avos en adelante los equipos cambian con cada resultado. Hay un panel admin protegido por secret para hacerlo en lote desde el cel, pero alguien debe estar pendiente.Knockouts require manual update: from round of 32 onward, teams change with each result. There's a secret-protected admin panel to do it in batch from mobile, but someone must be on it.
Cap de Netlify free: 125k invocaciones de Functions al mes. Para 200 usuarios activos durante 40 días la proyección es ~80k. Margen cómodo, pero hay que monitorear si crece.Netlify free cap: 125k Function invocations per month. For 200 active users over 40 days the projection is ~80k. Comfortable margin, but worth monitoring if it grows.
Próximos pasos
Next steps
Recordatorio diario a las 8am por WhatsApp con los partidos del día pendientes de pronosticar (workflow n8n con WATI). Daily 8am WhatsApp reminder with the day's matches pending prediction (n8n workflow with WATI).
Pantalla TV en Plaza Cotorreo mostrando el leaderboard en vivo: cuando un cliente termina su comida y ve su nombre rotando entre los Top 5, la dopamina hace su trabajo. TV screen at Plaza Cotorreo showing the live leaderboard: when a customer finishes their meal and sees their name rotating among Top 5, dopamine does its job.
Reutilizar la misma infraestructura para la Liga MX Apertura 2026 y la Champions 2026-27 sin reescribir nada — solo cambiar el dataset de partidos. Reuse the same infrastructure for Liga MX Apertura 2026 and Champions 2026-27 without rewriting anything — just swap the matches dataset.
Informe estratégico · Entregable INCAE
Strategic report · INCAE deliverable

Informe estratégico Grupo Cotorreo 2026

Grupo Cotorreo Strategic Report 2026

Análisis de los negocios del Grupo en Costa Rica a partir de sus datos reales de ventas y operación (enero–mayo 2026), leídos con el marco de los seis pivotes de evolución digital y traducidos a OKR accionables.

An analysis of the Group's businesses in Costa Rica from their real sales and operations data (January–May 2026), read through the six digital-evolution pivots and turned into actionable OKRs.

📅 Fecha: 31 mayo 2026 📅 Date: May 31, 2026 🏢 Alcance: Plaza · Taquería · Bebros · Nube · Alpadel · BENU 🏢 Scope: Plaza · Taquería · Bebros · Nube · Alpadel · BENU 📊 Base: ~2.060 cierres de caja reales · ene–may 2026 📊 Base: ~2,060 real cash closes · Jan–May 2026
00 · El encargo
00 · The brief

La pregunta que responde este informe

The question this report answers

«¿Cómo debe Grupo Cotorreo convertir los datos que ya genera en decisiones que protejan sus ingresos —hoy concentrados en dos negocios y dependientes de la tarjeta— y le devuelvan el control de la caja, en los próximos 90 días?»

"How should Grupo Cotorreo turn the data it already generates into decisions that protect its revenue —today concentrated in two businesses and card-dependent— and restore cash control over the next 90 days?"

Conjunto de datos → «qué ha ocurrido»

Dataset → "what happened"

~2.060 cierres de caja reales de Plaza, Taquería, Bebros y Nube (ene–may 2026), leídos directo de tus hojas de operación.

~2,060 real cash closes from Plaza, Taquería, Bebros and Nube (Jan–May 2026), read straight from your operations sheets.

Marco estratégico → «cómo pensar al respecto»

Strategic framework → "how to think about it"

Los 6 pivotes de evolución digital, leídos con la lente data-driven de los casos: de silos a un repositorio único (AXA) y la «intuición informada», decidir con datos y no solo por instinto (HBR).

The 6 digital-evolution pivots, read through the data-driven lens of the cases: from silos to a single repository (AXA) and "informed intuition", deciding with data not just instinct (HBR).

Pregunta empresarial → «por qué es importante»

Business question → "why it matters"

Pádel en auge, gastronomía con el turismo a la baja y un cliente que ya vive en WhatsApp: el entorno que vuelve urgente proteger ingresos hoy.

Padel booming, food service with tourism slowing, and a customer who already lives on WhatsApp: the context that makes protecting revenue urgent now.

Como equipo de analistas de IA, este informe entrega las tres piezas del encargo: análisis integrado (datos + marco + mercado), evidencia visual diseñada a medida —no plantillas— y una estrategia viable con recomendaciones priorizadas y respaldadas por tus datos.

As an AI analyst team, this report delivers the three pieces of the brief: integrated analysis (data + framework + market), visual evidence custom-designed —not templates— and a viable strategy with prioritized, data-backed recommendations.

01 · Resumen ejecutivo
01 · Executive summary

Lo que dicen tus números

What your numbers say

① Dos negocios cargan el Grupo

① Two businesses carry the Group

Plaza (₡86M) y Taquería (₡66M) son ~74% de las ventas de ene–may 2026. La concentración es alta: lo que le pase a Plaza, le pasa al Grupo.

Plaza (₡86M) and Taquería (₡66M) are ~74% of Jan–May 2026 sales. Concentration is high: what happens to Plaza happens to the Group.

② Plaza crece y concentra

② Plaza grows and concentrates

Plaza llegó a su máximo en mayo (₡19.6M) y sigue creciendo. Taquería se mantiene estable (~₡13M/mes); el que se suaviza es Bebros (de ₡7M en enero a ₡5M).

Plaza peaked in May (₡19.6M) and keeps growing. Taquería is stable (~₡13M/mo); the one softening is Bebros (from ₡7M in January to ₡5M).

③ Vives de la tarjeta

③ You live on card

76–79% de los ingresos de tus dos grandes entran por tarjeta. Es comisión real cada mes y, a la vez, tu mayor palanca de negociación con el adquirente.

76–79% of your two big businesses' revenue comes in by card. That's a real monthly fee and, at once, your biggest lever to negotiate with the acquirer.

④ Hay fuga de caja medible

④ There is measurable cash leakage

~₡1.06M en faltantes acumulados en 5 meses (≈₡212K/mes). No es un supuesto: es tu dato, y es el primer OKR con baseline real.

~₡1.06M in accumulated shortfalls over 5 months (≈₡212K/month). Not an assumption: it's your data, and the first OKR with a real baseline.

02 · Datos reales
02 · Real data

Panorama financiero · enero–mayo 2026

Financial overview · January–May 2026

Extraído directamente de tus hojas de cierre de caja (las que ya alimentan los dashboards). Cifras en colones. Cada venta diaria se calcula con la regla de tus reportes n8n: deduplicación de cortes repetidos y, en Plaza y Taquería, el máximo del día (cortes acumulativos), no la suma de turnos. Alpadel y las tablas de operación no aparecen aquí: viven en Airtable (pendientes de conectar).

Pulled straight from your cash-close sheets (the ones already feeding the dashboards). Figures in colones. Each daily sale follows your n8n report rule: dedup of repeated closes and, for Plaza and Taquería, the day's max (cumulative closes), not the sum of shifts. Alpadel and the operations tables aren't here: they live in Airtable (pending connection).

₡205M
ventas 4 negocios · ene–may
4-business sales · Jan–May
₡41M/mes
promedio mensual
monthly average
77%
ingresos por tarjeta (Plaza+Taquería)
card revenue (Plaza+Taquería)
₡1.06M
faltantes de caja · 5 meses
cash shortfalls · 5 months
5 props
Airbnb BENU · 214 limpiezas/reservas
Airbnb BENU · 214 cleanings/bookings

Ventas por negocio · ene–may 2026 (millones ₡)

Sales by business · Jan–May 2026 (₡ millions)

Plaza y Taquería concentran el 83%
Plaza and Taquería hold 83%

Tendencia mensual por negocio (millones ₡)

Monthly trend by business (₡ millions)

La historia clave: Plaza ↑ vs Taquería ↓
The key story: Plaza ↑ vs Taquería ↓

Mezcla de pago por negocio (millones ₡)

Payment mix by business (₡ millions)

La dependencia de tarjeta es la palanca de comisión
Card dependence is the fee lever
03 · Diagnóstico
03 · Diagnosis

Los seis pivotes de evolución digital

The six digital-evolution pivots

Cada pivote se evalúa con la evidencia de tus datos reales. Autoevaluación cualitativa (0–100); el objetivo es la meta a 90 días.

Each pivot is assessed with evidence from your real data. Qualitative self-assessment (0–100); the target is the 90-day goal.

Estado actual vs. objetivo a 90 días

Current state vs. 90-day target

1 · Agilidad operativa1 · Operational agility🟢

Capturas ~2.060 cierres de caja por turno en 5 meses y los reportes salen solos. La operación diaria ya corre digital y a tiempo.

You capture ~2,150 per-shift cash closes in 5 months and reports run themselves. Daily operations already run digitally and on time.

Acción 90 días90-day actionCerrar los huecos: hay turnos con registros en cero. Meta: 100% de turnos capturados <12h.Close the gaps: some shifts post zeros. Goal: 100% of shifts captured <12h.
2 · Acceso y uso de datos2 · Data access & use🟡

Tienes datos granulares por turno, pero repartidos en 5 hojas + Airtable, sin un tablero único del Grupo —el mismo patrón de silos que el caso AXA resolvió con un repositorio central—. Los faltantes de ₡1.06M no se vigilan en tiempo real.

You have granular per-shift data, but split across 5 sheets + Airtable, with no single Group dashboard —the same silo pattern AXA solved with a central repository—. The ₡1.06M shortfalls aren't watched in real time.

Acción 90 días90-day actionConsolidar las 5 hojas en un tablero financiero único con alertas de faltante.Consolidate the 5 sheets into one financial dashboard with shortfall alerts.
3 · Alineamiento dinámico3 · Dynamic alignment🟡

La concentración del crecimiento en Plaza y el reblandecimiento de Bebros no tienen dueño ni meta. No hay OKR ni scorecards semanales que conecten estrategia con estos números.

Plaza's growth concentration and Bebros's softening have no owner or target. There are no OKRs or weekly scorecards tying strategy to these numbers.

Acción 90 días90-day actionScorecard semanal por gerente con 3–5 métricas reales (ventas, faltante, mezcla de pago).Weekly per-manager scorecard with 3–5 real metrics (sales, shortfall, payment mix).
4 · Cultura digital4 · Digital culture🟡

Los cajeros ya alimentan el sistema cada turno, pero leer y actuar sobre los datos depende del fundador. El equipo captura, todavía no analiza.

Cashiers already feed the system each shift, but reading and acting on the data depends on the founder. The team captures, it doesn't yet analyze.

Acción 90 días90-day actionCapacitar a 2 gerentes para leer su scorecard y proponer 1 mejora con base en datos.Train 2 managers to read their scorecard and propose 1 data-based improvement.
5 · Innovación centrada en el cliente5 · Customer-centric innovation🟡

Tienes apps de cara al cliente (reservas, quiniela, bot) y operación Airbnb (5 props, 214 limpiezas), pero no mides NPS: no hay voz del cliente sistemática.

You have customer-facing apps (reservations, pool, bot) and Airbnb ops (5 props, 214 cleanings), but you don't measure NPS: no systematic customer voice.

Acción 90 días90-day actionEncuesta NPS post-compra por WhatsApp en Plaza y Taquería; fijar baseline.Post-purchase NPS survey via WhatsApp in Plaza and Taquería; set a baseline.
6 · Ecosistemas colaborativos6 · Collaborative ecosystems🟡

Integraciones técnicas sólidas (Sheets, Airtable, WATI, n8n), pero el 77% del ingreso pasa por un adquirente cuya comisión no has renegociado. El ecosistema externo no está optimizado.

Solid technical integrations (Sheets, Airtable, WATI, n8n), but 77% of revenue flows through an acquirer whose fee you haven't renegotiated. The external ecosystem isn't optimized.

Acción 90 días90-day actionPedir propuesta de comisión a 2 adquirentes usando el volumen real de tarjeta como palanca.Request fee proposals from 2 acquirers using real card volume as leverage.
04 · Objetivos
04 · Objectives

OKRs Q3 2026 — próximos 90 días

OKRs Q3 2026 — next 90 days

Tres objetivos atados a tus números reales. En verde, baselines reales tomados de tus datos; en ámbar, lo que falta confirmar.

Three objectives tied to your real numbers. In green, real baselines from your data; in amber, what still needs confirming.

Roadmap de iniciativas · julio → septiembre 2026

Initiative roadmap · July → September 2026

OperaciónOperations
O1 · Tapar la fuga de caja y consolidar el dato financiero
O1 · Stop the cash leakage and consolidate financial data
KR1Bajar los faltantes de caja de ₡212K/mes (real) a ≤₡100K/mes en los 4 negocios.Cut cash shortfalls from ₡212K/mo (real) to ≤₡100K/mo across the 4 businesses.
KR2Un tablero financiero único del Grupo que reemplace las 5 hojas dispersas y muestre cierre diario consolidado.One Group financial dashboard replacing the 5 scattered sheets, with consolidated daily close.
KR3100% de turnos con cierre capturado <12h (hoy hay turnos en cero / huecos).100% of shifts with close captured <12h (today some shifts post zeros/gaps).
ClienteCustomer
O2 · Sostener el mix de negocios y empezar a oír al cliente
O2 · Sustain the business mix and start hearing the customer
KR1Estabilizar Bebros: revertir su baja a ≥₡6M/mes (baseline mayo ₡4.8M real).Stabilize Bebros: recover to ≥₡6M/mo (May baseline ₡4.8M real).
KR2NPS post-compra por WhatsApp en Plaza y Taquería: fijar baseline + ≥ meta respuestas. (no medido hoy)Post-purchase NPS via WhatsApp in Plaza and Taquería: set baseline + ≥ target responses. (not measured today)
KR3Activar la quiniela como fidelización: ≥ meta canjes en Plaza/Alpadel/Bebros en el Mundial. (baseline a confirmar)Activate the pool as loyalty: ≥ target redemptions at Plaza/Alpadel/Bebros during the World Cup. (baseline TBC)
Equipo · CulturaTeam · Culture
O3 · De fundador-analista a un equipo que lee sus números
O3 · From founder-analyst to a team that reads its numbers
KR1100% de gerentes con scorecard semanal de 3–5 métricas reales en producción.100% of managers running a weekly 3–5 real-metric scorecard.
KR2≥ 2 mejoras o reportes nuevos propuestos por gerentes a partir de los datos (no por el fundador).≥ 2 data-driven improvements or reports proposed by managers (not the founder).
KR3≥ meta% de colaboradores con login activo mensual en el stack. (baseline a confirmar)≥ target% of staff with monthly active login in the stack. (baseline TBC)
05 · Contexto
05 · Context

Condiciones actuales del mercado

Current market conditions

Las fuerzas externas que mueven a tus negocios en Costa Rica. Cada cifra trae fuente, año y qué significa para ti.

The external forces shaping your businesses in Costa Rica. Each figure carries source, year and what it means for you.

~15+ clubes
El pádel pasó de ~5 clubes pre-pandemia a más de 15 en CR (+200%), incluida La Fortuna de San Carlos, cerca de tu base.
Padel grew from ~5 pre-pandemic clubs to 15+ in CR (+200%), including La Fortuna de San Carlos, near your base.
Para Alpadel: tu deporte está en auge pero llega competencia. La ventana para captar y fidelizar jugadores es ahora.
For Alpadel: your sport is booming but competition is coming. The window to capture and retain players is now.
El Financiero / La Nación, 2025 · elfinancierocr.com
65% ocupación
Las pistas de los clubes federados de pádel (~100 pistas, 10 clubes) se usan el 65% del tiempo disponible.
Federated padel club courts (~100 courts, 10 clubs) are used 65% of available time.
Para Alpadel: demanda sólida y ~35% de capacidad ociosa. Reservas y horarios valle con descuento pueden llenar esas horas.
For Alpadel: solid demand and ~35% idle capacity. Booking and discounted off-peak slots can fill those hours.
El Financiero, 2025 · elfinancierocr.com
70% restaurantes
El 70% del gasto en comer fuera en CR es en restaurantes y comida rápida; pero 2026 viene cauto: colón caro y 2,2% menos turistas hasta sep-2025.
70% of CR eating-out spend goes to restaurants and fast food; but 2026 looks cautious: strong colón and 2.2% fewer tourists through Sep-2025.
Para Plaza, Taquería y Bebros: el viento de cola del turismo se enfría. Retener al cliente local pesa más que nunca.
For Plaza, Taquería and Bebros: the tourism tailwind is cooling. Retaining locals matters more than ever.
USDA FAS Costa Rica HRI, 2025 · fas.usda.gov
90%+ WhatsApp
WhatsApp supera el 90% de penetración en varios países de LATAM. La gente ya compra por chat (~$18 mil millones en 2025, +35%) y 7 de cada 10 de esas compras pasan por WhatsApp.
WhatsApp exceeds 90% penetration in several LATAM countries. People already buy via chat (~$18B in 2025, +35%) and 7 of 10 of those purchases go through WhatsApp.
Para todo el Grupo: el canal donde ya atiendes (bot, reservas, reportes) es donde está el dinero. Vender y fidelizar por WhatsApp es la jugada natural.
For the whole Group: the channel where you already serve (bot, reservations, reports) is where the money is. Selling and retaining via WhatsApp is the natural move.
Fuente de proveedor (Aurora Inbox / EasySell), 2025–26 — tratar con cautela · aurorainbox.com
Vendor source (Aurora Inbox / EasySell), 2025–26 — treat with caution · aurorainbox.com
+22% lealtad
Gamificar un programa de fidelización sube la lealtad ~22% y el engagement ~47%; el 45% de los comensales cambió de marca favorita en un año.
Gamifying loyalty lifts loyalty ~22% and engagement ~47%; 45% of diners switched favorite brand in a year.
Para tu quiniela y los canjes: el juego retiene y la lealtad es frágil. Un programa de puntos cross-negocio ataca esa fuga.
For your pool and redemptions: play retains and loyalty is fragile. A cross-business points program targets that churn.
Antavo 2025 · Tillster 2026 · antavo.com

Penetración de WhatsApp en LATAM — el canal de tus clientes

WhatsApp penetration in LATAM — your customers' channel

% de usuarios por país · fuente de proveedor, referencia
% of users by country · vendor source, reference
Nota de rigor: los datos de pádel y restaurantes vienen de medios y fuentes oficiales (El Financiero, La Nación, USDA). Las cifras de WhatsApp/comercio conversacional son de blogs de proveedores: tómalas como orden de magnitud, no como dato auditado.
Rigor note: padel and restaurant data come from media and official sources (El Financiero, La Nación, USDA). WhatsApp/conversational-commerce figures are from vendor blogs: treat as orders of magnitude, not audited data.
06 · Plan de acción
06 · Action plan

Recomendaciones — top 5 por impacto/esfuerzo

Recommendations — top 5 by impact/effort

1

Vigilancia semanal de faltantes de caja

Weekly cash-shortfall watch

Reporte semanal de faltante por negocio y turno sobre el dato que ya capturas. Atacas ₡212K/mes de fuga sin tecnología nueva.

Weekly shortfall report by business and shift on data you already capture. Attacks ₡212K/mo of leakage with no new tech.

Impacto altoHigh impactEsfuerzo bajoLow effortPivotes 2 · 3Pivots 2 · 3
2

Negociar la comisión de tarjeta

Negotiate the card fee

77% de tus ingresos grandes pasan por tarjeta. Con ese volumen real, pide propuesta a 2 adquirentes; cada punto de comisión es dinero directo.

77% of your big revenue runs on card. With that real volume, request bids from 2 acquirers; every fee point is direct money.

Impacto altoHigh impactEsfuerzo bajo-medioLow-medium effortPivote 6Pivot 6
3

Diagnosticar el reblandecimiento de Bebros

Diagnose Bebros's softening

De ₡7M en enero a ₡5M. Cruza ventas por día y mezcla de pago para hallar la causa antes de que se vuelva tendencia anual.

From ₡7M in January to ₡5M. Cross sales by day and payment mix to find the cause before it becomes an annual trend.

Impacto altoHigh impactEsfuerzo medioMedium effortPivotes 1 · 3Pivots 1 · 3
4

NPS + fidelización con la quiniela

NPS + loyalty with the pool

Mide la voz del cliente por WhatsApp y usa la quiniela del Mundial como programa de puntos cross-negocio. La lealtad es frágil; el juego retiene.

Measure customer voice via WhatsApp and use the World Cup pool as a cross-business points program. Loyalty is fragile; play retains.

Impacto medio-altoMed-high impactEsfuerzo medioMedium effortPivote 5Pivot 5
5

Tablero financiero único del Grupo

One Group financial dashboard

Consolidar las 5 hojas + Airtable en un solo tablero con cierre diario y alertas. La apuesta grande: alto impacto, mayor esfuerzo. Empezar acotado.

Consolidate the 5 sheets + Airtable into one dashboard with daily close and alerts. The big bet: high impact, highest effort. Start narrow.

Impacto altoHigh impactEsfuerzo altoHigh effortPivote 2Pivot 2
Grupo Cotorreo · Vicente Benítez · 31·05·2026
Entregable curso IA agéntica · INCAE · Prof. Diego Murillo-Esquivel. Datos reales de ventas ene–may 2026 (Google Sheets de cierre de caja). Alpadel y las tablas de Airtable (tickets, reservas, quiniela, inventario): pendientes de conectar.
Agentic AI course deliverable · INCAE · Prof. Diego Murillo-Esquivel. Real sales data Jan–May 2026 (cash-close Google Sheets). Alpadel and the Airtable tables (tickets, reservations, pool, inventory): pending connection.
Assessment estratégico · Lente consultor senior
Strategic assessment · Senior-consultant lens

Grupo Cotorreo: diagnóstico estratégico y plan de valor a 24 meses

Grupo Cotorreo: strategic diagnosis and 24-month value plan

Evaluación crítica de las cuatro unidades (Plaza, Taquería, Bebros, Nube Suites) en Ciudad Quesada, San Carlos. No valida decisiones: busca palancas de rentabilidad, ineficiencias y ventaja competitiva. Anclado en los datos reales de ventas ene–may 2026 y en condiciones de mercado verificadas.

A critical review of the four units (Plaza, Taquería, Bebros, Nube Suites) in Ciudad Quesada, San Carlos. It does not validate decisions: it hunts for profit levers, inefficiencies and competitive advantage. Anchored in real Jan–May 2026 sales data and verified market conditions.

Pregunta estratégica: ¿cómo maximizar rentabilidad, tráfico, retención, utilización de instalaciones y ventaja competitiva en los próximos 24 meses?
Strategic question: how to maximize profitability, traffic, retention, facility utilization and competitive advantage over the next 24 months?
📍 Ciudad Quesada · Zona Norte 📍 Ciudad Quesada · Northern Zone 📊 ₡205M ventas reales · 5 meses 📊 ₡205M real sales · 5 months 🗓️ 31 mayo 2026 🗓️ May 31, 2026
01 · Resumen ejecutivo
01 · Executive summary

La tesis en una página

The thesis on one page

74%
de las ventas en 2 unidades (Plaza+Taquería)
of sales in 2 units (Plaza+Taquería)
47%
del activo de hospedaje ocioso (8 de 17 hab.)
of lodging asset idle (8 of 17 rooms)
77%
de ingresos por tarjeta → fuga de comisión
of revenue by card → fee leakage
₡1.06M
faltantes de caja en 5 meses
cash shortfalls in 5 months

El activo más valioso está apagado

The most valuable asset is switched off

Nube Suites opera 9 de 17 habitaciones. El hospedaje es de costo fijo y margen incremental alto: cada habitación reactivada es casi utilidad pura. Es la palanca #1 de valor.

Nube runs 9 of 17 rooms. Lodging is fixed-cost, high-incremental-margin: each reactivated room is nearly pure profit. It's the #1 value lever.

Apuestas a una cocina que no es la default local

Betting on a cuisine that isn't the local default

El 74% de tus ventas son conceptos mexicanos, pero el 67% del tico prefiere comida típica (gallo pinto, casados). Eso explica por qué los competidores de comida típica se ven más llenos.

74% of sales are Mexican concepts, yet 67% of Costa Ricans prefer typical food. That explains why typical-food competitors look busier.

Bebros se apaga por gestión, no por competencia

Bebros fades from management, not competition

No hay un FEC rival en San Carlos (moat real), pero Bebros cayó de ₡7M a ₡5M. El problema es monetización: fiestas, membresías y reservas, no demanda.

There's no rival FEC in San Carlos (real moat), yet Bebros fell from ₡7M to ₡5M. The issue is monetization: parties, memberships, bookings — not demand.

Complejidad creciendo más rápido que la utilidad

Complexity growing faster than profit

Cuatro modelos distintos (restaurante, street food, FEC, hospedaje) con 21 personas y promociones simultáneas sin P&L. La atención gerencial está dispersa y diluye el margen.

Four distinct models (restaurant, street food, FEC, lodging) with 21 staff and simultaneous promos with no P&L. Management attention is scattered and dilutes margin.

Concentración de ingresos por unidad

Revenue concentration by unit

ene–may 2026 · millones ₡ (datos reales)
Jan–May 2026 · ₡ millions (real data)

Utilización de Nube Suites

Nube Suites utilization

habitaciones activas vs. ociosas
active vs. idle rooms
02 · Hallazgos estratégicos
02 · Strategic findings

Top 10 estratégicos

Top 10 strategic

1
Riesgo de concentraciónalto
Concentration riskhigh

74% de ventas en 2 unidades del mismo rubro (comida mexicana). Un golpe a Plaza o Taquería golpea al Grupo entero.

74% of sales in 2 units of the same category (Mexican food). A hit to Plaza or Taquería hits the whole Group.

2
Desalineación con el paladar local
Mismatch with the local palate

67% prefiere comida típica; el portafolio core es mexicano. Falta un ancla de comida típica de alto margen (casados, desayunos) para capturar al cliente default.

67% prefer typical food; the core portfolio is Mexican. A high-margin typical-food anchor (casados, breakfasts) is missing to capture the default customer.

3
Nube: el activo ocultoalto
Nube: the hidden assethigh

47% de habitaciones ociosas = ingreso de alto margen sin explotar. Reactivarlas es la vía más rápida de crear valor de empresa.

47% idle rooms = untapped high-margin revenue. Reactivating them is the fastest way to build enterprise value.

4
Ecosistema sin capturar
Uncaptured ecosystem

Plaza (familia) ↔ Bebros (niños) ↔ Nube (hospedaje) ↔ Taquería (mall) no se refuerzan con cross-sell medido. La sinergia es el activo intangible más grande y está dormido.

Plaza (family) ↔ Bebros (kids) ↔ Nube (lodging) ↔ Taquería (mall) don't reinforce each other with measured cross-sell. Synergy is the biggest intangible asset and it's asleep.

5
Mercado creciente, competencia entrando
Growing market, competition entering

San Carlos es el cantón más competitivo fuera de la GAM; llegan PriceSmart, Pequeño Mundo y cadenas. Sube el piso de expectativa y el costo de ubicación. Ventana para fidelizar ahora.

San Carlos is the most competitive canton outside the GAM; PriceSmart, Pequeño Mundo and chains are arriving. The expectation floor and location cost rise. Window to build loyalty now.

6
Bebros tiene moat pero se desperdicia
Bebros has a moat but wastes it

El entretenimiento infantil sigue subatendido fuera de la GAM (sin Chuck E. Cheese/KidZania cerca). Bebros podría ser recurrencia (fiestas, membresías) en lugar de tráfico suelto a la baja.

Kids entertainment is still underserved outside the GAM (no Chuck E. Cheese/KidZania nearby). Bebros could be recurring (parties, memberships) instead of declining walk-in.

7
El dato existe; la decisión no lo usa
Data exists; decisions don't use it

Hay captura granular en tiempo real (dashboards, n8n), pero precio, promo y staffing se deciden por intuición. La ventaja analítica está construida y sin explotar.

There's granular real-time capture (dashboards, n8n), but pricing, promo and staffing are decided by intuition. The analytical edge is built and untapped.

8
Dependencia de un solo adquirente
Single-acquirer dependence

77% del ingreso de los dos grandes pasa por tarjeta. Es comisión recurrente y un punto único de negociación que no se ha usado como palanca.

77% of the two big units' revenue runs on card. It's recurring fee and a single negotiation point not yet used as leverage.

9
Marca de Grupo difusa
Diffuse group brand

Cuatro nombres, cuatro promesas. Sin un programa de lealtad transversal, el cliente de una unidad no se traslada a las otras. La quiniela Cotorreo 2026 es el vehículo natural y está infrautilizado.

Four names, four promises. Without a cross-cutting loyalty program, a customer of one unit doesn't move to the others. The Cotorreo 2026 pool is the natural vehicle and it's underused.

10
El alza laboral no es el salario mínimo
The labor rise isn't the minimum wage

El mínimo subió 1.63% en 2026 (modesto). Si el costo laboral creció más, el problema es staffing vs. tráfico por franja horaria, no la ley. Hay que medirlo, no asumirlo.

The minimum wage rose 1.63% in 2026 (modest). If labor cost grew more, the problem is staffing vs. traffic by daypart, not the law. Measure it, don't assume it.

03 · Hallazgos operativos
03 · Operational findings

Top 10 operativos

Top 10 operational

1
Control de caja con fuga medible
Cash control with measurable leakage

₡1.06M en faltantes en 5 meses (≈₡212K/mes). Nube es la más "efectivo" (46% tarjeta): mayor riesgo de descuadre y skimming.

₡1.06M shortfalls in 5 months (≈₡212K/mo). Nube is the most cash-heavy (46% card): higher risk of mismatch and skimming.

2
8 habitaciones de Nube fuera de servicio
8 Nube rooms out of service

Definir si es capex de reactivación o decisión de cierre. Hoy es costo fijo sin ingreso.

Decide if it's reactivation capex or a closure call. Today it's fixed cost with no revenue.

3
Promociones sin P&L incremental
Promos without incremental P&L

Múltiples promos a la vez sin saber cuáles generan utilidad nueva vs. descuento a demanda que ya venía. Probable destrucción de margen.

Multiple simultaneous promos without knowing which create new profit vs. discount existing demand. Likely margin destruction.

4
Staffing por horario, no por tráfico
Staffing by opening hours, not traffic

Sin curva de tráfico por franja, el personal cubre horas muertas. Plaza (200 asientos) y Bebros tienen valles claros que sobre-emplean.

Without a daypart traffic curve, staff cover dead hours. Plaza (200 seats) and Bebros have clear troughs that over-staff.

5
Street food sub-preciado
Underpriced street food

Quesabirria y birria ramen son premium-ables. Taquería puede subir ticket sin perder volumen con menú de ingeniería (anclas y combos).

Quesabirria and birria ramen are premium-able. Taquería can lift ticket without losing volume via menu engineering (anchors and combos).

6
Comisión de tarjeta sin renegociar
Card fee not renegotiated

~₡152M/año de volumen de tarjeta en los dos grandes. Cada punto de comisión es utilidad directa.

~₡152M/yr of card volume in the two big units. Every fee point is direct profit.

7
Embudo de fiestas/eventos inexistente
No party/event funnel

Bebros y la cocina de Plaza (200 asientos) pueden vender fiestas y catering reservables de alto margen. No hay proceso de captación ni calendario.

Bebros and Plaza's kitchen (200 seats) can sell high-margin bookable parties and catering. There's no capture process or calendar.

8
Inventario y merma sin cerrar el ciclo
Inventory and waste loop not closed

Existe app de conteo mensual, pero falta conectar merma y costo de plato (food cost %) a la decisión de menú y compra.

A monthly count app exists, but waste and plate cost (food cost %) aren't connected to menu and purchasing decisions.

9
Sin cadencia de revisión semanal
No weekly review cadence

No hay scorecard por gerente. Los datos llegan, pero no hay rutina de decisión sobre ellos.

No per-manager scorecard. Data arrives, but there's no decision routine on it.

10
Captura de cierres con huecos
Gaps in close capture

Hay turnos en cero y emails duplicados (ya deduplicados en el cálculo). Limpiar la fuente mejora la confianza del dato para decidir.

Some shifts post zeros and duplicate emails (already deduped in the calc). Cleaning the source improves data trust for decisions.

04 · Errores probables
04 · Likely mistakes

Lo que probablemente se está haciendo mal

What is likely being done wrong

·

Tratar las 4 unidades como igual de estratégicas: Nube y Bebros están infra-gestionadas mientras la comida recibe casi toda la atención.

Treating all 4 units as equally strategic: Nube and Bebros are under-managed while food gets most attention.

·

Lanzar promociones sin grupo de control ni P&L: se descuenta demanda que ya iba a comprar.

Running promos without a control group or P&L: discounting demand that was already going to buy.

·

Dejar 8 habitaciones apagadas: es el error más caro en términos de costo de oportunidad.

Leaving 8 rooms switched off: the costliest mistake in opportunity-cost terms.

·

Competir como "mexicano" en un mercado que prefiere típico, sin una cuña clara (precio, experiencia o nicho).

Competing as "Mexican" in a typical-preferring market without a clear wedge (price, experience or niche).

·

Sub-preciar el street food premium (birria) y dejar margen en la mesa.

Underpricing premium street food (birria) and leaving margin on the table.

05 · Oportunidades ocultas
05 · Hidden opportunities

El valor escondido

The hidden value

Reactivar Nube
Reactivate Nube

De 9 a 17 habitaciones: ingreso de alto margen casi sin costo marginal.

From 9 to 17 rooms: high-margin revenue at near-zero marginal cost.

Bebros recurrente
Recurring Bebros

Fiestas y membresías mensuales: ingreso predecible sobre un moat local.

Parties and monthly memberships: predictable revenue on a local moat.

Lealtad cross-negocio
Cross-business loyalty

La quiniela Cotorreo 2026 como programa de puntos que mueve clientes entre las 4 unidades.

The Cotorreo 2026 pool as a points program moving customers across the 4 units.

Ancla de comida típica
Typical-food anchor

Casados/desayunos de alto margen en Plaza para capturar al 67% que hoy va con el competidor.

High-margin casados/breakfasts in Plaza to capture the 67% now going to the competitor.

El stack como activo
The stack as an asset

La automatización (n8n+Airtable+WhatsApp) es rara en una PYME: es ventaja de costo y un activo de venta.

The automation (n8n+Airtable+WhatsApp) is rare in an SMB: a cost advantage and a saleable asset.

06 · Mayor ROI
06 · Highest ROI

Dónde poner la atención gerencial

Where to put management attention

Valor anual estimado por palanca. Son estimaciones direccionales: requieren tus datos de costo y margen para cerrarlas. Sirven para priorizar, no como promesa.

Estimated annual value per lever. These are directional estimates: they need your cost and margin data to firm up. Use them to prioritize, not as a promise.

Valor en juego por palanca (estimación direccional, ₡M/año)

Value at stake per lever (directional estimate, ₡M/yr)

orden de magnitud · a validar con costos reales
order of magnitude · to validate with real costs
Honestidad analítica: no tengo tus márgenes, costos laborales ni food cost. Las cifras de valor son hipótesis basadas en el ingreso real y en benchmarks de industria. El primer entregable real debería ser un P&L por unidad — sin él, cualquier ROI es estimado.
Analytical honesty: I don't have your margins, labor costs or food cost. The value figures are hypotheses based on real revenue and industry benchmarks. The first real deliverable should be a per-unit P&L — without it, any ROI is an estimate.
07 · Ejecución
07 · Execution

Plan de 90 días y roadmap a 12 meses

90-day plan and 12-month roadmap

Días 1–30
Days 1–30
Quick wins de caja y dato: reporte semanal de faltantes; renegociar comisión de tarjeta (2 adquirentes); P&L por unidad (1 página); decisión Nube: reactivar vs. cerrar las 8 habitaciones.
Cash and data quick wins: weekly shortfall report; renegotiate card fee (2 acquirers); per-unit P&L (1 page); Nube decision: reactivate vs. close the 8 rooms.
Días 31–90
Days 31–90
Margen y recurrencia: P&L de cada promoción y matar las que no dan utilidad; ingeniería de menú en Taquería; lanzar embudo de fiestas en Bebros; scorecard semanal por gerente; medir tráfico por franja para ajustar staffing.
Margin and recurrence: per-promo P&L and kill the unprofitable ones; menu engineering at Taquería; launch Bebros party funnel; weekly per-manager scorecard; measure daypart traffic to fix staffing.
Meses 4–8
Months 4–8
Crecimiento: Nube a plena capacidad con canal de reservas; ancla de comida típica de alto margen en Plaza; programa de lealtad cross-negocio sobre la quiniela; membresías en Bebros.
Growth: Nube at full capacity with a booking channel; high-margin typical-food anchor at Plaza; cross-business loyalty on the pool; Bebros memberships.
Meses 9–24
Months 9–24
Ventaja estructural: tablero financiero único del Grupo; decisiones de precio/promo/staffing basadas en datos; evaluar replicar el formato ganador antes de añadir conceptos nuevos. Simplificar antes de crecer.
Structural advantage: single Group financial dashboard; data-based pricing/promo/staffing; evaluate replicating the winning format before adding new concepts. Simplify before scaling.
08 · Priorización
08 · Prioritization

Ranking de recomendaciones

Recommendation ranking

Impacto financiero (A/M/B), facilidad de implementación y velocidad de resultado.

Financial impact (H/M/L), ease of implementation and speed of result.

AcciónActionImpactoImpactFacilidadEaseVelocidadSpeed
Reactivar habitaciones de NubeReactivate Nube roomsAltoHighMediaMediumMediaMedium
Matar promociones sin margenKill unprofitable promosAltoHighAltaHighAltaHigh
Renegociar comisión de tarjetaRenegotiate card feeMedioMediumAltaHighAltaHigh
Embudo de fiestas en BebrosBebros party funnelAltoHighMediaMediumMediaMedium
Ingeniería de menú (Taquería)Menu engineering (Taquería)MedioMediumAltaHighMediaMedium
Control de caja semanalWeekly cash controlMedioMediumAltaHighAltaHigh
Ancla de comida típica (Plaza)Typical-food anchor (Plaza)AltoHighMediaMediumBajaLow
Lealtad cross-negocio (quiniela)Cross-business loyalty (pool)AltoHighMediaMediumBajaLow
09 · Test del inversionista
09 · Investor test

Si yo comprara Grupo Cotorreo

If I were buying Grupo Cotorreo

Lo que más me preocupa

What concerns me most

Activo de hospedaje 47% ocioso, una unidad muy en efectivo (gobernanza), promociones sin P&L y concentración en una cocina que no es la default local.

47% idle lodging asset, a very cash-heavy unit (governance), promos without P&L, and concentration in a cuisine that isn't the local default.

El valor oculto

The hidden value

Las 8 habitaciones de Nube, la recurrencia no explotada de Bebros, y el stack de automatización (raro en una PYME) como ventaja de costo.

Nube's 8 rooms, Bebros's untapped recurrence, and the automation stack (rare in an SMB) as a cost edge.

Sobre-gestionado

Over-managed

Los dos conceptos de comida: mucha promoción y atención, poco análisis de margen.

The two food concepts: lots of promotion and attention, little margin analysis.

Sub-gestionado

Under-managed

Nube (ociosa), Bebros (a la deriva), la gobernanza de caja y el precio.

Nube (idle), Bebros (adrift), cash governance and pricing.

Primeros 90 días

First 90 days

Decisión Nube, control de caja, renegociar tarjeta, P&L de promos y matar las malas, scorecards semanales.

Nube decision, cash control, renegotiate card, promo P&L and kill the bad ones, weekly scorecards.

Lo que más sube el valor

What raises value fastest

Reactivar Nube + disciplina de promociones + comisión de tarjeta: margen con poco capex.

Reactivate Nube + promo discipline + card fee: margin with little capex.

Sinergia del ecosistema (hoy dormida)

Ecosystem synergy (asleep today)

Plaza → Bebros

Familias que comen pueden jugar: combo "comida + fichas". Hoy no se ofrece sistemáticamente.

Families who eat can play: a "meal + tokens" combo. Today not offered systematically.

Bebros → Plaza

Fiesta infantil que termina en mesa de adultos en Plaza. Paquete único.

Kids' party that ends at an adults' table at Plaza. One package.

Nube → Plaza / Taquería

Huésped con descuento de comida en las unidades. Sube ticket y ocupación a la vez.

Guest with a meal discount at the units. Lifts ticket and occupancy together.

Quiniela → las 4

Puntos canjeables en cualquier unidad: el pegamento de lealtad transversal.

Points redeemable at any unit: the cross-cutting loyalty glue.

10 · Contexto de mercado
10 · Market context

Condiciones verificadas

Verified conditions

San Carlos: cantón más competitivo fuera de la GAM (auge comercial: PriceSmart, Pequeño Mundo, cadenas).
San Carlos: most competitive canton outside the GAM (commercial boom: PriceSmart, Pequeño Mundo, chains).
La Nación, 2025 · nacion.com
67%
del consumidor tico prefiere comida típica (gallo pinto/casados) — headwind para conceptos mexicanos.
of Costa Ricans prefer typical food — a headwind for Mexican concepts.
Unilever Food Solutions / Gastrotico · ufs.com
+1.63%
salario mínimo 2026 (modesto): el alza de costo laboral, si existe, es de gestión de turnos, no de ley.
2026 minimum wage (modest): any labor-cost rise is shift management, not law.
EY / El Financiero, 2026 · ey.com
FEC
Entretenimiento infantil subatendido fuera de la GAM (Chuck E. Cheese/KidZania están en Heredia): moat local para Bebros.
Kids entertainment underserved outside the GAM (Chuck E. Cheese/KidZania are in Heredia): a local moat for Bebros.
La República, 2024 · larepublica.net
3.5%
crecimiento PIB CR 2026; inflación baja y colón fuerte que "no se siente" en la economía familiar (gasto cauto).
CR GDP growth 2026; low inflation and a strong colón "not felt" in family budgets (cautious spend).
BCCR / Estado de la Nación, 2025 · larepublica.net
−$42M
gasto turístico CR ene–sep 2025 vs 2024 pese a más llegadas: turismo plano, peso en el cliente local.
CR tourist spend Jan–Sep 2025 vs 2024 despite more arrivals: flat tourism, weight on the local customer.
USDA FAS / La Nación, 2025 · fas.usda.gov
Grupo Cotorreo · Strategic Assessment · 31·05·2026
Lente de consultor senior · Anclado en ventas reales ene–may 2026 (regla n8n: dedup + máx/suma) y fuentes públicas verificables. Las cifras de valor son estimaciones direccionales; requieren P&L por unidad. Faltan datos de costo, margen, food cost y tráfico por franja para cerrar el caso.
Senior-consultant lens · Anchored in real Jan–May 2026 sales (n8n rule: dedup + max/sum) and verifiable public sources. Value figures are directional estimates; they need a per-unit P&L. Cost, margin, food-cost and daypart-traffic data are missing to close the case.
[ Contacto ][ Contact ]

¿Conversamos? Let's talk.

Si tienes un negocio que necesita digitalizarse con criterio — sin reemplazar a la gente que ya lo conoce, y sin dependencias técnicas que no entiendes — escríbeme. Respondo personalmente.

If you run a business that needs to digitize with judgment — without replacing the people who already know it, and without technical dependencies you don't understand — write me. I reply personally.

WhatsApp Email

Ciudad Quesada · San Carlos · Costa Rica

Ciudad Quesada · San Carlos · Costa Rica