alqubo.
Archivadojun 2022

DoGood

Una app para que los empleados de una empresa adopten hábitos sostenibles con retos, contenidos y rankings entre compañeros.

Captura de DoGood

Qué era

DoGood era una app para empresas que querían ser más sostenibles empezando por su gente. La empresa la ofrecía a sus empleados y ellos, desde el móvil:

  • Hacían retos de hábitos sostenibles, o se creaban los suyos, y veían la huella que reducían.
  • Aprendían con contenidos y programas formativos divididos en módulos, con tests al final y un certificado al completarlos.
  • Compartían lo que hacían en un muro con sus compañeros, con hashtags, comentarios y traducción de las publicaciones.
  • Competían en rankings mensuales, individuales y por grupos.

La empresa, mientras tanto, veía el impacto de su plantilla. Cada empresa tenía su configuración: qué secciones se veían, si se podían crear retos propios o cómo se entraba (con Google, Apple o el SSO de Azure de la propia empresa).

Mi trabajo

Estuve en DoGood de junio de 2022 a julio de 2026 como Senior App Developer, en remoto, y en ese tiempo pasé por casi todas las partes de la app.

El sistema de diseño

La app había crecido a base de componentes sueltos. En 2023 empezamos a rehacerla sobre un sistema de diseño propio, con diseño atómico: colores, tamaños y efectos como tokens alineados con Figma, y encima los componentes DG* (textos, botones, avatares, pestañas, toasts, cabeceras, tarjetas, publicaciones…). Poco a poco fuimos sustituyendo las pantallas antiguas y quitando el código que quedaba sin usar.

Funcionalidades

Algunas de las que hice:

  • Rankings, rediseñados, con el resumen del mes anterior.
  • Hitos y módulos: los programas formativos con sus contenidos, los tests de cada reto y la vista previa del certificado.
  • Inspiraciones: un espacio en el muro para descubrir a otros compañeros.
  • Segmentación: retos y módulos por grupos de usuarios.
  • Perfil: la huella, la actividad y las publicaciones de cada usuario.
  • Login con el SSO de Azure para las empresas que lo usaban.

Calidad y releases

  • Tests end-to-end, primero con Detox y después con Maestro: registro, login, crear un reto o completar un contenido.
  • Releases con versionado y changelog automáticos a partir de los commits, y scripts para generar los textos y las capturas de las tiendas.
  • Traducciones sincronizadas con Localazy: se extraen los textos de la app y vuelven traducidos a sus 14 idiomas.

Cómo estaba hecha

  • App en React Native con JavaScript, para Android e iOS.
  • Estado con Redux y Redux-Saga.
  • Firebase para notificaciones y datos en tiempo real, Amplitude para analítica y Bugsnag para errores.
  • Tests con Jest y Maestro.

Posts relacionados

DesarrolloAtomic Design en React NativeQué es Atomic Design, cómo lo aplico en React Native con tokens, átomos, moléculas y organismos, y los errores que conviene evitar.