Problema · Solución · Demo en vivo

De la foto
a la boleta

leer placa, marca, modelo y color
con una sola foto

Vehicle Vision · Lectora de placas para ID
kigo-officer-app · kigo-enforcement · kz-officer-bff

Viernes Kigo · 30 de octubre 2026 · Kigo Lab

Kigo
1.24 Mtrazas LPR en producción desde julio-2025
5,207consultas LPR en el pico de un solo día
1 foto→ 4 campos: placa, marca, modelo y color
desliza

Problem

La foto ya existía. Nadie la leía.

1.8% → 14.1%tasa de 404 real: de Geosek al motor nuevo
~10%lecturas marcadas «dudosa» que se descartaban
3campos que el oficial terminaba escribiendo

Problem → Build

El motor nuevo, medido con fotos reales

266/300coincidencias con el motor anterior
5 vs 2desempate en las discrepancias revisadas
4 camposplaca · marca · modelo · color

Build

Cuatro capas, una sola llave

1Motorkigo-vehicle-vision

No lo escribimos, lo integramos. Expone POST /plate y POST /mmc.

2Enforcementel portero

/agents/vehicle-vision/{plate,mmc} con sesión de oficial · /internal/vehicle-vision/plate servicio→servicio con llave propia.

3BFFsofficer · guard · whatsapp-pay

Consumen por HTTP. El teléfono nunca habla con el motor.

4Appkigo-officer-app

Pinta la lectura; el catálogo de kz-spatial (kz-core-domains-svc) es la fuente maestra de marca, modelo y color.

Reglas que no se rompen: la llave no sale del server · la foto no se loguea · el motor no la guarda.

Build

Lo que exponemos

RutaQuién la usaPara qué
POST /agents/vehicle-vision/plateApp del oficialPlaca de la foto, con confianza y candidatos
POST /agents/vehicle-vision/mmcApp del oficialMarca, modelo y color (detailed opcional)
POST /internal/vehicle-vision/plateBFFs (servicio→servicio)Placa con llave propia y DTO camelCase
POST /api/v1/officer/vehicle-vision/readApp del oficialPlaca + mmc en paralelo; parcial si mmc falla
POST /api/v1/guard/plate-readingsApp de SeguridadPlaca sugerida desde la foto
POST /api/v1/whatsapp-pay/plates/readMini app de pagoPlaca del conductor (PR abierto)

Build → GTM

Qué ve el oficial

Pantalla de la app del oficial
Foto 1 Captura vertical de la app del oficial assets/app/foto-1.webp
Pantalla de la app del oficial
Foto 2 Captura vertical de la app del oficial assets/app/foto-2.webp

Demo

La demo

  1. Toma la fotoUna placa a la vez, o en lote recorriendo la calle sin detenerse.
  2. Consulta el estatusLa app dice si el vehículo pagó, está en tolerancia o no tiene pago.
  3. Revisa la lecturaPlaca, marca, modelo y color ya llenos; lo dudoso aparece con «⚠ Verifica».
  4. MultaCorrige del catálogo si hace falta y «Multar» abre la infracción con el vehículo prellenado.
2,441verificaciones esta semana en Apizaco y Zapopan
94.1%exitosas: la app regresó el estatus de la placa
1,510en Apizaco · 90.5 % exitosas
931en Zapopan · 100 % exitosas

Del lunes 26 al viernes 30 de octubre de 2026 (corte a las 13:15 h). Las fallidas son lecturas por lote en las que la foto no dejó leer la placa. Fuente: logs de producción (kz-officer-bff cruzado con kigo-enforcement).

Demo · la app del oficial Video vertical: foto, consulta, «Revisar lectura» y multa assets/video/officer-app-demo.mp4

Plan B: video de 90 s con los pasos + lectura de la traza en Loki.

Adopción · Del oficial al conductor

El lector de placas llega a WhatsApp

Por eso hablamos de la mini app de WhatsApp: es el primer producto para conductores que adopta el nuevo lector. Al registrar su vehículo, el conductor elige Automático, toma una foto y la placa, la marca y el color de su propio auto se llenan solos.

Demo · registro del vehículo Video vertical del flujo en la mini app de WhatsApp assets/video/whatsapp-registro.mp4
  1. Registra tu vehículoEl conductor elige entre Manual y Automático.
  2. Toma la fotoUna foto de su auto, desde el chat. Si no salió bien, «Retomar».
  3. Placa, marca y color, ya llenosLa marca se confirma contra el catálogo y el color se ajusta con su muestra.
  4. Paga su estacionamientoSin escribir la placa a mano y sin errores de dedo.
  • La foto viaja por el BFF de WhatsApp (POST /plates/read) al motor de enforcement: el teléfono nunca habla con el motor.
  • Si un campo no se lee con confianza, se deja vacío para que el conductor lo escriba. No se inventa.
  • La foto nunca se graba en las sesiones de analítica: muestra la placa.

La mini app de WhatsApp

Pagar el parquímetro sin descargar nada

El conductor abre el enlace desde el chat del municipio y paga su estacionamiento en pagar.kigo.mx. Todos los municipios de parquímetro ya la tienen disponible.

Elige su zonaEn el mapa, con el pin al centro, o la zona donde pagó la última vez.
Registra su auto con fotoPlaca, marca y color se llenan solos desde una foto.
Paga con saldo o Apple PayVe el total antes de pagar: tarifa, comisión y descuento.
Extiende su tiempoAgrega minutos a la sesión activa sin volver a empezar.
Paga otra placaVarios autos desde el mismo número, con sus placas guardadas.
Recarga saldoAbona a su cartera Kigo sin salir de la mini app.
Historial y recibosCada pago queda con su recibo.
Tutorial y soporteUna guía la primera vez y un atajo al chat de soporte.

Build · Mini app de WhatsApp

Cómo está construido

La mini app en acción Recorrido por sus funcionalidades assets/video/whatsapp-mini-app.mp4
kz-whatsapp-pay-bffKigo Zones con BFFLa mini app habla solo con su BFF, y el BFF compone los dominios de la plataforma.
kz-spatialZonas y polígonos desde SpatialLas zonas de parquímetro y sus polígonos salen del dominio spatial.
kigo-vehicle-visionNuevo motor de visiónPlaca, marca y color desde una foto, el mismo motor del oficial.
Figma MCPComponentes nuevos desde FigmaLeídos directo del archivo con el MCP, con el alma del rediseño para el flujo de parquímetros.
kigo-skillsSkill de diseño de KigoSus reglas guiaron la construcción del front de la mini app.Parkimovil/kigo-skills
PostHogMedido desde el primer díaCada paso manda su evento; de ahí salen las métricas de esta página.

Estabilidad · PostHog

Estable y creciendo cada semana

Medido en producción con PostHog, del 8 al 30 de octubre de 2026. Solo en los últimos 7 días, 12,440 conductores pagaron su estacionamiento desde WhatsApp.

24,559pagos completados desde la mini app
14,867conductores distintos que pagaron
2,352conductores registrados desde la mini app
98.8%de las llamadas al BFF responden bien (721 mil)
270 mstiempo de respuesta típico del BFF
90%de los pagos iniciados se completan
31%de los conductores ya volvió a pagar
16municipios que ya cobran por WhatsApp
12,440conductores pagaron en los últimos 7 días

Pagos completados por semana

05,00010,00015,000Semana del 12 oct · 648 pagosSemana del 12 oct648Semana del 19 oct · 10,367 pagosSemana del 19 oct10,367Semana del 26 oct · 13,541 pagosSemana del 26 oct13,541
Pagos completados por semana en producción (pagar.kigo.mx). La semana del 26 de octubre va de lunes a viernes.

Municipios con pagos, de más a menos

Puebla lidera con el 92% de los pagos.

Adopción · Consola de parquímetro

Cada verificación LPR trae su evidencia

Cuando el agente verifica una placa con LPR, la foto que tomó ya no se pierde: queda guardada como evidencia y el municipio la ve en la consola, junto con los detalles de la verificación.

Verificación de UTA123B Lo que registró el agente al revisar la placa.
Placa
UTA123B
Agente
Ana López
Tipo
LPR
Fecha y hora
30 oct 2026, 10:42

Fotos

UTA-123-B
UTA-123-B

Ejemplo ilustrativo, sin datos reales.

  • El panel de la verificación muestra placa, agente, tipo, fecha y hora, y el punto exacto en el mapa.
  • Debajo, las fotos que tomó el agente, en galería: se abren en grande con un clic.
  • Los enlaces a las fotos se renuevan solos, así que no caducan mientras el operador las revisa.
  • Si una foto existe pero no se puede mostrar, se marca como no disponible en vez de decir «sin fotos».
  • Responde en segundos la pregunta del municipio: ¿qué vio el agente en esta placa?

Adopción · Consola de parquímetro

La consola, rediseñada

Todos los municipios ya la ven al entrar a su consola de administración.

Recorrido · consola rediseñada Video horizontal del recorrido por la consola assets/video/consola-rediseno.mp4
Tema KigoColores, tipografía y modo oscuro de Kigo, con una barra lateral flotante.
Tablero en bloquesResumen LPR, mapa de calor y gráficas acomodados en una sola vista.
Tablas igualesTodas las tablas comparten estilo, filtros y estados vacíos diseñados.
Auditoría UXSe aplicaron los hallazgos de la revisión de diseño de producto.

Impacto

Los números, medidos en producción

No son estimaciones: salen de la BD de prod (enforcement_kigo, mx-central-1) y de los logs en Loki.

Consultas LPR por día y tasa de 404
Barras: consultas LPR por día (BD prod). Línea: tasa de 404 (Loki). El 23-oct entra el motor nuevo; el 29-oct, el fix #287.
1.24 Mtrazas LPR desde julio-2025
5,207consultas en el pico de un día
20'155 → 24'285trazas: semana Geosek vs semana motor nuevo

Impacto

Lo que los datos dicen (y lo que falta)

Porcentaje de trazas que conservan la foto y adopción de recognize_plate_lpr
Izquierda: % de trazas que guardan la foto. Derecha: lecturas diarias de la ruta nueva recognize_plate_lpr.
Causas del 404: lecturas dudosas y sin placa detectada
Las dos causas del 404, medidas: lecturas dudosas y placas no detectadas.

Build

Las decisiones que nos costaron sangre

GTM

Dónde está y qué sigue

En producción

  • enforcement (LPR con el motor nuevo + lectura interna de placa)
  • officer-bff con /vehicle-vision/read
  • guard-bff con /plate-readings
  • 223 fotos LPR ya en los buckets de evidencia (PR #285)
  • Mini app de WhatsApp: registro del vehículo con foto (PR #1020)
  • Consola de parquímetro rediseñada, en todos los municipios
  • Fotos de la verificación LPR en la consola

En camino

  • Puebla: su BFF responde 501, queda para después
  • medir el efecto del fix del 404