ExtraETF es una plataforma móvil integral de análisis de ETF y bolsa que ofrece a los inversores herramientas potentes para el seguimiento de carteras y la investigación de mercado. El proyecto se centró en entregar una experiencia móvil nativa y rica en funcionalidades, con énfasis en las actualizaciones en tiempo real, una autenticación sin fricción y las funciones de suscripción premium.

Onboarding

Onboarding

Página de noticias

Página de noticias

Página de temática

Página de temática

Artículo

Artículo

Página de valores

Página de valores

Detalle del valor

Detalle del valor

El reto

Cuando Isarvest GmbH acudió a nosotros para construir ExtraETF, tenía una visión clara: crear una aplicación móvil que democratizara la inversión en ETF mediante análisis potentes y una visión del mercado en tiempo real. El reto era entregar una app financiera sofisticada capaz de manejar visualizaciones de datos complejas, actualizaciones de precios en tiempo real y funciones premium manteniendo un rendimiento y una experiencia de usuario excelentes tanto en iOS como en Android.

Nuestro enfoque

Elegimos Flutter como base del desarrollo móvil, lo que nos permitió construir una vez y desplegar a ambas plataformas simultáneamente. Esa decisión resultó crucial para cumplir unos plazos de lanzamiento exigentes manteniendo la calidad del código y la paridad de funcionalidades. El rico ecosistema de widgets de Flutter y sus capacidades de rendimiento lo hicieron ideal para renderizar gráficos financieros complejos y manejar flujos de datos en tiempo real.

Para las actualizaciones de precios en tiempo real implementamos un servicio de basado en Go que difunde de forma eficiente los datos de mercado en directo a los clientes web y móviles. El modelo de concurrencia de Go y sus goroutines ligeras lo convirtieron en la elección perfecta para gestionar miles de conexiones WebSocket simultáneas con un consumo de recursos mínimo.

Logros técnicos

La implementación en Flutter aportó valor de inmediato. La velocidad de desarrollo aumentó drásticamente al construirse las funcionalidades una sola vez y desplegarse en todas partes. El hot reload aceleró los ciclos de iteración, y la base de código única redujo la superficie de errores al eliminar inconsistencias específicas de cada plataforma.

El servicio WebSocket en Go resultó excepcionalmente eficiente en producción. Su capacidad para manejar conexiones concurrentes a escala hizo que las actualizaciones de precios en tiempo real llegaran a los clientes con una latencia mínima, incluso a medida que crecía la base de usuarios. La ligereza de Go mantuvo bajos los costes de servidor sin renunciar a un rendimiento excelente.

La integración de funcionalidades nativas de plataforma —:term{slug="oauth"} de Apple y Google, notificaciones push, — fue fluida gracias al ecosistema de plugins de Flutter. Eso nos permitió entregar experiencias nativas de cada plataforma manteniendo la eficiencia del desarrollo multiplataforma.

Impacto de negocio

Las decisiones tecnológicas se tradujeron directamente en resultados de negocio:

  • Seis meses desde el arranque hasta ambas tiendas, con paridad de funcionalidades desde el primer día: sin un lanzamiento escalonado con iOS por delante y sin una plataforma esperando a que la otra la alcanzara.
  • reducido en un 40 % estimado frente a mantener dos desarrollos nativos en paralelo; la cifra que aparece cuando el mismo trabajo deja de pagarse dos veces.
  • Alrededor del 99 % del código móvil es compartido entre iOS y Android; la parte específica de cada plataforma son unos cientos de líneas de pegamento nativo para facturación, OAuth y push.
  • Un único equipo de ingeniería es dueño de todo el stack móvil, así que la carga de mantenimiento se mantuvo plana donde dos equipos nativos cargarían cada uno con su propio ciclo de actualizaciones.

La app se lanzó con éxito tanto en la App Store como en Google Play, logrando una retención sólida gracias a su rendimiento fluido y a sus capacidades de datos en tiempo real. El modelo de suscripción, apoyado en una integración robusta de compras dentro de la app, permitió un crecimiento sostenible de los ingresos mientras la arquitectura técnica escalaba sin esfuerzo con la captación de usuarios.

Funcionalidades clave

Notificaciones push

Las alertas de mercado en tiempo real y las actualizaciones de cartera mantienen informados a los usuarios sobre movimientos de precios relevantes, noticias del mercado y análisis personalizados de inversión. El sistema de notificaciones está construido para manejar actualizaciones de alta frecuencia sin sacrificar la eficiencia de batería ni el control de preferencias del usuario.

Autenticación e inicio de sesión social

Un onboarding ágil mediante la integración de OAuth de Apple y Google ofrece a los usuarios una autenticación segura con un solo toque. Esto reduce la fricción en el proceso de registro y garantiza la seguridad de la cuenta a través de proveedores de identidad de confianza.

Deep linking

Los universal links y app links permiten navegar sin fricción desde contenido web, campañas de correo y redes sociales directamente a pantallas concretas dentro de la app. Los usuarios pueden compartir ETF, carteras o análisis de mercado específicos con otras personas, creando una experiencia más conectada.

Gráficos interactivos

Los gráficos avanzados muestran los datos de mercado con múltiples marcos temporales, indicadores técnicos y herramientas de comparación. Los gráficos están optimizados para la interacción móvil con zoom por pellizco, control por gestos y un rendimiento ágil incluso con grandes conjuntos de datos.

Compatibilidad con temas

Una implementación completa de tema claro y oscuro se adapta a las preferencias del usuario y a los ajustes del sistema, garantizando una lectura cómoda en cualquier condición de luz. El sistema de diseño mantiene la coherencia visual y la legibilidad en ambos temas.

Gestión de suscripciones

Integración de compras dentro de la app para las funciones premium, con una gestión de suscripciones fluida a través de la App Store de Apple y Google Play. El sistema gestiona periodos de prueba, niveles de suscripción y restauración entre dispositivos.

Preguntas frecuentes

ExtraETF es una app móvil de análisis de ETF y bolsa construida para Isarvest GmbH: datos de mercado en tiempo real, gráficos interactivos, seguimiento de carteras y funciones de suscripción premium en iOS y Android. Construimos la parte móvil con Flutter y la capa de datos en tiempo real con un servicio WebSocket en Go.
Un único equipo tenía que entregar las mismas funcionalidades en iOS y Android con plazos ajustados, y una app de gráficos financieros necesita ser dueña de sus píxeles: un gráfico de verdad es renderizado a medida, no un widget estándar de la interfaz. Flutter ofrece ambas cosas: una única base de código en Dart y un lienzo sobre el que dibujar directamente. En la app terminada, alrededor del 99 % del código móvil es compartido entre las plataformas, con solo unos cientos de líneas de pegamento nativo para facturación, OAuth y push.
Un servicio WebSocket basado en Go difunde los precios en directo a los clientes web y móviles, usando goroutines para mantener miles de conexiones simultáneas con un consumo de recursos mínimo. Las actualizaciones se consolidan aguas arriba a una cadencia estable de aproximadamente una actualización por instrumento y segundo —el ritmo que realmente necesita una persona que mira un precio—, lo que mantiene baja la latencia y bajo control la CPU y el ancho de banda de los clientes a medida que crece la base de usuarios.
Seis meses desde el arranque hasta el lanzamiento en la App Store y Google Play, con paridad de funcionalidades entre plataformas desde el primer día. Frente a mantener dos desarrollos nativos en paralelo, la reducción estimada del time to market fue de en torno al 40 %, porque la lógica de negocio, los gráficos y las pantallas se escribieron una vez en lugar de dos.
Sí: ExtraETF es una app intensiva en gráficos por diseño, con múltiples marcos temporales, indicadores técnicos y herramientas de comparación. Como Flutter dibuja cada píxel por sí mismo, el código de los gráficos se ejecuta de forma idéntica en ambas plataformas, y mantener el trabajo geométrico costoso fuera de la fase de pintado conserva una interacción fluida dentro del presupuesto de fotograma de 16,6 ms incluso con grandes conjuntos de datos.

ExtraETF se construyó con Flutter y Go como parte de nuestro servicio de desarrollo de apps con Flutter, y es el proyecto de referencia detrás de nuestra práctica de desarrollo de apps fintech.

Para profundizar en la ingeniería —cómo el servicio WebSocket en Go difunde datos de mercado en tiempo real a miles de clientes y cómo los gráficos se mantienen a 60 fps en Flutter— lee Cómo construimos una app fintech en tiempo real con Flutter y Go.