Cheaf — marketplace mobile en producción
Senior Mobile Engineer · Team Lead — Cheaf
Escalar una app de marketplace con dinero real: checkout, entrega, validación y los estados de fallo que deciden si el usuario vuelve.
01
Overview
App de marketplace de rescate de comida con transacciones reales. Lidero el equipo mobile: arquitectura, features críticos y la parte del producto que solo se ve cuando algo sale mal.
02
El problema
En un marketplace con pago y entrega, la fricción de onboarding y los fallos en el camino crítico no se pagan en quejas: se pagan en retención. Un doble tap que duplica una orden o un pago que queda en un estado ambiguo destruyen la confianza más rápido de lo que cualquier feature la construye.
03
Contexto
Producto en producción con usuarios y comercios reales. El detalle interno es confidencial; lo que sigue son las capacidades y decisiones, no datos de negocio.
04
Usuarios
- Usuarios que compran y recogen pedidos con ventana horaria.
- Comercios que publican y validan entregas.
05
Restricciones
- Dinero real: no hay estado intermedio aceptable que el usuario no pueda entender.
- Red móvil variable en el momento exacto del pago.
- Equipo mobile con entregas continuas sobre una base en producción.
06
Enfoque de producto
Optimicé el camino crítico (descubrir → pedir → pagar → recibir) midiendo drop-offs y endureciendo edge cases.
07
Decisiones de producto
- Medir el onboarding paso a paso antes de rediseñarlo: la fricción rara vez está donde se supone.
- Tratar los estados de fallo como parte del producto y no como excepciones de ingeniería.
- Límites explícitos por feature para que el equipo pueda entregar en paralelo sin pisarse.
08
Arquitectura y dominio
Arquitectura mobile por features con fronteras explícitas, estado local acotado al flujo y una capa de transacción que asume reintentos: toda acción con consecuencia económica es idempotente desde el cliente, porque la red no garantiza que una petición se haya enviado una sola vez.
Descubrir
Pedir
Pagar
idempotencia · reintentos
Validar
post-pago
Recibir
Cada transición tiene un estado de fallo explícito y recuperable.
09
AI leverage
AI-assisted refactor y documentación de flujos críticos, con gate humano obligatorio en todo lo que toca pagos o persistencia.
10
Retos de ingeniería
- Doble tap y reintentos de red sobre acciones con consecuencia económica: idempotencia desde el cliente.
- Validación post-pago sin duplicar órdenes ni dejar al usuario sin confirmación.
- Debugging en producción sobre dispositivos y condiciones de red que no se reproducen en local.
- Rendimiento de onboarding medido por paso, no por sensación.
11
Resultados
- Mejor performance de onboarding
- Mayor confiabilidad en flujos transaccionales
- Patrones de equipo reutilizables
12
Aprendizajes
- En mobile transaccional, el trabajo real está en los estados que el usuario no debería ver nunca.
- Liderar es sostener límites: sin fronteras por feature, la velocidad del equipo se convierte en conflictos de merge.
13
Contexto adicional
Pedidos reales exigen estados de red, reintentos y feedback inmediato. Reduje fricción midiendo tiempos por paso.
Validación post-pago y seguimiento sin duplicar órdenes ante doble tap.
Liderazgo: boundaries por feature y reviews orientadas a riesgo.
Stack
- React Native
- TypeScript
- Pagos
- Idempotencia
- Observabilidad
