FLAGSHIP / 01

Yelo Sale

Ingeniero de Software Senior · Mercado del Golfo (KSA)

Plataforma B2B2C de subastas y venta de vehículos con pujas en tiempo real en web, iOS y Android.

Los propietarios de flotas venden vehículos en subastas en vivo, no en tratos cerrados

Laravel 11Next.js 14FlutterSocket.IOMySQLRedis
sales.iyelo.comAbrir
Yelo Sale — captura del producto
Enfoque

Una casa de subastas digital y transparente en web y móvil: los flotistas listan coches y lotes, los clientes compiten en subastas en vivo en tiempo real con puja automática por proxy, y luego reservan y pagan en línea — respaldado por un pipeline de facturación sincronizado con el ERP y una máquina de estados de inventario completa, del listado a la entrega.

Impacto
Subastas en vivo
Puja desde la web o el móvil, al instante
<200ms
De la puja a cada pantalla
Conectado al ERP
Las facturas llegan a Microsoft Dynamics
El problema

El remarketing de vehículos en el Golfo operaba por canales offline y opacos — flotistas y concesionarios movían inventario mediante acuerdos cerrados, sin transparencia, sin competencia en tiempo real y con facturación conciliada a mano contra un ERP empresarial. El objetivo: sustituirlo por una casa de subastas digital, transparente y en tiempo real en web y móvil, donde cualquier postor verificado pudiera competir en vivo — sin perder una sola puja por una condición de carrera.

La parte difícil

Las subastas en vivo no perdonan. Cuando decenas de postores golpean el mismo lote en los segundos finales, el sistema tiene que ser la única fuente de verdad: cada puja ordenada correctamente, sin actualizaciones perdidas, sin dos “ganadores,” auto-pujas por proxy resueltas al instante — reflejado en web y móvil en tiempo real, en árabe e inglés (RTL) y en perfecta sincronía con un ERP Microsoft Dynamics 365.

La arquitectura
  • Un contrato, tres clientesUn monorepo Nx con una API Laravel 11 que sirve a una web Next.js 14 y una app móvil Flutter (BLoC), de modo que web, iOS y Android comparten los mismos tipos y comportamiento.
  • Pujas en tiempo real con autoridad del servidorEstado de pujas en Redis con incrementos atómicos; una capa Socket.IO/Node difunde a cada observador. El servidor, no el cliente, decide el orden de las pujas — eliminando condiciones de carrera y pujas perdidas bajo carga. Latencia de puja <200ms de extremo a extremo.
  • Auto-puja por proxyLos postores fijan un tope máximo; el motor contraoferta a sus rivales hasta ese límite, del lado del servidor, para ganar al precio mínimo necesario.
  • Inventario como máquina de estadosCada lote pasa por listado → subasta en vivo → reservado → pagado → entregado, con gobernanza de administración en cada paso.
  • Acceso en tres nivelesAdmin / Empresa / Cliente, cada uno tras su propio guard JWT (RBAC multi-guard).
  • Sincronización empresarial y pagosSincronización bidireccional con ERP Dynamics 365 de clientes, vehículos y facturas; pagos Amazon Payfort; OTP GoInfinito + autorización KYC de postores; push FCM; facturas PDF/QR; AWS S3.
El resultado
  • Una casa de subastas transparente y en tiempo real, en vivo en web, iOS y Android (App Store + Google Play).
  • Pujas en vivo en tiempo real con latencia <200ms, con auto-puja por proxy y cero pujas perdidas por condiciones de carrera.
  • Remarketing offline y opaco sustituido por un pipeline digital del listado a la entrega, con facturación sincronizada con el ERP.
  • Entregado con flujo trunk-based alpha/beta/prod (Docker, GitHub Actions CI/CD, AWS).
Mi rol Ingeniero de Software Senior — back-end en Laravel, front-end en Next.js y la app móvil Flutter.

Artículo técnico (en inglés): Real-time Auction Bidding with Laravel, Redis and Socket.IO →

Más trabajo

Cuéntame qué estás construyendo.

Treinta minutos suelen bastar para ver si encajo. Trae el problema que todavía no has podido entregarle a nadie.

  • Respuesta en menos de 24 horas
  • NDA antes de la primera llamada
  • Código y PI son tuyos tras el pago
  • Contrato y factura directamente conmigo
  • Proyectos mayores: equipo probado, precio por alcance
  • Mismo NDA y misma PI para todo el equipo