"Connect the data backwards, invent the future forwards, and stay curious."
Data Scientist with 3+ years of professional experience in ML, NLP, and data engineering, now focused on LLM-based agent systems β making them behave predictably with typed contracts, explicit state, and evaluations that measure a claim instead of assuming it.
Data science & ML (professional)
Backend & AI agents (personal projects)
- TrainFitter and Twistify β both in active development, moving phase by phase rather than shipped-and-done.
- Deepening a specific set of AI-engineering topics, in this order of
priority right now:
- Agent architecture β typed tool contracts, explicit state, bounded planning, permissions, retries, human approval.
- Context engineering β loading only the context that's relevant when it's needed, instead of stuffing the whole prompt.
- Production RAG β ingestion, chunking, embeddings, hybrid search, permission-aware filtering, reranking, citations, evaluation.
- Evals & observability β purpose-built test datasets, traces, success rates, latency, cost per task, tool errors, regressions.
- Efficient fine-tuning β SFT + LoRA/QLoRA, DPO/GRPO, only once there's real data and a clear metric β not as a first resort.
- Inference infrastructure β vLLM, batching, semantic caching, small models for subtasks, routing between models.
- Security β prompt injection, tool isolation, secrets handling, per-user authorization, audit trails.
TrainFitter A multi-agent system that drafts workout and nutrition plans for a personal trainer's clients, following the trainer's own documented method instead of generic advice. Problem it solves: the bottleneck in online coaching isn't coaching β it's the hours spent writing a routine and a diet from scratch per client. Stack: Python, a deterministic rules engine as the free default path, an optional Anthropic Claude layer, explicit-state orchestration across routine/diet/validator agents, a Streamlit review panel, pytest, CI on GitHub Actions. Notable design choice: nothing is ever sent to the client automatically β every output is a draft, and clinical or injury cases are auto-flagged for human review.
Twistify
A spoiler-free movie catalogue where the spoiler partition is enforced
server-side, paired with an evaluation harness that measures whether that
promise actually holds.
Problem it solves: "spoiler-safe" is usually a UI trick (CSS hiding a
div); here, post-viewing content simply isn't sent to the client until it
declares seen=true.
Stack: Python 3.12, FastAPI, Pydantic v2, vanilla HTML/CSS/JS on the
frontend, a Claude-based baseline generator, a custom evals harness
(leakage rate, grounded-fact rate, richness) calibrated against planted
spoilers, pytest, CI on GitHub Actions.
Notable design choice: the harness reports its own judge's weaknesses
(including a measured recall = 0.0 case) instead of hiding them.
Bachelor in Data Science, University of Valencia. 3+ years of professional experience:
- IVIRMA Global β ML demand forecasting in Python, NLP/sentiment analysis on unstructured text, end-to-end ETL and ML pipelines with SQL, PySpark, and Azure Databricks; model evaluation, A/B testing, and hyperparameter tuning with Azure ML; Power BI/Tableau dashboards for stakeholder reporting.
- SDG Group β ETL workflow development and datamart design/validation for a banking client, using SQL and PowerCenter.
- University of Valencia (NLP project) β NLP-based data anonymization and text-preprocessing pipelines, with automated ETL and data-governance workflows for privacy-sensitive data.
Comfortable across the full loop of a data problem β from analysis and modeling to shipping a result as a service β with the AI-agent work below as the current, self-directed focus.
- GitHub: you're already here β @serpeigd
- LinkedIn: sergio-peigneux