Hace poco tiempo, surgió en mi mente la idea de desarrollar un servicio que enviara recordatorios diarios con el fin de motivar a las personas a trabajar en sus objetivos. El servicio consistiría en enviar SMS con citas inspiradoras en horarios específicos, como justo antes de una sesión de entrenamiento.
A pesar de la existencia de numerosas aplicaciones de motivación en el mercado que ofrecen servicios similares, ninguna de ellas prescinde de la instalación de una app y utiliza SMS en su lugar. Decidí emprender este proyecto como complemento a mi trabajo actual.
El proyecto tenía un doble propósito: trabajar en el diseño del sistema y adquirir conocimientos sobre marketing y crecimiento.
Resultado final: https://www.uppush.me/
Tecnologías utilizadas: Next.js, Material UI, AWS EventBridge Scheduler, AWS SNS, AWS Lambda, DynamoDB, Terraform.
Para que este proyecto funcione, se requieren 4 componentes clave:
- Un formulario de registro para los usuarios.
- Una base de datos para almacenar los horarios de los usuarios y otros metadatos.
- Un programador para activar el envío de SMS en el horario seleccionado por el usuario.
- Un intermediario de SMS que proporcione una API para enviar mensajes a cambio de una pequeña tarifa.
Al diseñar la arquitectura, tuve en cuenta tres criterios fundamentales: simplicidad, bajo costo y velocidad. Mantener el diseño simple, elegir opciones económicas y utilizar plataformas familiares fueron las claves para alcanzar el objetivo.
Página de inicio y formulario de registro
La página de inicio debe comunicar claramente el valor del servicio a los visitantes, permitiéndoles decidir si desean registrarse. Para la interfaz de usuario, opté por Next.js y la biblioteca Material UI, que facilitaron el desarrollo y ofrecieron integraciones con otras herramientas.
La aplicación se alojó en Vercel, que proporciona una capa gratuita suficiente para un proyecto de esta envergadura y se integra con GitHub, ofreciendo CI/CD desde el principio.
El alojamiento en Vercel se combinó con AWS DynamoDB, una base de datos NoSQL que se ajusta perfectamente al proyecto. Esta elección se basó en su ausencia de servidor, bajo costo y fácil escalabilidad.
Una vez que los usuarios se registran, esperan recibir SMS en horarios específicos. Para programar estas tareas, opté por Amazon EventBridge Scheduler, una solución sin servidor, fácil de configurar y con una capa gratuita generosa.
Cada usuario tiene asignados los horarios correspondientes a las horas seleccionadas durante el registro, adaptados a su zona horaria. La implementación de las zonas horarias de los usuarios resultó ser un desafío interesante, ya que fue necesario considerar casos en los que la configuración regional del usuario no reflejara su ubicación real.
Para el envío de SMS, AWS SNS se ajustó a los requisitos de diseño del proyecto, activando una función Lambda que formatea el mensaje y lo envía a los suscriptores a través de SNS.
A pesar de algunos obstáculos que requirieron asistencia del equipo de soporte de AWS, logré superarlos y finalizar el MVP. Al compartir UpPush.me en foros para emprendedores tecnológicos, obtuve comentarios valiosos y capté los primeros suscriptores.
Lecciones aprendidas
Tras esta experiencia, destacaría tres lecciones fundamentales:
La perfección es enemiga de lo bueno. Es crucial enfocarse en construir un producto útil y necesario, en lugar de buscar la perfección desde el inicio.
Definir plazos. Establecer plazos concretos es una herramienta efectiva contra el perfeccionismo, ya que prioriza el tiempo y la entrega del producto.
Integrar los comentarios continuamente. La retroalimentación periódica de los usuarios permite ajustar el producto, añadir nuevas funciones y mejorar la experiencia del usuario.
En conclusión, construir un servicio propio a gran escala representa una oportunidad invaluable para aprender y crecer en el ámbito del desarrollo de sistemas, arquitectura, tecnología y marketing. Tras 4 semanas desde su lanzamiento, UpPush.me cuenta con 32 suscriptores y sigue creciendo en un ecosistema dinámico para emprendedores tecnológicos.
Mantente actualizado de las noticias en nuestro Twitter e Instagram
Bogotá (Colombia), 1989. Apasionado por la investigación y el análisis de temas de interés público. Estudió comunicación social en la Universidad de Bogotá y posteriormente obtuvo una maestría en periodismo investigativo en la Universidad de Medellín. Durante su carrera, ha trabajado en diversos medios de comunicación, tanto impresos como digitales, cubriendo temas de política, economía y sociedad en general. Su gran pasión es el periodismo de investigación, en el cual ha destacado por su habilidad para descubrir información relevante y sacar a la luz temas que a menudo se mantienen ocultos.