<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sergio A. Mora Pardo on Sergio A. Mora Pardo | AI/ML Technical Lead</title><link>https://sergiomorapardo.github.io/</link><description>Recent content in Sergio A. Mora Pardo on Sergio A. Mora Pardo | AI/ML Technical Lead</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Sun, 06 Sep 2026 00:00:00 -0500</lastBuildDate><atom:link href="https://sergiomorapardo.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>From co-likes to candidates with Node2Vec</title><link>https://sergiomorapardo.github.io/writing/node2vec-recommendations/</link><pubDate>Sun, 06 Sep 2026 00:00:00 -0500</pubDate><guid>https://sergiomorapardo.github.io/writing/node2vec-recommendations/</guid><description>&lt;p&gt;A catalog can become a graph before it becomes a recommender. In the source notebook, two movies are connected when the same users rate both of them highly. Node2Vec then turns the resulting neighborhoods into vectors, so nearby movies can be retrieved with a cosine-similarity lookup.&lt;/p&gt;&#10;&lt;p&gt;That is a useful candidate-generation pattern. It is not, by itself, a complete recommendation system. This note separates what the notebook demonstrates from the evaluation and serving work that a production system would still need.&lt;/p&gt;</description></item><item><title>Personalized Product Discovery &amp; Ranking</title><link>https://sergiomorapardo.github.io/work/personalized-product-discovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sergiomorapardo.github.io/work/personalized-product-discovery/</guid><description>&lt;h2 id="the-problem"&gt;The problem&lt;/h2&gt;&#10;&lt;p&gt;Affiliate product discovery depended on a static, curated landing experience. That limited the number of products users could explore and left little room for relevance to adapt to each session.&lt;/p&gt;&#10;&lt;p&gt;The product opportunity was not simply to train a ranking model. It was to redesign the discovery system and prove, under controlled conditions, that personalization created incremental value across the funnel.&lt;/p&gt;&#10;&lt;h2 id="my-role"&gt;My role&lt;/h2&gt;&#10;&lt;p&gt;I led the ML design for ranking and discovery, partnering across product and engineering to move from a curated landing to a continuous personalized feed. My contribution covered problem framing, ranking signals, experiment design, technical review, and interpretation of the results.&lt;/p&gt;</description></item><item><title>Cross-validation that matches the data</title><link>https://sergiomorapardo.github.io/writing/cross-validation-that-matches-the-data/</link><pubDate>Sun, 06 Sep 2026 00:00:00 -0500</pubDate><guid>https://sergiomorapardo.github.io/writing/cross-validation-that-matches-the-data/</guid><description>&lt;p&gt;Cross-validation is often introduced as a setting: choose five folds and call &lt;code&gt;cross_val_score&lt;/code&gt;. The more important decision happens earlier. A validation design is a claim about which observations may legitimately stand in for the future.&lt;/p&gt;&#10;&lt;p&gt;The source notebook builds that claim progressively, from repeated hold-out experiments to grouped, temporal, stratified, and nested validation. This note condenses the workflow into the decisions that make an evaluation credible.&lt;/p&gt;&#10;&lt;h2 id="start-with-the-source-of-dependence"&gt;Start with the source of dependence&lt;/h2&gt;&#10;&lt;p&gt;A random split assumes observations can be exchanged without changing the problem. That assumption breaks when examples share a patient, customer, device, document, or time period. The split strategy must preserve the boundary that will exist when the model is used.&lt;/p&gt;</description></item><item><title>Causal ML Remarketing Engine</title><link>https://sergiomorapardo.github.io/work/causal-ml-remarketing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sergiomorapardo.github.io/work/causal-ml-remarketing/</guid><description>&lt;h2 id="the-problem"&gt;The problem&lt;/h2&gt;&#10;&lt;p&gt;High-volume remarketing can optimize clicks while still sending messages to users who would have purchased anyway. The product needed to decide &lt;strong&gt;who&lt;/strong&gt; should receive a message, &lt;strong&gt;when&lt;/strong&gt; it should arrive, and &lt;strong&gt;what&lt;/strong&gt; to recommend while measuring true incremental impact rather than correlation.&lt;/p&gt;&#10;&lt;h2 id="my-role"&gt;My role&lt;/h2&gt;&#10;&lt;p&gt;I built and led the ML remarketing engine for push and email across eight Latin American countries. The work combined causal modeling, personalization, serving architecture, and a sustained program of controlled experimentation.&lt;/p&gt;</description></item><item><title>Production ML Serving Architecture</title><link>https://sergiomorapardo.github.io/work/production-ml-serving/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sergiomorapardo.github.io/work/production-ml-serving/</guid><description>&lt;h2 id="the-problem"&gt;The problem&lt;/h2&gt;&#10;&lt;p&gt;Personalized messaging required fresh behavioral context and low-latency decisions, but many useful ML features and scores were most reliable and economical to compute in batch. The serving design needed to connect both worlds without making campaign delivery depend on slow analytical queries.&lt;/p&gt;&#10;&lt;h2 id="my-role"&gt;My role&lt;/h2&gt;&#10;&lt;p&gt;I designed the production serving architecture and its decision flow, aligning model computation, storage, APIs, session events, and product rules around the latency and reliability requirements of push and email delivery.&lt;/p&gt;</description></item><item><title>Applied LLM Evaluation for Recommendations</title><link>https://sergiomorapardo.github.io/work/applied-llm-evaluation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sergiomorapardo.github.io/work/applied-llm-evaluation/</guid><description>&lt;h2 id="the-problem"&gt;The problem&lt;/h2&gt;&#10;&lt;p&gt;LLM prototypes can appear persuasive without being reliable. For personalized recommendations, the team needed an evaluation method that could separate candidate-retrieval quality from generation quality and make regressions visible before a live experiment.&lt;/p&gt;&#10;&lt;h2 id="my-role"&gt;My role&lt;/h2&gt;&#10;&lt;p&gt;I led applied research on LLM systems for personalized recommendations and established the team’s initial offline evaluation methodology. I also guided the design of an MCP-based tool layer for supplying recommendation context to LLM-generated notifications.&lt;/p&gt;</description></item><item><title>About</title><link>https://sergiomorapardo.github.io/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sergiomorapardo.github.io/about/</guid><description>&lt;p&gt;I am an AI/ML Technical Lead and Senior Data Scientist with more than seven years of experience building and scaling production machine learning systems.&lt;/p&gt;&#10;&lt;p&gt;My work sits at the intersection of &lt;strong&gt;modeling, product experimentation, and systems engineering&lt;/strong&gt;. I have led recommendation and ranking initiatives, causal ML programs, production serving architectures, and evaluation methods for applied LLM systems.&lt;/p&gt;&#10;&lt;h2 id="how-i-approach-ml-products"&gt;How I approach ML products&lt;/h2&gt;&#10;&lt;p&gt;I start with the decision the product needs to make and the evidence required to know whether that decision helped. From there, I design the data, model, experiment, serving path, and monitoring loop as one connected system.&lt;/p&gt;</description></item><item><title>Contact</title><link>https://sergiomorapardo.github.io/contact/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://sergiomorapardo.github.io/contact/</guid><description>&lt;p&gt;I am open to thoughtful conversations about AI/ML technical leadership, production recommendation systems, causal experimentation, applied LLM evaluation, and graduate teaching.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="mailto:sergiomora823@gmail.com"&gt;Email Sergio&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.linkedin.com/in/sergiomorapardo/"&gt;Connect on LinkedIn&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/sergiomorapardo"&gt;Explore GitHub&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://sergiomorapardo.github.io/cv/sergio-mora-cv.pdf"&gt;Open the résumé PDF&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item></channel></rss>