santiago morgado

mini blog personal con el objetivo de mostrar un poco de lo que estoy investigando actualmente y en lo que anduve trabajando...a small personal blog, to show a bit of what i'm looking into right now and what i've been working on...

la idea principal es compartir conocimiento y mis limitaciones con el fin de generar intercambios colaborativosthe main idea is to share knowledge and my limitations, so that collaborative exchanges come out of it

yo: programador backend apasionado de Python (FastAPI), APIs, infra y observabilidad. actualmente investigando e integrando IA en aplicaciones de este estilo. hincha de boca juniors y del té earl grey.me: backend developer, in love with Python (FastAPI), APIs, infra and observability. currently researching and integrating AI into applications of this kind. a boca juniors fan — and an earl grey one too.

proyectosprojects

  • Sistema híbrido de detección y clasificación de amenazas de seguridad en redesHybrid system for detecting and classifying network security threats — mira la demo, se abre en una pestaña nueva — see the demo, opens in a new tab

    umbral 0.4444error de reconstrucciónnunca detectadosthreshold 0.4444reconstruction errornever caught

    demo en vivodemo live

    los equipos SOC reciben un volumen de alertas que obliga a tener gente capacitada — a veces demasiado capacitada — metida en tareas sin importancia. la idea es doble: detectar anomalías de forma automática, y clasificar el tipo de amenaza asociada.SOC teams get a volume of alerts that keeps trained people — sometimes far too trained — busy with work that does not need them. the idea is twofold: detect anomalies automatically, and classify the kind of threat behind each one.

    limitaciónlimitationel recall de DoS Hulk es 0.424 — Hulk manda HTTP sintácticamente válido, así que esos flujos caen dentro de lo que el autoencoder aprendió como normal y nunca llegan al clasificador.DoS Hulk recall is 0.424 — Hulk sends syntactically valid HTTP, so those flows sit inside what the autoencoder learned as normal and never reach the classifier.

    Python · TensorFlow · LSTM · Autoencoders · XGBoost · scikit-learn · pandas · CIC-IDS2017

    + info+ info: memoria.pdf

    en español, con toggle a inglés.in spanish, with an english toggle.

  • Bot de WhatsApp para clientes de un fideicomisoWhatsApp bot for the clients of a trust — mira el repositorio, se abre en una pestaña nueva — see the repository, opens in a new tab

    comprobantemontofechaquien mandaquien recibeid de operaciónsólo el monto mueve platareceiptamountdatesenderreceivertransaction idonly the amount moves money

    demo en cursodemo in progress

    los clientes consultan su estado de cuenta por WhatsApp y reportan un pago mandando el comprobante; una IA con visión revisa que sea un comprobante bancario de verdad y le saca el monto, y el que prefiere hablar con una persona pide un asesor y lo derivan. el repositorio público es un fork sanitizado del trabajo del cliente: identidad, credenciales y direcciones reemplazadas.clients check their account balance over WhatsApp and report a payment by sending the receipt; a vision model checks it really is a bank receipt and pulls the amount off it, and anyone who would rather deal with a person asks for an advisor and is handed over. the public repository is a sanitised fork of the client work: identity, credentials and addresses replaced.

    limitaciónlimitationningún comprobante toca el saldo del cliente por sí solo: una persona sigue aprobando cada uno a mano en SQL, porque todavía no hay panel de administración.no receipt reaches a client's balance on its own: a person still approves each one by hand in SQL, because there is no admin dashboard yet.

    Python (FastAPI) · Supabase · WhatsApp Business Cloud API · GPT-4o-mini · Google Drive API · AWS Lightsail

  • Unir un stream rápido con uno lentoJoining a fast stream to a slow one — mira el repositorio, se abre en una pestaña nueva — see the repository, opens in a new tab

    frames · ~500 por segundoleeúltimo color por salaescribecolores · uno por sala cada 10–20 minframes · ~500 per secondreadlatest colour per roomwritecolours · one per room every 10–20 min

    demo en cursodemo in progress

    los frames de cámara llegan unas quinientas veces por segundo; el color de una sala cambia una vez cada diez a veinte minutos. el consumidor de colores escribe en Redis el último color de cada sala y el de frames lo lee de ahí — los dos streams sólo se cruzan ahí, y eso es lo que permite escalar sumando réplicas.camera frames arrive around five hundred times a second; a room's colour changes once every ten to twenty minutes. the colour consumer writes each room's latest colour into Redis and the frame consumer reads it back — the two streams only ever meet there, and that is what lets it scale by adding replicas.

    limitaciónlimitationmover el estado del join a Redis volvió la lógica async y atada a I/O, así que sus tests corren contra un store falso en vez del broker y la caché reales.moving the join's state into Redis made the logic async and I/O-bound, so its tests run against a fake store instead of the real broker and cache.

    Python · asyncio · RabbitMQ · Redis · Docker Compose

experiencia y trabajos previosexperience and previous work

workwork

2024–2025Associate Software Engineer @ JPMorganChaseAssociate Software Engineer @ JPMorganChase

2022–2024Software Engineer @ JPMorganChaseSoftware Engineer @ JPMorganChase

2021–2022Software Engineer @ TravelgenioSoftware Engineer @ Travelgenio

freelancefreelance

2026bot de WhatsApp para clientes de un fideicomiso @ Nubi. estado de cuenta, reporte de pagos enviando comprobantes, IA para la validación y Google Drive para el almacenamiento. es el mismo trabajo que el proyecto de arriba.WhatsApp bot for the clients of a trust @ Nubi. account balance, payments reported by sending the receipt, AI for validation and Google Drive for storage. it is the same work as the project above.

Python (FastAPI) · Supabase · WhatsApp Business Cloud API · GPT-4o-mini · Google Drive API · AWS Lightsail

2026API para operaciones backend de restaurante, deploy a AWS @ La Diez Milanesas APIAPI for a restaurant's backend operations, deployed to AWS @ La Diez Milanesas API

Node.js · TypeScript · Express.js · MSSQL · AWS Lightsail

ONGsNGOs

2025plataforma web para el manejo de donaciones @ AISA (Asociación de Integración Sensorial Argentina)web platform for managing donations @ AISA (Asociación de Integración Sensorial Argentina)

Next.js · Node.js · Salesforce (Apex REST)

2023digitalización de procesos a través de un bot para técnicos y voluntarios en sitios remotos @ Fundación Gran Chacodigitising processes through a bot for technicians and volunteers working at remote sites @ Fundación Gran Chaco

Google Apps Script · Telegram Bot API · Google Drive · Google Docs · Google Sheets

certificacionescertifications

PCAP-31-03 Python, AWS Cloud Practitioner. AWS Solutions Architect en curso.PCAP-31-03 Python, AWS Cloud Practitioner. AWS Solutions Architect in progress.

estudiosstudies

Programa intensivo de Inteligencia Artificial, CEI Sevilla, 2026. Técnico en Programación, UTN Argentina, 2021.Intensive Artificial Intelligence programme, CEI Sevilla, 2026. Programming Technician, UTN Argentina, 2021.