El Catre — Primera Plataforma E-Commerce Independiente de Cuba.

Desafío
El Catre se propuso ser la primera plataforma e-commerce independiente de Cuba — un marketplace donde pequeños negocios cubanos pudieran abrir tiendas, listar productos, lanzar promociones y aceptar pagos. Construir para Cuba implicaba sortear las restricciones del embargo estadounidense sobre las vías de pago, diseñar para conectividad intermitente, y combinar una capa de comercio social — chat en tiempo real, notificaciones push, compartir — sobre un carrito y checkout convencionales.
Enfoque
Construí el frontend en Nuxt 2 con Vue 2, Vuex y Buefy sobre un cliente Apollo GraphQL hablando con un backend Django + Graphene. La autenticación federaba la verificación telefónica de Firebase con OAuth de Facebook/Google y tokens JWT emitidos por el backend. El chat en tiempo real y las notificaciones en vivo corrían sobre Django Channels vía vue-native-websocket, las notificaciones push iban por OneSignal, y ApexCharts impulsaba los dashboards de analítica de vendedores. El soporte PWA y el server-side rendering mantuvieron la app usable en conexiones lentas.
Stack
Resultado
Se lanzó una plataforma e-commerce multi-tenant en Cuba con tiendas de vendedores, catálogo de productos, carrito y checkout, chat en tiempo real, dashboards de analítica y funciones de comercio social. La plataforma ya no está activa.
Contribuciones Clave
- Frontend Nuxt 2 con SSR y cliente Apollo GraphQL con queries HTTP batched
- Tiendas de vendedores, catálogo de productos, órdenes, carrito y flujos de checkout
- Chat en tiempo real y notificaciones sobre WebSockets (backend Django Channels + Redis)
- Autenticación federada — verificación telefónica de Firebase, OAuth de Facebook y Google, JWT
- Notificaciones push vía OneSignal e integración email vía Mailchimp
- Dashboards de analítica de vendedores con ApexCharts; recorte de imágenes y generación de QR para flujos de producto
- Optimización PWA + SSR para condiciones de red cubanas
- Soporte al backend en Django + Graphene como contribuidor secundario (no era el desarrollador backend principal)