IreinaHedad
Machine Learning · LLM Engineering · Data
Machine Learning · LLM Engineering · Data
Je suis une développeuse intéressée par la création de solutions intelligentes avec des modèles de machine learning, l'utilisation de LLM et des tableaux de bords analytiques qui transforment les données brutes des modeles pour mieux comprendre les problèmes et prendre de meilleures décisions futures.
Mon approche vise à comprendre le problème avant d'écrire la première ligne de code, puis construire des systèmes robustes, maintenables et mesurables.
class Developer:
def __init__(self):
self.name = "Ireina Hedad"
self.skills = [
"Machine Learning",
"LLM Engineering",
"Data Visualization",
"Full Stack Dev",
]
self.passion = "∞"
def solve(self, problem):
return self.build(
model="best_fit",
data=problem.data,
creativity="max"
)
Une sélection de projets qui illustrent mes compétences en ML, LLM et développement web.
Classifie automatiquement les événements Google Calendar vers des tâches Wrike via un modèle ML entraîné sur les chemins de tâches — génère et exporte des feuilles de temps.
Application de prédictions NHL, web et iOS, menée seule de bout en bout : modèle de score XGBoost sur plus de 40 marchés recalculés en direct pendant le match, détection d'écarts de valeur face aux cotes, chat temps réel modéré et assistant IA encadré. App iPhone complète (widget, notifications push, achat intégré), testée via TestFlight.
Un pipeline de bout en bout qui transforme des données de performance en vidéos verticales publiables cinq à dix minutes de travail manuel par jour.
Chaîne d'automatisation en sept étapes : rafraîchissement des données, sélection déterministe des angles, rédaction assistée par LLM sous contrainte, rendu HTML→PNG, montage ffmpeg et journalisation anti-répétition. Chaque étape lit et écrit des fichiers, donc une panne se diagnostique en ouvrant une seule sortie.
Soirée du 4 novembre : 2 matchs en entrée, 4 publications et 19 plans en sortie. Voici six de ces plans, tels qu'ils sont rendus.
« Every final score from a 2-game night in the NHL, November 4. Full team and player numbers at arakice.com »
Chiffres autorisés pour ce post : games · finals · goals · overtime. Tout chiffre hors de cette liste fait rejeter le texte.Scripts Python sur 18 saisons d'historique + un constructeur CSV qui interroge l'API de l'app : 615 patineurs, 63 gardiens, 32 équipes, 992 confrontations. Rafraîchi tous les 3 jours par une tâche planifiée.
Seuils d'échantillon et d'effet minimum, tests de signification corrigés pour comparaisons multiples (Benjamini-Hochberg, q = 0.10), élagage des facteurs colinéaires et normalisation des identités d'équipes.
Pas de modèle pour choisir : des règles déterministes produisent des candidats scorés, chacun avec sa décomposition et un « pourquoi » lisible. Le même fichier donne toujours les mêmes candidats.
Le LLM rédige une fois les faits verrouillés — il n'a jamais accès aux données brutes. Un validateur rejoue mécaniquement chaque règle : aucun chiffre hors du bloc de faits, aucun superlatif ni lien causal non prouvé, aucun vocabulaire de pari, budgets de mots et de durée par plan.
Gabarits HTML/CSS capturés avec Playwright, graphiques générés en SVG maison, animations pilotées par une progression plutôt que par le temps — deux exécutions donnent des images identiques.
ffmpeg encode un segment par plan puis concatène sans réencodage. Une page du jour rassemble les vidéos et les légendes prêtes à copier ; l'étape de journal empêche de répéter un sujet ou un format trop tôt.
Un projet, une opportunité, ou juste envie d'échanger ? Envoie-moi un message.