Cuando una startup del sector automoción se propone transformar la industria tradicional de subastas de coches, el desafío técnico resulta inmenso. En este proyecto tuve que liderar el diseño y desarrollo de una plataforma completa de subastas en tiempo real capaz de gestionar pujas simultáneas de cientos de usuarios desde múltiples ubicaciones: tanto pujadores online desde cualquier parte del mundo como participantes presenciales en el recinto físico de la subasta. El sistema debía procesar cada puja en menos de 100 ms manteniendo absoluta precisión en un entorno altamente competitivo donde los milisegundos resultan determinantes.

Lideré un equipo técnico de 4 desarrolladores en el diseño e implementación de este sofisticado sistema de gestión de subastas en vivo que integraba de forma transparente las experiencias de puja física y digital. La plataforma combinaba comunicaciones en tiempo real mediante websockets, interfaces responsive multidispositivo y una arquitectura REST API completamente desacoplada para crear una solución integral para el negocio moderno de subastas de automóviles.
El reto técnico: tiempo real a gran escala
Construir una plataforma de subastas presenta desafíos técnicos únicos que van mucho más allá de las aplicaciones web típicas. En un entorno de subasta en vivo, cada puja debe procesarse instantáneamente, los conflictos deben resolverse automáticamente y todos los participantes deben ver las actualizaciones en tiempo real sin ningún retraso perceptible.
Requisitos críticos:
- Procesamiento de pujas en tiempo real - Aceptar pujas de múltiples fuentes simultáneamente (interfaz web online, apps móviles, terminales presenciales).
- Tiempos de respuesta inferiores a 100 ms - Desde que un usuario pulsa “Pujar ahora” hasta que todos los participantes ven el precio actualizado.
- Resolución de conflictos - Gestionar pujas simultáneas de cientos de usuarios y determinar la puja ganadora instantáneamente.
- Cero pérdida de datos - Cada puja debe registrarse y procesarse, incluso durante picos de carga máxima.
- Responsive multidispositivo - Funcionamiento impecable en ordenadores de escritorio, tablets, smartphones y pantallas grandes distribuidas por el recinto.
- Integración presencial y online - Coordinación transparente entre asistentes físicos a la subasta y pujadores remotos online.
El problema de las subastas tradicionales:
Las plataformas de subastas de coches existentes en aquel momento (BCA, Autorola, Manheim, EurocarBid) tenían limitaciones significativas. La mayoría se basaba en polling periódico, lo que introducía retrasos y creaba una experiencia de usuario fragmentada. El renderizado del lado del servidor hacía que las interfaces resultaran lentas, y el acoplamiento estrecho entre frontend y backend dificultaba soportar múltiples aplicaciones cliente.
Nuestra solución: motor en tiempo real basado en websockets
La arquitectura se centró en un servidor websocket de alto rendimiento construido con ReactPHP que mantenía conexiones persistentes con todos los clientes activos. Esto eliminó la necesidad de polling y permitió actualizaciones verdaderamente push. Combinado con un frontend de aplicación de página única en AngularJS y un backend de REST API completamente desacoplado, el sistema alcanzó un rendimiento excepcional manteniendo la mantenibilidad y escalabilidad.
Arquitectura del sistema
La plataforma se construyó sobre una arquitectura multinivel con clara separación entre las capas de presentación, lógica de negocio y datos. Este diseño permitió que múltiples aplicaciones compartieran la misma infraestructura de datos manteniendo frontends independientes.
Visión general de la arquitectura:
Decisiones arquitectónicas clave:
- Servidor WebSocket - Servidor dedicado en ReactPHP para pujas en tiempo real con stack de red optimizado.
- REST API - API basada en Symfony para todas las operaciones no relacionadas con tiempo real (gestión de vehículos, cuentas de usuario, configuración de subastas).
- Frontend desacoplado - SPA en AngularJS que consume tanto la REST API como los servicios WebSocket.
- Sistema de colas - Sofisticado sistema de colas de pujas para gestionar conflictos y mantener la equidad del orden.
- Infraestructura AWS - Instancias EC2 en eu-west-1 (Irlanda) con planes de desplegar servidores de pujas más cerca de los usuarios para reducir la latencia.
Stack tecnológico
| Componente | Tecnología | Propósito |
|---|---|---|
| Servidor de pujas | ReactPHP + WebSockets | Procesamiento y distribución de pujas en tiempo real |
| REST API | Symfony 2.6 + FOSRestBundle | Lógica de negocio y gestión de datos |
| Framework frontend | AngularJS 1.3 + Restangular | Aplicación de página única reactiva |
| Framework UI | Bootstrap + jQuery | Diseño responsive en todos los dispositivos |
| Base de datos | MySQL 5.6 | Almacenamiento persistente de datos |
| Infraestructura | AWS EC2 (Linux Ubuntu 14.04) | Alojamiento cloud escalable |
Motor de pujas en tiempo real
El corazón de la plataforma fue el motor de pujas basado en websockets que logró el requisito crítico de tiempo de respuesta inferior a 100 ms.
Optimizaciones de rendimiento:
- Conexiones WebSocket persistentes - Sin overhead de conexión en cada interacción.
- Stack de red optimizado - Parámetros del kernel de Linux ajustados para máximo throughput.
- Cola de pujas en memoria - Procesamiento ultrarrápido de pujas entrantes.
- Optimización de consultas a base de datos - Minimización de round-trips a base de datos durante pujas activas.
- Serialización eficiente - Mensajes JSON compactos para uso mínimo de ancho de banda.
Tiempos de respuesta logrados:
- Aceptación inicial de puja: <80 ms (desde clic del botón hasta confirmación del servidor).
- Distribución de puja: <20 ms (desde servidor a todos los clientes conectados).
- Latencia total end-to-end: <100 ms (clic del usuario hasta actualización de precio en todas las pantallas).
Estos tiempos se lograron con el servidor en Irlanda y clientes en España, añadiendo 50-60 ms de latencia de red innecesaria. El plan de despliegue en producción incluía colocar servidores de pujas en Madrid para alcanzar el objetivo de tiempo de respuesta end-to-end de 30 ms.
Interfaz del pujador online con feed de subasta en vivo, detalles del vehículo y controles de puja instantáneos
Funcionalidades principales de la plataforma
1. Paneles de control del subastador y anotador
El equipo de subasta presencial requería interfaces especializadas optimizadas para operación rápida durante eventos en vivo. Estos paneles se diseñaron para pantallas táctiles grandes y dispositivos tablet.
Interfaz del subastador:
- Seguimiento de pujas en tiempo real con actualizaciones automáticas de precio.
- Progresión de vehículos a través del lote de subasta con un solo clic.
- Controles instantáneos de aceptación/rechazo de pujas.
- Alertas visuales para pujas online y presenciales.
- Visualización completa de información del vehículo.
Interfaz del anotador:
- Seguimiento paralelo de toda la actividad de subasta.
- Registro detallado y verificación de pujas.
- Confirmación de venta y documentación.
- Gestión de información del comprador.
Interfaz principal del subastador mostrando detalles del vehículo, puja actual y controles de subasta
Interfaz del anotador para seguimiento paralelo de subasta y documentación de ventas
2. Pantallas de visualización del recinto
Grandes pantallas HD distribuidas por todo el recinto de subasta proporcionaban a los asistentes información en tiempo real sobre las subastas en curso. Estas pantallas se optimizaron para visibilidad desde la distancia y se actualizaban instantáneamente con cada puja.
Pantalla HD del recinto mostrando vehículo actual, precios y estado de subasta en tiempo real
3. Panel de administración integral
Detrás de cada subasta exitosa hay una extensa preparación y gestión. El panel de administración proporcionaba control completo sobre todo el ciclo de vida de la subasta.
Funcionalidades de administración:
- Gestión de vehículos - Base de datos completa de vehículos con especificaciones detalladas, fotos, informes de estado.
- Planificación de subastas - Gestión de horarios, ordenación de lotes, configuración de precios de reserva.
- Gestión de cuentas de usuario - Registro de compradores/vendedores, verificación de crédito, autorización de pujas.
- Procesamiento de ventas - Finalización de ventas post-subasta, documentación, seguimiento de pagos.
- Informes y analíticas - Rendimiento de subasta en tiempo real, datos históricos, seguimiento de ingresos.
Dashboard de administración proporcionando visión general de subastas próximas y actividad reciente
Listado completo de vehículos con filtrado avanzado y operaciones masivas
Formulario completo de entrada de datos de vehículo con especificaciones, precios y gestión de medios
Formulario de registro de comprador/vendedor con integración de verificación de crédito
Vista de detalle de cuenta responsive optimizada para uso en tablet durante eventos
Listado de cuentas optimizado para móvil para acceso en movimiento
4. Sitio web público y pujas online
Los pujadores externos necesitaban una plataforma completa para participar en subastas de forma remota. El sitio web público proporcionaba navegación de vehículos, registro en subastas y capacidades de puja en vivo.
Funcionalidades del sitio web público:
- Calendario de subastas - Explorar próximas subastas y registrar interés.
- Catálogo de vehículos - Listados detallados de vehículos con fotos, especificaciones, informes de estado.
- Lista de seguimiento - Guardar vehículos favoritos y recibir notificaciones.
- Pujas en vivo - Participación en tiempo real en subastas activas.
- Historial de pujas - Seguimiento de actividad de puja personal.
- Proceso de compra - Finalización completa de venta tras ganar pujas.
- Cuenta de usuario - Gestionar perfil, métodos de pago, historial de compras.
Vista detallada de subasta mostrando especificaciones del vehículo, puja actual y temporización de subasta
Calendario interactivo de subastas para explorar y registrarse en eventos próximos
Formulario de registro optimizado para móvil para nuevos pujadores
Dashboard del pujador mostrando pujas activas, lista de seguimiento y configuración de cuenta
Formulario de registro completo con requisitos de verificación de identidad
5. Diseño completamente responsive
Desde el principio, el diseño responsive fue innegociable. La plataforma tenía que funcionar impecablemente en una enorme variedad de dispositivos y tamaños de pantalla.
Logros del diseño responsive:
- Enfoque mobile-first - Funcionalidad principal accesible en smartphones.
- Optimización para tablet - Perfecta para personal presencial usando iPads durante eventos.
- Interfaces power user en escritorio - Visualizaciones densas de información para usuarios administradores.
- Pantallas grandes de recinto - Pantallas HD de 1920x1080 para visibilidad de audiencia.
- Controles optimizados para táctil - Botones grandes y accesibles para dispositivos táctiles.
Todo el frontend se construyó con Bootstrap framework, asegurando comportamiento consistente en todos los dispositivos mientras se mantenía una apariencia profesional y moderna.
Arquitectura REST API
Uno de los aspectos más visionarios de este proyecto fue la decisión de construir una REST API completamente desacoplada como fundamento del sistema. Esta decisión arquitectónica proporcionó enorme flexibilidad y preparación para el futuro.

Principios de diseño de la API:
- Diseño sin estado - Cada petición contiene toda la información necesaria.
- Endpoints orientados a recursos - Estructura de URL limpia y predecible.
- Respuestas JSON - Formato de datos ligero y universalmente compatible.
- Autenticación/Autorización - Seguridad basada en tokens para todos los endpoints protegidos.
- Soporte de versionado - Versión de API en URL para compatibilidad hacia atrás.
- Documentación completa - Referencia completa de API para desarrolladores.
Beneficios de la API desacoplada:
- Múltiples frontends - La misma API sirviendo aplicaciones web, móviles e internas.
- Integración con terceros - Fácil integración con CRM, herramientas de valoración y sistemas de partners.
- Preparada para microservicios - Interfaces limpias entre diferentes componentes del sistema.
- Escalado independiente - Frontend y backend pueden escalar por separado según la carga.
- Flexibilidad tecnológica - Frontend puede reescribirse sin tocar la lógica de negocio.
Esta decisión arquitectónica estaba adelantada a su tiempo en 2016 y demostró una comprensión sofisticada de los patrones de diseño de aplicaciones web modernas.
Sistema de resolución de conflictos y cola de pujas
Uno de los aspectos técnicamente más desafiantes fue el sistema de resolución de conflictos de pujas. Cuando cientos de usuarios pueden enviar pujas simultáneamente, el sistema debe determinar el ganador instantánea y equitativamente.
Implementación de la cola de pujas:
- Timestamps con precisión de milisegundos - Cada puja recibió un timestamp preciso.
- Procesamiento basado en colas - Pujas procesadas en estricto orden cronológico.
- Optimistic locking - Prevención de race conditions a nivel de base de datos.
- Feedback instantáneo - Confirmación o rechazo inmediato para cada pujador.
- Auditoría completa - Registro completo de todas las pujas para resolución de disputas.
Garantías de equidad:
- La primera puja en llegar al servidor gana si se envía al mismo precio.
- Latencia de red compensada por timestamp en recepción del servidor.
- Todas las pujas rechazadas reciben notificación inmediata con razón.
- Transparencia completa en historial de pujas para todos los participantes.
Resultado del proyecto y lecciones aprendidas
A pesar del éxito técnico de la plataforma, la startup desafortunadamente cerró antes de lanzar operaciones debido a desafíos comerciales y de gestión. Sin embargo, desde una perspectiva técnica, el proyecto se completó totalmente y se desplegó, cumpliendo todos los requisitos y objetivos iniciales.
Logros técnicos:
- Implementación exitosa de arquitectura websocket en tiempo real.
- Procesamiento de pujas inferior a 100 ms logrado y validado.
- Diseño responsive multidispositivo integral.
- REST API completamente funcional con múltiples clientes.
- Sistema robusto de resolución de conflictos y cola de pujas.
- Interfaces completas de administración, subastador y públicas.
Lecciones clave aprendidas:
1. Rendimiento WebSocket - El servidor websocket en ReactPHP superó las expectativas. Con la optimización adecuada, los websockets pueden gestionar cientos de conexiones concurrentes con latencia mínima.
2. Beneficios de arquitectura desacoplada - La arquitectura REST API demostró su valor incluso durante el desarrollo. Múltiples equipos pudieron trabajar en diferentes frontends simultáneamente sin conflictos.
3. Complejidad del tiempo real - Construir sistemas verdaderamente en tiempo real requiere atención a cada capa del stack. El ajuste de red, optimización de base de datos y serialización eficiente contribuyen por igual al rendimiento final.
4. Compromisos del diseño responsive - Soportar una variedad tan amplia de dispositivos requirió compromisos. Algunas interfaces se optimizaron para casos de uso específicos en lugar de intentar que cada funcionalidad funcionara idénticamente en todas partes.
5. Equidad basada en colas - El sistema de cola de pujas fue esencial para mantener la equidad. Enfoques más simples habrían resultado en comportamiento inconsistente bajo carga.
Inspiración técnica y análisis competitivo
La plataforma se inspiró en sistemas líderes de subastas de coches incluyendo BCA (British Car Auctions), Autorola, CarsOnTheWeb, Manheim, EurocarBid, Subastacar y Subasto mi Coche. A través de un análisis competitivo extenso, se identificaron varias áreas de mejora:
- Mejor rendimiento en tiempo real - La mayoría de competidores usaban polling, no websockets.
- Experiencia móvil superior - Muchas plataformas tenían interfaces móviles pobres.
- Diseño de API más limpio - Convenciones REST más modernas.
- Experiencia de usuario mejorada - Flujos simplificados y mejor diseño visual.
La plataforma resultante incorporó exitosamente estas mejoras manteniendo paridad de funcionalidades con competidores establecidos.
Conclusión
Esta plataforma de subastas de coches representó un logro técnico integral en el desarrollo de aplicaciones web en tiempo real. La combinación de pujas basadas en websockets, arquitectura REST API desacoplada y diseño responsive multidispositivo completo creó una plataforma moderna y escalable que estaba lista para uso en producción.
Aunque las circunstancias del negocio impidieron que la plataforma sirviera subastas reales, las lecciones técnicas aprendidas y los patrones arquitectónicos desarrollados continúan siendo valiosos. El proyecto demostró que con diseño cuidadoso y optimización, las aplicaciones web pueden ofrecer el rendimiento en tiempo real requerido para operaciones de negocio críticas y sensibles al tiempo como las subastas en vivo.
La experiencia ganada construyendo sistemas de alto rendimiento en tiempo real, diseñando APIs escalables y creando interfaces responsive multidispositivo ha sido invaluable en proyectos posteriores. Este trabajo sentó las bases para comprender cómo construir aplicaciones web verdaderamente eficientes que puedan competir con software nativo en escenarios exigentes y de misión crítica.
Sobre el autor
Daniel López Azaña
Emprendedor tecnológico y arquitecto cloud con más de 20 años de experiencia transformando infraestructuras y automatizando procesos.
Especialista en integración de IA/LLM, desarrollo con Rust y Python, y arquitectura AWS & GCP. Mente inquieta, generador de ideas y apasionado por la innovación tecnológica y la IA.
Proyectos relacionados

Plataforma de moda Trendmii - Sitio web de e-commerce completo con CMS personalizado
Plataforma full-stack de e-commerce de moda para startup Trendmii, construida con Yii Framework con diseño responsive, sistema de blog personalizado, panel de administración completo con tema Ace Admin, soporte multiidioma para inglés y español, integración de autenticación social, y consultoría de marketing online. Desarrollo de 6 meses entregando solución completa de marketplace de moda.

Sistema empresarial SugarCRM para distribuidora eléctrica - CRM completo con módulos personalizados e integraciones
Personalización completa de SugarCRM para compañía española de distribución eléctrica con 10+ módulos personalizados para contratos, tarifas, seguimiento de consumos, facturación, reporting fiscal (Modelo 159), integración con sitio web WordPress para simulador de tarifas y creación automatizada de oportunidades, integración con API de Dropbox para procesamiento automatizado de archivos, despliegue y bastionado de servidores, políticas de backup, y automatización de emails programados. Desarrollo y mantenimiento continuo de 8 meses entregando solución completa de gestión empresarial para sector energético.

Portal de clientes eléctrica - Aplicación web privada con integración Yii Framework y SugarCRM
Portal seguro de clientes para compañía distribuidora de electricidad construido con Yii Framework, con integración de base de datos SugarCRM para datos en tiempo real de contratos y facturación, diseño responsive Bootstrap, registro automatizado de usuarios con verificación de contratos, control de acceso basado en roles para clientes y agentes comerciales, y gestión de códigos promocionales. Desarrollo de 5 meses entregando plataforma completa de autoservicio para clientes.
Comentarios
Enviar comentario