Expo City Dubai

From visitor guide to smart-city super app, Expo City Dubai in Flutter

Introduction

Expo City Dubai (ECD) es un distrito de ciudad inteligente de uso mixto donde la gente puede vivir, trabajar, establecer negocios y realizar visitas, con residencias, oficinas y coworking, tiendas y restaurantes, además de turismo, museos y espacios culturales, exposiciones y eventos importantes en un solo lugar. Continúa creciendo sobre los cimientos creados para la Expo 2020 de Dubái.

El desafío principal era crear un “acompañante” móvil que funcionara para públicos muy diferentes (turistas y visitantes de un día, pero también inquilinos, fundadores y empleados) provenientes de múltiples orígenes culturales y que usaran diferentes idiomas (incluidos sistemas de escritura de derecha a izquierda). El producto fue construido para un conjunto internacional y diverso de usuarios, con una ruta de entrada sencilla y sin inicio de sesión obligatorio para uso general.

Debido a que Expo City Dubai cubre una gran superficie, la calidad de la navegación y la arquitectura de la información tienen consecuencias en el mundo real. Las etiquetas poco claras, la falta de contexto o demasiados pasos para obtener direcciones pueden provocar giros incorrectos y rutas más largas en el lugar. Por lo tanto, la experiencia de usuario (UX) tuvo que diseñarse para ofrecer velocidad y claridad: encontrar un lugar, comprender dónde está y llegar allí con el mínimo esfuerzo.

Pantalla de inicio de la aplicación Expo City Dubai

Why Flutter?

Expo City necesitaba un solo equipo para realizar lanzamientos de manera consistente en iOS y Android, al tiempo que mantenía una alta calidad y un mantenimiento predecible. Una única base de código en Flutter hizo que esto fuera factible, sin sacrificar el nivel de personalización de la interfaz de usuario requerido para una experiencia con gran identidad de marca y un fuerte enfoque en mapas.

La justificación se redujo a unos pocos factores a nivel de decisión:

  • Aprovechamiento multiplataforma: una sola hoja de ruta de producto, un solo flujo de implementación, dos plataformas.
  • Rendimiento para una UI interactiva: el núcleo de la aplicación es el mapa y las interacciones a su alrededor; el modelo de renderizado de Flutter y el control sobre los detalles de la interfaz de usuario se adaptan bien a este requisito.
  • Experiencia de desarrollo y velocidad de iteración: un flujo rápido de comentarios es fundamental cuando las prioridades del backlog cambian con los eventos, las temporadas y el crecimiento de la ciudad.
  • Cuando se necesitó código nativo: en unos pocos casos extremos, el equipo utilizó el modelo add-to-app de Flutter, agregando extensiones nativas de iOS/Android donde fue necesario, mientras mantenía el núcleo multiplataforma.

Building with Flutter

Merixstudio, socio tecnológico de Expo City, diseñó el producto en torno a una realidad clara: para muchas personas en el lugar, el “contenido” es secundario. La primera pregunta es: ¿Dónde estoy, a dónde debería ir después y cómo llego allí?

Flutter permitió una única y consistente experiencia centrada en el mapa en iOS y Android, algo crítico cuando el mapa es la interfaz de usuario principal y el producto debe mantenerse consistente visual y conductualmente para una base de usuarios diversa e internacional. También le dio al equipo un fuerte control sobre las interacciones de la UI en torno a Mapbox (navegación impulsada por mapas, puntos de entrada de navegación, lugares guardados), al mismo tiempo que mantenía la entrega y el mantenimiento centralizados en una sola base de código.

Para los mapas, el equipo utilizó el Mapbox Maps Flutter SDK oficial. Debido a que no incluye navegación paso a paso, lo extendieron a través de canales de plataforma, conectándolo con los SDKs nativos de Mapbox Navigation en iOS y Android. Esto mantuvo la experiencia central y la lógica del producto en Dart, agregando solo capas nativas delgadas donde fue necesario.

A partir de ahí, la aplicación se expandió para dar soporte a flujos que transforman «un mapa» en «una visita», la misma promesa de «qué hay dentro» descrita públicamente en la ficha de la aplicación:

  • Mapa interactivo con navegación punto a punto y marcadores para que los usuarios puedan fijar lugares antes de llegar.
  • Un directorio de atracciones, eventos, opciones gastronómicas y empresas: una capa de contenido que sigue siendo útil incluso cuando aún no estás en el lugar.
  • Guía del visitante, que incluye información práctica sobre estacionamiento y accesibilidad.
  • Información sobre eventos, incluyendo las mejoras de «eventos de hoy» lanzadas a principios de 2026.

Architecture and integrations

En cuanto a los datos, un CMS headless (Contentful) dio soporte a las actualizaciones constantes de contenido, mientras que las integraciones con Microsoft Dynamics ayudaron a encajar la aplicación en un ecosistema digital más amplio.

Para mantener un rendimiento predecible durante los picos de tráfico (por ejemplo, durante grandes exposiciones y eventos), el backend y la infraestructura se configuraron para el autoescalado en Amazon Web Services.

Flutter también dio soporte a la arquitectura y las integraciones del proyecto al facilitar la consistencia en las conexiones de los «servicios de contenido» en ambas plataformas. La aplicación consumía contenido impulsado por el CMS y datos de negocio a través de capas de API, con Flutter actuando como la capa compartida de presentación y orquestación. Gracias a eso, la lógica de integración, que incluye la obtención de datos, el almacenamiento en caché, el manejo de errores y las reglas de implementación de funciones, no tuvo que duplicarse para iOS y Android. Esto redujo las divergencias entre plataformas y facilitó su evolución.

La arquitectura se basa en flutter_bloc para la gestión de State, get_it con injectable para la inyección de dependencias, Dio para la conexión en red y go_router para el enrutamiento. El almacenamiento se divide entre flutter_secure_storage para las credenciales y shared_preferences para el State ligero. Firebase impulsa las analíticas, crashlytics, remote config y las notificaciones push, mientras que Tealium gestiona las etiquetas. En cuanto a la UI, el equipo utilizó cached_network_image, flutter_svg, video_player y una biblioteca de componentes impulsada por Widgetbook.

La base de código está organizada en paquetes internos —separando API, datos, utilidades comunes, widgets y temas—, lo que mantiene limpio el gráfico de dependencias y permite el desarrollo en paralelo en todo el equipo. Cuando se requirieron SDKs específicos de la plataforma —en particular, Mapbox Navigation—, el equipo utilizó los canales de plataforma (platform channels) de Flutter para conectarse con el código nativo, manteniendo la aplicación completamente dentro de Flutter.

Inclusión por diseño: idioma y accesibilidad

Aquí es donde las decisiones móviles se convierten en decisiones de producto. La aplicación se construyó para ser culturalmente intuitiva para múltiples audiencias y escalable a través de diferentes idiomas, incluyendo diseños de derecha a izquierda. También se desarrolló teniendo en cuenta la accesibilidad (apuntando a la alineación con las pautas WCAG y destacando las instalaciones disponibles para personas con discapacidades).

Calidad y confianza (lo que a menudo es invisible)

La confianza a menudo se «siente» más que articularse de forma explícita. Aquí, fue probada. La base de código pasó por una auditoría de seguridad realizada por el equipo de seguridad de Expo City Dubai, y el proyecto también se sometió a una evaluación de sostenibilidad por parte de Ecovadis a petición de Expo City Dubai.

Calendario de eventos en la aplicación Expo City Dubai

Key results & business impact

A continuación se detallan los resultados logrados:

  • Escalabilidad validada bajo alto tráfico: las pruebas de carga verificaron la estabilidad para hasta 400,000 usuarios simultáneos durante picos como eventos importantes.
  • Base de integración: se entregaron varias integraciones clave, incluyendo Contentful y Microsoft Dynamics como parte de la solución inicial, lo que permite que la aplicación se conecte al ecosistema más amplio de la ciudad.
  • Satisfacción del cliente: se logró un NPS de 10/10 de los usuarios (con una satisfacción del equipo interno de 4.5/5).
  • Reconocimiento de diseño: se obtuvo el segundo premio en la categoría móvil en los premios WaysConf Awards.
  • Distinción en la industria: la aplicación fue nominada en la categoría de «Viajes y Transporte» de los premios Mobile Trends Awards (premios anunciados en marzo de 2025).

Y debido a que el crecimiento de la aplicación está entrelazado con el crecimiento de la ciudad, el reconocimiento externo de Expo City también importa: en octubre de 2025, Expo City Dubai fue galardonada como la zona franca «estrella en ascenso» global de 2025 por fDi Intelligence.

Una captura de pantalla de la aplicación Expo City Dubai que muestra el mapa interactivo

Conclusion

La conclusión clave es que Flutter funciona como una base de nivel empresarial, no solo para la entrega multiplataforma, sino también para la evolución del producto a largo plazo. Para Expo City Dubai, la aplicación se diseñó como una plataforma de superaplicación, reuniendo múltiples servicios y públicos en una ciudad inteligente de rápido crecimiento. Esa arquitectura mantiene el producto flexible a medida que la ciudad se expande, admitiendo desde necesidades comerciales y del lugar de trabajo hasta navegación, estilo de vida, cultura y turismo. En otras palabras, la aplicación no solo describe la ciudad; se está convirtiendo en parte de cómo funciona la ciudad.