A selection of projects that demonstrate my technical skills and problem-solving approach that I have had the opportunity to develop throughout my career in the world of computing.
I am a developer passionate about creating technological solutions that positively impact people's lives. I recently graduated with a degree in Computer Engineering from the Technological University of Havana (CUJAE) and am currently a professor and researcher at that institution. I specialize in full-stack development with a particular focus on scalable architecture and best development practices. My work philosophy is based on continuous learning and delivering clean, maintainable code.
The tools and technologies I master to create scalable and functional solutions.
My professional career in software and technology development.
My academic background, awards, and professional certifications.
Let's collaborate in a space where creativity and technique merge to deliver excellence.
Computer Engineer in constant growth, specializing in software development with a focus on scalable solutions and clean design, to create all kinds of digital experiences.

Gracias a la experiencia adquirida, hoy soy capaz de diseñar y desarrollar soluciones de software completas, participando activamente en todas las fases del proceso: desde la planificación y análisis, hasta el despliegue y mantenimiento. Reconociendo estas habilidades, he emprendido mi camino como desarrollador independiente, creando proyectos propios y aplicando arquitecturas modernas y buenas prácticas de desarrollo.
Durante el tercer año de mi carrera, tuve la oportunidad de trabajar en una empresa tecnológica que amplió por completo mi visión del entorno profesional. Fue mi primera experiencia en un equipo de desarrollo real, donde aprendí sobre metodologías de trabajo, colaboración y responsabilidad profesional. Estoy muy agradecido por las enseñanzas, el apoyo de mis compañeros y las amistades que surgieron durante esa etapa.
Durante mis prácticas laborales universitarias tuve mi primera experiencia profesional como desarrollador y analista de software, participando en reuniones con clientes y tutores para comprender necesidades reales y transformarlas en soluciones técnicas. Fui asignado como líder de equipo, coordinando el trabajo del grupo y asegurando el cumplimiento de los objetivos del proyecto. A partir de esta experiencia comenzó el desarrollo de mi proyecto de tesis, titulado “Sistema para la Evaluación del Estado Técnico de Edificaciones”, en colaboración con la Facultad de Ingeniería Civil, marcando mi primer acercamiento a proyectos de software con impacto institucional.
Soy profesor e investigador en la Universidad Tecnológica de La Habana (CUJAE), donde imparto las asignaturas Introducción a la Programación y Diseño y Programación Orientada a Objetos. Diseño materiales educativos, evalúo proyectos prácticos y conduzco sesiones de laboratorio centradas en el desarrollo de habilidades de programación y pensamiento lógico. Desde mi incorporación como docente, en el segundo año de la carrera, he perfeccionado mis habilidades comunicativas, y de enseñanza práctica, guiando a estudiantes en su primer contacto con la programación académica y profesional.
Mi paso por la Universidad Tecnológica de La Habana “José Antonio Echeverría” (CUJAE) ha sido una etapa fundamental tanto en mi formación profesional como en mi crecimiento personal. Los desafíos enfrentados, las metas alcanzadas y las experiencias compartidas con compañeros y profesores contribuyeron significativamente a fortalecer mi disciplina, capacidad analítica y compromiso con la excelencia.

Project developed for educational purposes to help understand grouping and classification algorithms.
How to teach the execution and operation of classification and grouping algorithms interactively in the Artificial Intelligence subject at Cujae?
Interactive software that graphically demonstrates how two benchmark algorithms—for classification and clustering, respectively—function.
Use of data structures to replicate the KNN and DBSCAN algorithms. Files to persist created projects and allow sharing between applications. Modularization of the software with a decoupled logic layer and interface. Use of analytical geometry to render nodes that change position.
More interactive classes, greater student participation, easier explanation.

Para facilitar y hacer más cómodo el flujo de trabajo de los ingenieros civiles y especialistas, así como aumentar la eficiencia del proceso, existe el proyecto de software Fast-Inspection. Una plataforma que permite la realización y el análisis de inspecciones técnicas de una forma confiable, segura y cómoda.

El proyecto “Planificación de Paquetes Turísticos” modela el negocio de una agencia de viajes dedicada a ofrecer paquetes turísticos integrales que combinan alojamiento, transporte y servicios complementarios (como excursiones o actividades).

Cujae-IDR (Cujae Intelligent Document Repository) es una plataforma inteligente diseñada para el almacenamiento, gestión y difusión de documentos científicos y académicos pertenecientes a la Universidad Tecnológica de La Habana “José Antonio Echeverría” (CUJAE). Su propósito es preservar y compartir el conocimiento generado dentro de la institución, permitiendo que tanto el personal universitario como usuarios externos puedan acceder fácilmente a documentos de jornadas científicas, eventos, investigaciones y publicaciones. El sistema incorpora tecnologías de inteligencia artificial y generación multimedia para ofrecer una experiencia innovadora: cada documento subido es analizado automáticamente, se genera un resumen textual con IA, se sintetiza un audio narrado del resumen, y se construye un carrusel visual con imágenes relacionadas al contenido. En esencia, Cujae-IDR transforma documentos en experiencias interactivas, convirtiendo la lectura técnica o científica en un formato más accesible, dinámico y atractivo.

“Perfumes del Puro” es una tienda en línea moderna dedicada a la venta de perfumes exclusivos, diseñada para ofrecer una experiencia de compra fluida, segura e intuitiva. El sistema permite a los usuarios explorar una amplia gama de productos filtrando por marca, precio, categoría u ofertas, así como realizar pedidos y pagos de forma cómoda y eficiente. A nivel interno, el sistema incluye un panel administrativo profesional que permite al propietario y al personal autorizado gestionar perfumes, usuarios, promociones, pedidos y stock, garantizando un control total sobre la operación de la tienda.

Una aplicación web diseñada para permitir a los usuarios crear y administrar su portafolio profesional de manera centralizada. Los usuarios pueden registrarse, gestionar sus proyectos, experiencia laboral, certificaciones, premios académicos e información personal (como nombre, foto de perfil, correo electrónico y una descripción biográfica). La plataforma genera automáticamente un portafolio al registrarse, ofreciendo una solución accesible para mostrar su trayectoria de forma organizada.
La falta de una herramienta eficaz para diagnosticar el estado técnico de edificaciones puede resultar en estructuras inseguras que representan un riesgo para la seguridad de la población en general. Por ende surge el siguiente problema: ¿Cómo diagnosticar de manera precisa y oportuna el estado técnico de edificaciones en condiciones diversas?.
Plataforma informática para automatizar los procesos de evaluación del estado técnico de una edificación, que use la metodología de evaluación creada por la master Liyen Pérez Quiñones.
Para hacer realidad la plataforma me fue necesario aprender, investigar y poner en práctica muchas cosas. Diseño de software para definir la arquitectura de la plataforma. Ingeniería de Requisitos para establecer los requisitos funcionales y no funcionales de cada sistema conformante de la plataforma. Desarrollo Frontend con Next.js para la implementación del Sistema Web. Desarrollo Backend con Nest.js para la implementación del la API de la plataforma, dicha API con una arquitectura de microservicios con múltiples base de datos en dependencia de la necesidad como PostgreSql y MongoDB. Devops, cree los ambientes de desarrollo y producción de la solución interconecté cada pieza conformante de la plataforma para dar consigo a un producto funcional, definí flujos de integración continua con GithubApps, dockericé cada proyecto y cada microservicio para su despliegue en un Servidor VPS. Gestión de proyectos para organizar y dividir el trabajo con los compañeros de equipo.
Se evidenció viabilidad y efectividad de una solución informática integral para el diagnóstico estructural. Se demostró innovación interdisciplinaria entre Ingeniería Civil e Informática. La plataforma móvil y web integradas constituyen una solución funcional para el diagnóstico de edificios, permitiendo un flujo confiable de información y preparada para validación real. Las pruebas realizadas confirman que la plataforma funciona correctamente y cumple con los requisitos iniciales, respaldando su utilidad como herramienta de diagnóstico
Antes de su implementación, las agencias de viajes enfrentaban: Procesos manuales y fragmentados para registrar y gestionar contratos con hoteles, transportistas y prestadores de servicios. Dificultades para organizar y combinar modalidades turísticas en un mismo paquete (ej. alojamiento + transporte + excursiones). Duplicidad y pérdida de información por ausencia de una base de datos integrada. Falta de automatización en tareas críticas como la generación de reportes o control de reservas.
El proyecto dio lugar a una aplicación de escritorio desarrollada en Java conectada a una base de datos PostgreSQL. Capaz de solventar todos los problemas que enfrentan estas agencias de viaje.
Identificación clara de entidades y relaciones complejas (múltiples relaciones 1-n y n-m). Diseño de un modelo E-R completo y su transformación en modelos lógico y físico optimizados. Diferenciación y justificación entre modelo lógico vs. físico, asegurando integridad referencial y eficiencia. Elaboración de Diagramas Entidad-Relación, diagramas de clases UML y diagramas de interacción por roles. Integración del diseño de base de datos con la arquitectura orientada a objetos en Java. Construcción y prueba del script SQL completo de creación de tablas y relaciones, con claves primarias y foráneas. Experiencia en normalización de tablas, restricciones e índices. Comprensión de las diferencias entre el diseño lógico conceptual y su implementación física real. Aplicación de principios de Programación Orientada a Objetos (POO). Implementación de clases jerárquicas (herencia, abstracción) para modelar contratos, modalidades y roles. Uso de Java Swing para construir interfaces gráficas intuitivas y consistentes. Dividir tareas entre grupos de desarrollo (base de datos y aplicación). Mantener comunicación y conocimiento integral entre todos los miembros. Aprender a iterar y refinar el diseño con base en problemas detectados durante el desarrollo.
Aumento de la eficiencia operativa, al automatizar tareas administrativas y de reserva. Reducción de errores humanos, gracias a la validación y gestión centralizada de datos. Trazabilidad completa de contratos, paquetes y reservas. Capacidad de expansión, ya que el diseño permite escalar hacia una futura aplicación web. Mejora en la calidad del servicio al cliente, al disponer de información precisa y actualizada para ofrecer paquetes personalizados.
Antes del desarrollo de Cujae-IDR, la universidad enfrentaba varios desafíos comunes en la gestión documental académica: -Dificultad para almacenar y acceder centralizadamente a documentos relevantes de eventos científicos. -Ausencia de una plataforma unificada que permitiera visualizar, resumir o explorar los trabajos generados dentro de la CUJAE. -Limitada difusión del conocimiento fuera del entorno institucional. -Escasa accesibilidad y dinamismo en la forma de consumir la información (lectura textual tradicional). En consecuencia, gran parte del potencial académico y científico de la universidad permanecía subutilizado o de difícil acceso para estudiantes, investigadores y público general.
Cujae-IDR ofrece una solución integral que combina inteligencia artificial, síntesis de voz y generación multimedia para hacer que los documentos sean más comprensibles, atractivos y accesibles. 🔹 Funcionalidades Principales 📑 Subida y Procesamiento de Documentos: -Formatos admitidos: PDF, DOCX, TXT. -Procesamiento automático mediante modelos de IA (T5, BART, GPT-4, Grok). -Generación de resúmenes automáticos de alta calidad. -Creación de audios narrados del resumen usando servicios de Text-to-Speech (TTS). 🎙 Generación de Podcast Visuales: -Reproducción del resumen como audio interactivo. -Opción de descarga o compartición del audio en redes sociales. 🖼️ Carrusel Visual Interactivo -Imágenes generadas automáticamente con modelos como Stable Diffusion o DALL·E. -Posibilidad de subida manual de imágenes por el usuario. -Descripciones automáticas generadas con IA y etiquetas vinculadas a fragmentos del texto. 🔗 Publicación y Exploración de Contenido: -Repositorio público con opción de explorar documentos y resúmenes generados por otros usuarios. -Acceso al documento original mediante botón de “Leer más”. -Enlace compartible para redes y difusión externa.
Durante el desarrollo del proyecto se fortalecieron conocimientos avanzados en diversas áreas: 🔹 Arquitectura y Diseño de Sistemas: -Diseño de una arquitectura híbrida cliente-servidor basada en microservicios. -Integración entre un frontend moderno (Next.js) y un backend robusto en Django. -Definición clara de flujos de comunicación y APIs RESTful. 🔹 Inteligencia Artificial y Procesamiento de Lenguaje Natural: -Uso de modelos de resumen automático (Grok API). -Uso de servicios Text-to-Speech para generación de audio a partir de texto. 🔹 Infraestructura y DevOps -Uso de versionado con Git y GitHub. -Despliegue con Vercel 🔹 Investigación aplicada -Aplicación práctica de IA generativa a problemas reales de la educación superior. -Análisis del impacto tecnológico y social de las herramientas de síntesis de conocimiento.
Cujae-IDR puede marcar un avance significativo en la digitalización del conocimiento académico y la aplicación de IA al ámbito educativo. Su impacto se manifiesta en varios niveles: -Accesibilidad: transforma documentos técnicos en experiencias multimedia comprensibles para todo público. -Difusión académica: amplía la visibilidad de la producción científica de la CUJAE. -Innovación educativa: introduce la narración automática y visualización asistida como herramientas pedagógicas. -Inclusión: permite que usuarios con dificultades visuales o de lectura accedan al contenido mediante audio. -Proyección institucional: posiciona a la universidad como referente en el uso de inteligencia artificial aplicada al conocimiento.
El negocio enfrentaba la necesidad de contar con una plataforma: Capaz de vender perfumes en línea de forma cómoda, moderna y accesible desde cualquier dispositivo. Que agilizara el proceso de compra, reduciendo fricciones en la experiencia del usuario. Que facilitara la gestión interna del catálogo, ofertas, pedidos y usuarios sin depender de herramientas externas. Que ofreciera una arquitectura robusta y segura, capaz de sostener el crecimiento del negocio a largo plazo. En resumen, el reto era unificar toda la operación del negocio —desde la exhibición del catálogo hasta la gestión administrativa— en un único sistema integrado y escalable.
La solución se concretó mediante el desarrollo e implementación de una arquitectura distribuida basada en cinco servicios principales: 🛍️ Tienda Online (Next.js): -Aplicación pública donde los clientes pueden explorar perfumes, aplicar filtros avanzados, consultar ofertas y realizar compras. -Interfaz moderna, responsive y centrada en la experiencia del usuario. ⚙️ API Principal (Nest.js): -Contiene la lógica del negocio, los controladores y los mecanismos de persistencia de datos. -Expone endpoints seguros para la comunicación con las interfaces de usuario y el panel administrativo. -Implementa prácticas limpias de arquitectura (DTOs, módulos, servicios, repositorios). 🧾 Panel Administrativo (Next.js): -Plataforma privada para la gestión de perfumes, usuarios, pedidos, ofertas y reportes de ventas. -Permite mantener actualizado el catálogo y controlar el negocio en tiempo real. 🗂️ Servicio de Archivos (MinIO): -Almacenamiento de imágenes y recursos estáticos (fotografías de perfumes, banners, etc.) con acceso rápido y seguro. -Integrado con la API y los servicios de frontend. 🧠 Base de Datos (PostgreSQL) -Motor de base de datos relacional para la persistencia estructurada y confiable de toda la información del sistema. -Modelo relacional optimizado y diseñado con integridad referencial.
🔹Gestión de proyectos y extracción de requisitos: -Análisis del flujo de compra y venta digital. -Identificación de roles, entidades y necesidades clave del cliente. -Planificación de funcionalidades mínimas viables (MVP) y escalamiento por fases. 🔹 Diseño de arquitectura -Construcción de una arquitectura de microservicios escalable y desacoplada. -Definición de la comunicación entre servicios mediante API REST y control de acceso. -Configuración de NGINX como proxy inverso para el enrutamiento de dominios y certificados SSL. 🔹 Diseño y maquetación de tiendas online -Implementación de interfaces modernas con Next.js y Tailwind CSS. -Aplicación de principios UX/UI para mejorar la navegación, filtrado y experiencia de compra. -Integración de componentes reutilizables y optimización de imágenes con MinIO. 🔹 Despliegue y orquestación de servicios -Implementación completa en un servidor VPS autogestionado. -Separación de entornos de desarrollo y producción, con configuración específica para cada uno. -Gestión de servicios de backend, frontend, base de datos y almacenamiento bajo NGINX. 🔹 Flujos de integración continua -Configuración de GitHub Actions para despliegue automático de nuevos cambios. -Uso de GitHub Apps para conexión directa con el VPS. -Control de versiones y despliegue seguro mediante pipelines.
-Experiencia de compra mejorada: los clientes pueden explorar perfumes de forma intuitiva y rápida, lo que aumenta la satisfacción y fidelización. -Automatización de la gestión comercial: los administradores controlan inventario, ventas, usuarios y promociones desde un solo panel. -Escalabilidad técnica: la arquitectura modular permite incorporar nuevos servicios y funcionalidades (por ejemplo, pasarelas de pago o analítica avanzada). -Seguridad y disponibilidad: gracias al despliegue en VPS con SSL, los usuarios interactúan con un entorno confiable. -Optimización operativa: se reducen costos y tiempos de mantenimiento mediante CI/CD y orquestación automatizada. En conjunto, “Perfumes del Puro” logra digitalizar completamente el proceso de venta y gestión, mejorando la competitividad del negocio en el mercado online.
Necesidad de centralizar y simplificar la administración de un portafolio profesional. Muchas personas carecen de un espacio unificado para mostrar sus logros, proyectos y experiencia, lo que les obliga a depender de múltiples herramientas o plataformas estáticas que dificultan la actualización y personalización de su información.
Portfolio-maker resuelve este problema mediante: Automatización: Al registrarse, se crea automáticamente un portafolio en la base de datos. Personalización: Los usuarios editan su información mediante un panel intuitivo, sin necesidad de conocimientos técnicos. Unificación: Integra todas las secciones clave (proyectos, experiencia, certificaciones) en una única interfaz accesible.
Autenticación y Autorización: Implementación segura de flujos de login/registro con Supabase. Diseño de Modelos de Datos: Creación de esquemas relacionales optimizados para portafolios. Full-Stack Integration: Conexión entre frontend (Next.js) y backend (Supabase) usando métodos eficientes. Enfoque en UX: Diseño de interfaces intuitivas que priorizan la usabilidad.
Democratización: Permite que cualquier persona, independientemente de su expertise técnico, pueda crear y mantener un portafolio profesional. Profesionalización: Facilita la presentación estructurada de logros, mejorando la visibilidad ante empleadores o clientes. Escalabilidad: La arquitectura modular permite añadir nuevas funcionalidades en el futuro, como temas personalizados o integración con APIs externas.