Arquitecto de software full stack
Desarrollé mejoras y nuevas funcionalidades en la aplicación web para la gestión y telemetría de recursos hídricos en Chile (Amaru). Utilicé React para el frontend y Node.js para el backend, implementando una API GraphQL para facilitar la comunicación eficiente entre ambos. La aplicación permitía la visualización de datos como nivel, flujo y volumen de equipos ubicados en diferentes redes de canales en todo Chile. La utilización de GraphQL en la API brindó ventajas significativas al permitir a los clientes solicitar datos específicos según sus necesidades, optimizando así el rendimiento y la eficiencia de la aplicación.
Uno de los desafíos técnicos principales fue la integración de bases de datos relacionales y no relacionales para mejorar el rendimiento y la escalabilidad de la aplicación. Para superar este desafío, utilizamos 4 tipos de combinaciones de bases de datos como MariaDB, DynamoDB, InfluxDB y Redis. Esta estrategia nos permitió separar las funcionalidades de la aplicación en servicios independientes, cada uno con su propia base de datos adecuada para el tipo de datos que manejaban. Gracias a esta arquitectura, logramos mejorar significativamente el rendimiento, la escalabilidad y la eficiencia de la aplicación, garantizando una experiencia óptima para los usuarios y una gestión eficaz de los datos. Además, la combinación de bases de datos nos brindó flexibilidad y robustez para adaptarnos a futuros cambios y expansiones del proyecto, asegurando su viabilidad a largo plazo.
Un desafío interesante fue la integración de un componente de gráficos en tiempo real que mostraba datos complejos de forma visualmente atractiva. Utilicé bibliotecas de gráficos compatibles con React como HighCharts y Apache Echarts para lograr este objetivo. Esta implementación no solo mejoró la visualización de datos, sino que también contribuyó a una experiencia de usuario más interactiva y atractiva. Además, implementé rutas utilizando React Router para la navegación entre diferentes secciones de la aplicación, lo que permitió una experiencia de usuario fluida y coherente. Estas decisiones técnicas no solo mejoraron el rendimiento de la aplicación, sino que también garantizaron que los usuarios pudieran interactuar de manera eficiente y agradable con la plataforma, mejorando así la usabilidad y satisfacción general.
Desarrollé la aplicación móvil enfocada en una versión lite de la aplicación web Amaru utilizando React Native y Expo, lo que me permitió crear una sola implementación que generara versiones para Android y iOS. Esta estrategia simplificada de desarrollo garantizó una mayor eficiencia en el proceso de creación de la aplicación móvil, permitiendo a los usuarios de ambas plataformas disfrutar de una experiencia consistente y de calidad sin la necesidad de desarrollar dos aplicaciones separadas.
Desarrollé la web comercial de la empresa Captahydro utilizando Next.js 13 y una instancia de Strapi para almacenar el contenido de la web. Esta combinación de tecnologías me permitió crear un sitio web rápido, dinámico y altamente optimizado. Además, me enfoqué en mejorar el SEO de la web, implementando estrategias como la optimización de metadatos, la creación de URLs amigables y la generación de contenido de calidad para mejorar la visibilidad y posicionamiento en los motores de búsqueda.
Arquitecto de software full stack
Durante mi tiempo en kubo.co, participé en diversos proyectos de backoffices, APIs REST y webs comerciales. Estas experiencias me permitieron desarrollar habilidades sólidas en la creación de plataformas internas, servicios web y sitios comerciales, abarcando diferentes aspectos del desarrollo de software y mejorando mi capacidad para trabajar en equipos multidisciplinarios y proyectos de gran alcance.
Desarrollé aplicaciones utilizando Vue/Nuxt.js, Angular y Node.js Sequelize, TypeOrm, destacando los siguientes aspectos: la implementación de interfaces de usuario atractivas y funcionales con Vue.js, Nuxt.js y Angular para crear experiencias intuitivas; el desarrollo de backend robustos y escalables con Node.js para garantizar un rendimiento óptimo y una gestión eficiente de los datos; la integración de tecnologías y servicios externos para enriquecer la funcionalidad y mejorar la experiencia del usuario; y la optimización del rendimiento y la seguridad de las aplicaciones mediante buenas prácticas de desarrollo y pruebas exhaustivas.
Estructuré bases de datos relacionales para diferentes lógicas de negocios. Trabajé en conjunto con diferentes equipos y departamentos para lograr los objetivos y metas en cada proyecto.
Dentro de las tecnologías que utilicé, son: Vue, Nuex, Angular, PrimeVue, Vuetify, Node, Express, Python, Aws, Lambda, S3, Mysql, Sequelize, TypeOrm y más.