Ingeniero en Sistemas y Ciencia de Datos

Yahwthani Morales Gómez

Convierto datos en decisiones

Construyo modelos de machine learning, análisis de datos y software de punta a punta: desde el pipeline y el modelo hasta la API y la interfaz que lo pone en manos de la gente.

Guadalajara, Jalisco

14

Proyectos publicados

89.4%

Accuracy del modelo de SoberLens

65°

Lugar nacional, ICPC México 2025

8+

Lenguajes de programación

Sobre mí

Mi historia

Crecí en Jalisco, en un entorno ligado al campo, donde las decisiones se tomaban con la experiencia de años y mucha intuición. Ahí empezó mi curiosidad por entender los patrones detrás de las cosas y por encontrar formas de medir lo que antes solo se adivinaba.

Estudié Ingeniería en Sistemas y Gráficas Computacionales en la Universidad Panamericana en Guadalajara, donde construí desde un ray tracer y un compilador hasta simulaciones en GPU, y después me especialicé en Ciencia de Datos. Hoy aplico esa base en el sector público, colaborando con el Servicio Estatal Tributario de Jalisco.

Lo que me mueve es llevar los datos hasta el final del camino: no quedarme en el notebook, sino construir el modelo, la API y la interfaz para que alguien realmente lo use. Fuera de la pantalla, entreno en el gimnasio y practico programación competitiva, que me llevó a la final nacional del ICPC en 2025.

YM

Proyectos

Cosas que he construido

Machine learning, análisis de datos, software y computación gráfica. Con demo en vivo donde aplica y código abierto en GitHub.

Proyecto destacadoPreview de SoberLens

SoberLens

Proyecto en equipo
  • 89.36% accuracy
  • 94.2% recall en ebriedad
  • 478 landmarks faciales

Plataforma de verificación de aptitud laboral que detecta signos de intoxicación alcohólica a partir de una selfie. Captura 18 frames en 5 segundos, extrae 327 features faciales con MediaPipe y clasifica con un Random Forest entrenado sobre 14,693 imágenes. Incluye verificación de identidad por embedding facial, panel de administración para empresas, terminales de acceso y alertas por WhatsApp. Proyecto terminal de la especialidad en Ciencia de Datos (UP), desarrollado en equipo de 4: pipeline de datos y modelo, backend y PWA.

PythonFastAPIMediaPipescikit-learnReactVitePWASQLAlchemyTwilio
Proyecto destacadoPreview de Ray Tracer (Java)

Ray Tracer (Java)

Ray tracer recursivo en Java puro (sin librerías de renderizado ni build tools), con un editor de escenas en Swing para construir, previsualizar y animar escenas. Incluye reflexión y refracción por material, sombras suaves, antialiasing, múltiples tipos de cámara y luz, y exportación de animaciones a video. El motor original fue un proyecto de curso en equipo; el editor, el sistema de materiales, la animación y el pase de calidad de render los construí después dirigiendo y revisando el trabajo de un agente de IA (Claude Code): definí requerimientos, depuré bugs reales de renderizado (atenuación de luz, rayos de sombra) y validé cada resultado contra renders reales.

JavaComputación GráficaRay TracingSwingDesarrollo asistido por IA
Preview de Deforestación en México 2001-2023

Deforestación en México 2001-2023

  • 4.9 M ha perdidas
  • 4 fuentes de datos
  • Pruebas de hipótesis y A/B

Análisis de la pérdida de cobertura forestal en México integrando cuatro fuentes: datos satelitales de Global Forest Watch, estadísticas agrícolas y pecuarias del SIAP y cifras oficiales de deforestación. Pipeline completo de limpieza, EDA, reducción de dimensionalidad (PCA, t-SNE, UMAP, LDA, Isomap) y pruebas de hipótesis. Cuantifica la relación entre ganadería bovina y pérdida forestal y detecta que el reporte oficial cubre solo entre 40% y 55% de lo que miden los satélites.

PythonpandasMatplotlibSeabornUMAP / t-SNESciPyJupyter
Preview de Vinos: análisis, maridajes y ML

Vinos: análisis, maridajes y ML

  • 24 visualizaciones
  • Sistema de recomendación

Serie de proyectos sobre calidad de vino. Una plataforma web en Next.js presenta el análisis de 1,599 vinos tintos y 34,933 maridajes con 24 visualizaciones (estáticas, interactivas y animadas) y un sistema de recomendación. Se complementa con un modelo de clasificación multiclase de calidad (5 algoritmos, validación cruzada y Grid Search) y una herramienta de análisis automatizado de CSV que genera reportes ejecutivos con la API de Claude.

PythonpandasSeabornPlotlyscikit-learnNext.jsTypeScriptAPI de Claude
Preview de Ledger Workbench + API

Ledger Workbench + API

  • Validación de SQL
  • Rate limiting
  • Desplegado en producción

Cliente SQL web con su propio backend. La interfaz (HTML/CSS/JS sin dependencias) ofrece editor con números de línea, explorador de esquema con llaves PK/FK, historial y exportación a CSV. La API en FastAPI valida cada instrucción con una whitelist de comandos y patrones prohibidos, aplica rate limiting (30 req/min por IP) y timeout de 5 s por query antes de ejecutar contra PostgreSQL en Supabase.

FastAPIPostgreSQLSupabaseJavaScriptRenderVercel
Preview de Predicción de supervivencia: Titanic

Predicción de supervivencia: Titanic

Proyecto en equipo
  • 84.4% accuracy
  • AUC-ROC 0.86

Pipeline de machine learning con metodología CRISP-DM: EDA, limpieza, ingeniería de 29 variables y comparación de cuatro clasificadores. El mejor modelo (SVM con kernel RBF) alcanzó 84.4% de accuracy en test y 87% en validación final, y el análisis cuantifica el protocolo de "mujeres y niños primero" y el peso de la clase social.

Pythonscikit-learnpandasSeabornJupyter
TheCompiler

TheCompiler

Proyecto en equipo

Compilador completo para un lenguaje tipo Java: lexer basado en DFA, parser descendente recursivo con recuperación de errores, análisis semántico con tabla de símbolos y cubo semántico, generación de código intermedio y una máquina virtual que lo ejecuta. Incluye un IDE con vistas de tokens, árbol sintáctico, tabla de símbolos y código intermedio. Mi parte fue la máquina virtual y las funciones de depuración.

JavaCompiladoresMáquinas virtualesSwing
Preview de Virus Simulation

Virus Simulation

Simulación multi-agente de propagación de una enfermedad, con visualización en tiempo real sobre un mapa. Implementa concurrencia con threads, patrones de diseño (Singleton, Observer, State) y un servidor TCP containerizado con Docker para el registro de decesos.

JavaThreads/ConcurrenciaDockerSockets TCP
Simulación COVID-19 en CUDA

Simulación COVID-19 en CUDA

  • CPU vs GPU

Modelo basado en agentes de 1,024 personas en un espacio de 500 m x 500 m durante 30 días, con reglas de contagio, movilidad, cuarentena, recuperación y mortalidad. La misma simulación corre en CPU y en GPU con CUDA para medir el factor de aceleración, y exporta estadísticas diarias a CSV.

C++CUDAGPUSimulación basada en agentes
Preview de Python 3D Viewer

Python 3D Viewer

Visualizador y analizador de mallas 3D (OBJ). Calcula propiedades topológicas (vértices, aristas, componentes conectados, genus) y geométricas (área, volumen, bounding box, calidad de triángulos), con herramientas interactivas de reparación, decimación y subdivisión, y comparación en tiempo real entre variantes de la malla.

PythonPyVistaNumPyGeometría Computacional
Preview de Fire The Maze

Fire The Maze

Proyecto en equipo

Juego de laberinto 2D para el curso de Inteligencia Artificial en Videojuegos. Generación procedural de laberintos, pathfinding con Dijkstra y steering behaviors (wander, seek, flee) para los enemigos. Mi rol fue el desarrollo de las mecánicas de juego y la integración de sistemas.

PythonPygameIA (Pathfinding)Steering Behaviors
Preview de Simulación de línea de manufactura

Simulación de línea de manufactura

Proyecto en equipo

Simulación de eventos discretos de una línea de ensamblaje de laptops con 6 estaciones, fallas probabilísticas y reabastecimiento. Mide producción, tasa de defectos, ocupación y tiempos muertos para encontrar cuellos de botella, y presenta los resultados en un dashboard web interactivo con filtros por periodo.

PythonSimPyFlaskD3.jspandas
Dijkstra Visualizer

Dijkstra Visualizer

Proyecto en equipo

Aplicación gráfica para construir grafos dirigidos con clics, asignar pesos a las aristas y ejecutar el algoritmo de Dijkstra, resaltando el camino más corto entre dos nodos.

RubyRuby2DGrafos
Servidores TCP/UDP en C

Servidores TCP/UDP en C

Proyecto en equipo

Servidores en C para un juego multijugador en Unity: TCP para autenticación, sincronización de estado y eventos críticos, y UDP para movimiento en tiempo real. Programación de sockets a bajo nivel y despliegue con Docker.

CSocketsTCP/UDPDockerUnity

Trayectoria

Experiencia, formación y logros

  1. Análisis de datos e inteligencia fiscal

    Servicio Estatal Tributario de Jalisco

    Colaboración con el Servicio Estatal Tributario de Jalisco, dependencia del Gobierno de Jalisco enfocada en la administración y fiscalización tributaria estatal.

  2. Especialidad en Ciencia de Datos

    Universidad Panamericana, Guadalajara

    Análisis estadístico, visualización y narración con datos, machine learning y proyecto terminal (SoberLens).

  3. Ingeniería en Sistemas y Gráficas Computacionales

    Universidad Panamericana, Guadalajara

    Computación gráfica, compiladores, sistemas concurrentes y distribuidos, cómputo en GPU e inteligencia artificial para videojuegos.

Logro

Finalista nacional ICPC México 2025

International Collegiate Programming Contest · 2025

Lugar 65 a nivel nacional en la final mexicana del concurso de programación competitiva.

Habilidades

Con qué trabajo

Lenguajes

PythonJavaC / C++CUDATypeScript / JavaScriptSQLRuby

ML / Datos

pandasNumPyscikit-learnMatplotlib / SeabornPlotlyMediaPipePCA / t-SNE / UMAPSimPyJupyter

Web y backend

FastAPIFlaskReactNext.jsTailwind CSSD3.jsPostgreSQLSupabase

Herramientas

GitDockerVercelRenderClaude Code / IA asistidaPyVistaOpenCV

Contacto

Hablemos

Estoy abierto a oportunidades en ciencia de datos, machine learning y desarrollo de software. La forma más directa de contactarme es por correo o LinkedIn.

También en: Credly · LeetCode · HackerRank