Soy Gerardo Blázquez

Soy estudiante de segundo curso (DAM) en Madrid, España con especialización en Big Data & AI.

Gerardo Blázquez Moreno

Proyectos

Sistema de Recomendaciones Cruzadas

Sistema de Recomendaciones Cruzadas

Este proyecto consiste en la implementación de un sistema que recomienda al usuario según sus preferencias.

  • HTML
  • TAILWIND
  • PYTHON
  • JAVASCRIPT
Code

SISTEMA DE RECOMENDACIONES

Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Guardians Ad Astra
Avengers
Guardians Ad Astra Inception Guardians Ad Astra
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Guardians Ad Astra
Avengers
Guardians Ad Astra Inception Guardians Ad Astra
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Mario
Guardians Ad Astra Inception Ad Astra Inception
Mario
Guardians Ad Astra Inception Ad Astra
Mario
Guardians Ad Astra Inception Guardians Ad Astra
Mario
Guardians Ad Astra Inception Ad Astra Inception
Mario
Guardians Ad Astra Inception Ad Astra Inception
Mario
Guardians Ad Astra Inception Ad Astra Inception
Avengers
Guardians Ad Astra Inception Ad Astra Inception
Mario
Guardians Ad Astra Inception Ad Astra Inception

Sistema de Recomendaciones

Este proyecto surge de la necesidad de analizar las preferencias de usuario, permitiendo generar recomendaciones personalizadas entre cuatro categorías:

Primera imagen del proyecto Big Data

El usuario introduce un título de referencia, selecciona su categoría y elige una o varias categorías de destino para recibir sugerencias relevantes .

Primera imagen del proyecto Big Data

Recopilación y preparación de datos

Se unificaron datasets de Kaggle, diferenciando cada categoría con una columna “tipo”. Para enriquecer la información (títulos en castellano, sinopsis, autores, directores, etc.), se integraron APIs externas:

  • TMDb → películas y series.
  • Google Books → libros.
  • RAWG → videojuegos.

El sistema contempla limitaciones y bloqueos de las APIs, optimizando las llamadas para garantizar datos completos y coherentes. Primera imagen del proyecto Big Data

Diseño y desarrollo

Diseño

Al realizar la búsqueda aparece una card destacada, mostrando el título buscado. Se puede usar para indicar sobre qué título se está haciendo la búsqueda y como un "buscador de títulos".

Primera imagen del proyecto Big Data

Aquí una muestra de cómo seria una card de tipo pelicula que se le mostraría al usuario.

Diseño Responsive

Se ha adaptado la interfaz de usuario a pantallas medianas y pequeñas que como resultada da un diseño 100% responsive.

Primera imagen del proyecto Big Data

Desarrollo

Inicialmente se probó la librería sentences transform con embeddings desarrollando una versión en local con esta arquitectura, pero debido a limitaciones de infraestructura en la versión gratuita de Render, se implementó una versión optimizada con TF-IDF y la técnica de similitud de coseno, filtrado por géneros y ponderaciones personalizadas (overview, género, palabras clave de constantes).

El backend está alojado en Render, modularizado en GitHub, y se comunica con el frontend mediante APIs REST y políticas CORS.

Primera imagen del proyecto Big Data

Ciclo de recomendación

El sistema sigue un flujo optimizado que combina búsquedas en el dataset local y consultas a APIs externas para garantizar recomendacionesprecisas, completas y relevantes, desde la entrada del usuario hasta la visualización final en la interfaz. Siendo el bucle de recomendación::

  1. El frontend envía un JSON con título, categoría de origen, categorías de destino y un top-K.
  2. El backend vectoriza las descripciones (overview), detecta equivalencias en castellano e inglés.
  3. Se filtra por género y se aplican ponderaciones específicas.
  4. Se seleccionan candidatos desde dataset y APIs (60/40) con similitud mínima de 0.7, y se hace una segunda pasada si es necesario.
  5. Se verifica que los datos estén completos, completando la información con las APIs.
  6. El frontend muestra las recomendaciones en tarjetas (cards) con imágenes, puntuación, título, año y detalles adicionales.
  7. Botón "buscar más" para cargar nuevos resultados dinámicamente.
  8. Si el título vuelve a ser elegido, dentro de los 15 minutos en los que el servidor está activo, se guarda el resultado en caché para mostrar más rápido el resultado.
Primera imagen del proyecto Big Data
Demostración de un uso real.

Experiencia de usuario (UX)

UInterfaz moderna con carruseles horizontales,barra de carga con mensajes de progreso tiempo de respuesta optimizado:

  • 1 categoría → 6-15 segundos.
  • 2 categorías → 10-25 segundos.
  • 3 categorías → 25-45 segundos.
  • 4 categorías → más de 1 minuto.
  • "buscar más" → 8-12 segundos, hace auto-scroll horizontal a las nuevas recomendaciones.

Debido a las limitaciones del servicido gratuíto de render, dispongo de una memoria de 512 mb y cada 15 minutos se pone en suspensión el servidor, teniendo que "levantarlo" cada vez, tardando entre 30 segundos a 1 minuto más.

Primera imagen del proyecto Big Data

Resultados y conclusiones

Con más de 10.000 películas, 8.000 series, 5.000 libros y 20.000 videojuegos, el sistema ofrece recomendaciones precisas y completas, recurriendo a APIs para mejorar cobertura.

Primera imagen del proyecto Big Data
Infografía del modelo.

Este proyecto combina procesamiento de lenguaje natural, integración de APIs y desarrollo cliente-servidor, optimizando recursos y priorizando la calidad de las recomendaciones.

Documentación

Descargar PDF
Analizador de Calorías

Analizador de Calorías

Este proyecto consiste en la implementación de tecnologías IA como Redes Convolucionales (CNN) y de computer vision para poder analizar tipos de comida, calorías asociadas, valor nutricional con una imagen.

  • HTML
  • TAILWIND
  • PYTHON
  • AMAZONAWS
Code

PNG / JPG · Tamaño recomendable < 5MB

Haz click o arrastra aquí

Analizador de calorías

Desarrollo de un sistema de Inteligencia Artificial para la clasificación visual de imágenes en comida vs no-comida y, en caso de comida, su identificación entre 121 clases.

El objetivo es proporcionar una solución precisa, robusta y reproducible basada en redes convolucionales (CNN) con arquitectura en cascada que permita, además, asociar métricas nutricionales y desplegar servicios de clasificación en web y móvil.

Primera imagen del proyecto Big Data
Infografía del modelo.

El sistema opera en tres niveles de clasificación en cascada:

  • Filtro binario inicial: determina si la imagen contiene comida o no-comida.
  • Clasificación de alimentos: identifica el tipo exacto de comida entre 121 categorías.
  • Clasificación de no-alimentos: clasifica la imagen en 22 categorías contextuales.
Dataset Food-101

Recopilación de datos y entrenamiento

Para el entrenamiento del sistema se utilizaron datasets especializados en visión por computador, siendo el principal una versión ajustada del dataset Food-101.

  • Imágenes de alimentos organizadas en 121 clases (Se añadió 20 platos españoles como: pulpo a la gallega, cocido, etc...).
  • Imágenes no alimentarias en 22 categorías (Diferentes categorías como: animales, personas, coches, etc...).
  • Balanceo de clases para evitar sesgos.
Primera imagen del proyecto Big Data

Red neuronal y proceso de entrenamiento

El sistema de clasificación se apoya en una red neuronal convolucional profunda (CNN), basada en una arquitectura EfficientNet preentrenada, adaptada específicamente a la tarea de reconocimiento visual de alimentos y no-alimentos.

Primera imagen del proyecto Big Data

Se emplea una estrategia de transfer learning, reutilizando pesos entrenados sobre grandes datasets genéricos de imágenes y ajustando únicamente las capas finales para los distintos modos de clasificación: binaria (comida vs no-comida) y multiclase (121 categorías de alimentos).

  • Entrada de imágenes normalizadas, redimensionadas y preprocesadas con técnicas de aumento de datos.
  • Capas convolucionales profundas para la extracción automática de características visuales relevantes (texturas, formas y patrones).
  • Capa de clasificación final ajustada dinámicamente al número de clases según el modo de entrenamiento.

Durante el entrenamiento se aplican técnicas avanzadas de regularización, como aumento de datos (rotaciones, recortes aleatorios, variaciones de color) y label smoothing, con el objetivo de reducir el sobreajuste y mejorar la capacidad de generalización del modelo.

Para compensar el desequilibrio entre clases, especialmente en el modo binario, se utiliza un muestreo ponderado, asegurando que el modelo aprenda de forma equilibrada tanto imágenes de comida como de no-comida.

Primera imagen del proyecto Big Data
Infografía ilustrativa del modelo.

El proceso de entrenamiento se optimiza mediante precisión mixta (AMP) y optimización con AdamW, reduciendo el consumo de memoria y acelerando la convergencia sin sacrificar estabilidad ni precisión.

Finalmente, se evalúa el modelo en un conjunto de validación independiente, guardando automáticamente los mejores checkpoints según la precisión obtenida, lo que garantiza un modelo final robusto y reproducible.

Análisis nutricional y visualización de resultados

Una vez identificada la imagen como alimento y clasificada correctamente, el sistema asocia información nutricional estimada y la representa mediante gráficas visuales e intuitivas, facilitando la interpretación de los datos por parte del usuario.

  • Gráfica de macronutrientes: muestra la distribución de proteínas, carbohidratos y grasas en gramos por cada 100 g de alimento.
  • Gráfica de composición relativa: representa de forma porcentual el peso de cada macronutriente dentro del total energético del alimento.
  • Perfil nutricional: permite comparar el alimento frente a valores de referencia, destacando excesos o déficits nutricionales.
Primera imagen del proyecto Big Data

Estas visualizaciones se generan dinámicamente en función de la predicción del modelo y ayudan a transformar una simple clasificación visual en una herramienta útil para la toma de decisiones alimentarias, tanto en entornos web como móviles.

Documentación

Descargar PDF
Sistema Inteligente de Detección de Amenazas En proceso

Sistema Inteligente de Detección de Amenazas

Implementación de un sistema de detección de anomalías mediante Machine Learning para la identificación automática de patrones atípicos en grandes conjuntos de datos.

  • COLAB
  • TAILWIND
  • PYTHON
  • JAVASCRIPT
Code

Threat Detection Dashboard

Proyecto de Big Data

Proyecto de Big Data

Este proyecto consiste en el análisis de todos los eventos celebrados en un estadio de fútbol durante dos años.

  • AMAZONAWS
  • POWERBI
  • PYTHON
Code

Proyecto Big Data

Este proyecto utiliza tecnologías como Amazon AWS o Power BI para analizar el impacto de diversos eventos (conciertos, partidos de fútbol, ferias y musicales) celebrados en un estadio.

Presentación del proyecto

A día de hoy, nuestra vida se basa por los datos que generamos. Esto influye desde el entretenimiento hasta la toma de decisiones empresariales importantes. Este proyecto aprovecha estas tecnologías para analizar grandes volúmenes de datos generados por eventos multitudinarios.

Se recopilan y procesan datos de múltiples fuentes (entradas vendidas, ciudades donde más entradas se han vendido, compra de merchandising, coste de salarios, gasto en seguridad...) para ofrecer una visión detallada del comportamiento del público y del rendimiento de cada evento.

Primera imagen del proyecto Big Data

Ciclo de vida del dato

El análisis se basa en el ciclo completo de vida de los datos: Ingesta, almacenamiento, procesamiento, análisis y explotación y por último la visualización. Cada fase se ha implementado utilizando tecnologías específicas como S3, Glue Data Catalog, Athena, Spark... que permiten manejar información en tiempo real o en diferido.

Por ejemplo, se monitorizan la satisfacción del público, los puntos de venta más visitados, la duración media de permanencia del público y la ciudad de procedencia del público del recinto.

Estos datos son esenciales para poder planificar y tomar decisiones de cara a futuras ediciones de eventos con mayor eficiencia y personalización.

Primera imagen del proyecto Big Data

Trabajo en Amazon AWS

Para garantizar escalabilidad y disponibilidad, el proyecto se apoya en servicios en la nube, principalmente Amazon AWS. Se han utilizado:

  • Bases de datos distribuidas.
  • Servicios de almacenamiento (S3).
  • Tratamiento de los datos con AWS Glue Data Catalog.
  • Análisis con AWS Athena y creación de nuevas columnas y tratamiento final con spark.

El uso de la nube permite integrar grandes volúmenes de datos de forma segura, rápida y accesible desde cualquier lugar, gracias a esto, podemos hacer una toma de decisiones estratégicas por parte de organizadores, patrocinadores y gestores del estadio, buscando más beneficio al menor coste.

Primera imagen del proyecto Big Data

Presentación en powerBI

Una vez procesados, los datos son visualizados mediante paneles interactivos desarrollados en Power BI. Esta infromación se muestra en gráficos como:

  • Comparativas entre eventos
  • Análisis de asistencia por tipo de evento
  • Coste total, beneficio total y promedio de minutos
  • ratio de asitencia de los asistentes
  • Artistas o partidos con más éxito
  • Desglose beneficios (ingresos total,es, restauración, merchandising, tiendas, puntuación media por evento...)

Gracias a estas visualizaciones, los responsables del estadio pueden entender rápidamente patrones de comportamiento y detectar oportunidades de mejora en futuros eventos.

Primera imagen del proyecto Big Data

Conclusión

Este proyecto demuestra cómo el Big Data puede transformar la gestión de eventos masivos en entornos deportivos y culturales. A través del análisis inteligente de los datos, es posible optimizar recursos, mejorar la experiencia del usuario y maximizar beneficios.

Proyecto entero

Descargar PDF
Calculadora Multiplataforma

Calculadora Multiplataforma

Este proyecto consiste en el desarrollo de una calculadora, capaz de realizar operaciones aritméticas, con historial.

  • HTML
  • TAILWIND
  • JAVA
  • JAVASCRIPT
  • ASTRO
Code
Preview

Calculadora Multiplataforma

Proyecto desarrollado en varias plataformas, completamente funcional.

Habilidades Técnicas

  • HTML
  • TAILWIND
  • JAVASCRIPT
  • JAVA
  • PYTHON
  • ASTRO
  • POWERBI
  • AMAZONAWS
  • GIT
  • MYSQL
  • CSS

Habilidades Blandas

Pensamiento Crítico

Trabajo en equipo

Comunicación efectiva

Comunicación efectiva

Formación

  1. Estudiante de 2º de DAM (Desarrollo de Aplicaciones Multiplataforma)

    Formación en desarrollo de aplicaciones web y móviles, programación orientada a objetos, bases de datos relacionales como MySQL, y frameworks como Java, Python y JavaScript.

    Especialización en Big Data & Inteligencia Artificial, con proyectos propios.

  2. UST – Proyecto con BBVA

    Desarrollo y mantenimiento de microservicios empresariales en entorno corporativo con Java 17.

    Implementación de Spring Boot, Hibernate, jUnit 5 y metodologías ágiles.

    Fortalecimiento en Big Data e IA mediante análisis de datos reales y proyectos internos.

    Colaboración con el equipo para optimizar procesos del cliente con arquitecturas modernas.

Sobre mí

Soy Gerardo, estudiante de segundo año con formación técnica en desarrollo de aplicaciones y especialización en Big Data e Inteligencia Artificial.

A lo largo de mi formación he desarrollado proyectos aplicando tecnologías como Python, Java, SQL, y servicios en la nube como Amazon AWS. Algunos de estos desarrollos se reflejan en este portfolio.

Busco integrarme en un entorno profesional donde afrontar nuevos retos técnicos, y seguir ampliando mi experiencia en el desarrollo de software con impacto real.

Foto modo claro