zapptales

Zapptales se ha convertido en una empresa internacional de éxito con pedidos de libros de casi todos los países del planeta, gracias a sus integraciones no solo con WhatsApp, sino con Facebook Messenger, Instagram y Telegram.

La plataforma web de zapptales permite a los usuarios importar sus chats y editarlos a placer: cambiar colores, tipografías, reordenar los menajes, eliminar los que no son necesarios y agregar fotografías. Estas son sólo unas de las adaptaciones que se pueden hacer con un editor en línea adaptado a la aplicación web para crear tu libro Whatsapp..

En enero del 2016, fuimos contactados por dos jóvenes empresarios de Munich, Alemania que tenían la idea de convertir los chats de WhatsApp en libros. Ya contaban con un MVP con el que comenzaban a amasar sus primeros euros.

Su MVP era lo suficientemente bueno para lanzar y probar su propuesta de negocio, pero si querían competir contra productos avanzados, necesitaban una solución escalable que fuera sólida. En ese momento, ellos habían identificado un par de competidores en el mismo sector, y zapptales decidió invertir principalmente en construir una aplicación web más robusta que ayudara a catapultar su negocio.

La meta del proyecto era asegurarse de que se hiciera la transición correcta de un MVP que era funcional a una aplicación real sin interrupciones y lanzar mejorías constantes para la experiencia del usuario y el set de herramientas de sus clientes.

La plataforma fue desarrollada con Ruby on Rails, porque decidimos mantener la base del lenguaje backend. Para el frontend se usó principalmente la plataforma AngularJS 1.x., combinada con otros frameworks de JavaScript.

Una de las principales tareas fue cambiar la implementación de AngularJS a la nueva versión de Angular o a la infraestructura JavaScript de nuestra elección. Esta tarea significaba reescribir todo el código frontend, ya que de lo contrario, se estaría haciendo un uso intensivo de los scopes compartidos - lo cual va en contra del modelo moderno de componentes de frameworks. Por lo tanto, analizamos opciones de menor peso como ReactJS y Vue.js.

El motor del e-commerce en línea es de Shopify, que es una de las plataformas más grandes y confiables que usan Ruby. Para los escépticos: Shopify soporta actualmente millones de transacciones por minuto sin problema alguno.

Usamos intensamente la API de Spotify para proveer una sutil integración a la plataforma y nunca hemos parado de trabajar en mejorar el proceso de compra. Es la parte más crítica de cualquier comercio en línea.

Desde el punto de vista de la ingeniería, la parte más exigente del proyecto fue asegurar la disponibilidad del servicio tan cerca a 100% como fuera posible para evitar que se perdiera alguna venta. Las pausas en las primeras etapas de cualquier negocio pueden representar una gran amenaza, sobre todo en los e-commerce.

Además de eso, también tuvimos que reducir los atascos que encontramos en el MVP inicial para poder escalar exponencialmente (para alcanzar el tan anhelado modelo de crecimiento exponencial).

Esto fue fácil de lograr debido a que ya estábamos trabajando para sitios con mucho tráfico como Zinio, Rakuten TV y Naiz los cuales requirieron un análisis profundo en cuanto a rendimiento y optimización durante los picos de tráfico y en momentos de alta concurrencia.

MarsBased ha demostrado ser un socio dispuesto a dar un paso más para superar nuestras necesidades y expectativas. Durante los años que hemos trabajado juntos, han entregado un trabajo excelente. También estaban dispuestos a trabajar largas horas cuando las cosas se complicaron y a ayudar durante los fines de semana, lo que hace la diferencia cuando se está construyendo un negocio. Esta alineación con los objetivos del cliente es algo raro de encontrar en una agencia. No estaríamos donde estamos hoy sin ellos.

Tecnologías del proyecto

Ruby on Rails

Framework de desarrollo web que proporciona estructuras predeterminadas para una base de datos, un servicio web y páginas web.

Shopify

Shopify es el nombre de una plataforma de comercio electrónico propietaria para tiendas en línea y sistemas de punto de venta minorista.

Angular

Angular es un framework web de SPAs, basado en TypeScript, gratuito y de código abierto, liderado por el Equipo de Angular en Google.

Electron

Electron es un framework de software libre y de código abierto diseñado para crear aplicaciones de escritorio utilizando tecnologías web.

Otra parte que resultó desafiante fue tener que preparar el producto para poderlo escalar lo tanto como lo requería el negocio. El MVP inicial corría todo desde un solo servidor físico, que era aceptable durante el proceso de validación del producto. Pero una vez que metimos mano, mudarlo a la nube fue una de nuestras prioridades.

El proceso de analizar los chats de WhatsApp y generar los libros físicos involucra el uso intensivo del CPU y RAM. Rediseñamos todo el proceso para permitir que varios servidores llevaran a cabo esas tareas en paralelo y así asignar los recursos computacionales de forma más inteligente.

Todos los sistemas de despliegues, rastreo y monitorización fueron reconstruidos para enfocarnos menos en la parte operativa y así concentrar nuestros esfuerzos en desarrollar nuevas funcionalidades.

Con la arquitectura distribuida que empleamos, nuestro cliente también pudo almacenar todas las conversaciones de sus usuarios de forma más segura y duradera, ofreciendo un acceso más veloz a sus libros en PDF en diferentes regiones. Una prueba de ello es que han comenzado a vender a más países en el mundo.

La plataforma puede enfrentarse a un gran número de pedidos. Sin embargo, nuestro trabajo no termina ahí. Constantemente estamos analizando los sistemas de la plataforma y evaluando cómo podemos hacerlo más rentable.

Otra cosa que vale la pena mencionar es que los libros se deben imprimir. Esto ha requerido que consideremos las limitaciones físicas y otros criterios relevantes al diseñar el formato de los libros.

Un de nuestros desarrolladores fronend, Javier, solía trabajar en una imprenta, así que conocía bien los procedimientos y medidas, con lo cual reducimos el número de iteraciones a la hora de imprimir.

Por último, WhatsApp está cambiando su plataforma constantemente, ya que es un producto vivo, a veces alterando la estructura de sus chats y los mensajes. Por ejemplo, cuando permiten el envío de nuevos tipos de archivos en su plataforma, o esa vez que agregaron nuevos colores de piel a los emoticonos.

Necesitábamos reaccionar rápido ante estos cambios. Esto lo logramos mediante una comunicación fluida con el equipo de zapptales usando un chat compartido en Slack y tocando base varias veces a la semana cuando se detectaban cambios y había riesgo de no poder procesar chats por un tiempo limitado, algo que podía afectar las ventas.

Nuestra relación continúa con los años y parece que el futuro pinta bien para zapptales. Estamos muy contentos de haberlos ayudado desde 2015 y deseamos seguir trabajando con ellos por muchos más años todavía.