Caso de éxito
Exwood

Arriendo de scooters eléctricos con IoT en tiempo real

Solución
App móvil · Backend Go · Firmware IoT
Cliente
Exwood
Periodo
2024 → hoy
Exwood — vista general
Oportunidad

Poner una flota en la calle y controlarla desde el teléfono

Exwood necesitaba lanzar un servicio de sharing y arriendo de scooters eléctricos: que cualquier persona pudiera encontrar el scooter más cercano en un mapa, reservarlo, desbloquearlo por QR y pagar — todo desde una app.

El desafío real no era solo la app, sino el hardware detrás: cada scooter debía reportar su ubicación y estado en tiempo real, y responder a órdenes remotas de bloqueo/desbloqueo de forma confiable, incluso con conectividad móvil intermitente.

Solución

Una plataforma full-stack, del dispositivo a la nube

Construimos el sistema completo de punta a punta: firmware en los scooters, backend con comunicación en tiempo real, app móvil y un panel operativo para gestionar la flota.

Mapa en vivo y reserva

Scooters cercanos sobre MapLibre GL, con reserva y desbloqueo por QR.

Control remoto por TCP

Bloqueo/desbloqueo directo al módulo del scooter mediante TCP raw.

Telemetría en tiempo real

Ubicación, batería y estado de cada dispositivo por WebSocket.

Viaje en vivo e historial

Seguimiento del recorrido en curso, historial y detalle de cada viaje.

Saldo y pagos

Recarga de saldo y pago del arriendo desde la propia app.

Panel de flota

Consola web operativa para monitoreo y gestión de los scooters.

Proceso

Cómo lo construimos

01

Firmware IoT

Módulo ESP32 + SIM7600 en cada scooter, reportando y recibiendo órdenes por TCP sobre red móvil.

02

Backend en Go

Servicio en Go (Gorilla Mux) con tres capas de comunicación: HTTP REST, WebSocket y TCP raw con los dispositivos.

03

App móvil

React Native + Expo (expo-router, React 19), estado en Zustand y auth con secure-store.

04

Datos y operación

PostgreSQL + GORM para viajes y ubicaciones; panel web en Next.js para la flota.

Desafíos
  • Comunicación confiable con hardware sobre conectividad móvil intermitente.
  • Sincronizar estado en tiempo real entre dispositivo, backend y app sin condiciones de carrera.
  • Latencia baja en el desbloqueo: la orden debe llegar al scooter en segundos.
Resultados

Lo que quedó de pie

  • Flota operativa con desbloqueo remoto y telemetría en vivo por dispositivo.
  • Arquitectura de tres capas (REST + WebSocket + TCP) que aísla el mundo IoT del de la app.
  • App nativa publicada (iOS) sobre una base de código mantenible y en evolución.

Del firmware a la app, una sola plataforma coherente: hardware conectado que se controla y se paga desde el teléfono, en tiempo real.

Tecnologías usadas
React NativeExpoMapLibre GLZustandGoGorilla MuxWebSocketTCPPostgreSQLGORMESP32SIM7600Next.js

¿Un proyecto así en mente?