Abdellah Hailal

Final-year data science student at UQTR. I measure the real effect of things, in heart signals as much as in products, then build the tools that put it to use.

Credited internship, January to April 2027 Trois-Rivières, Quebec

Causal graph: skills, projects and the internship I am looking forBiomedical signals, causal inference and machine learning lead to the MIT-BIH arrhythmia project. Machine learning, software engineering and customer-facing work lead to Renovision AI. Software engineering leads to Thiercelieux. All three projects lead to your team, for an internship starting January 2027.What I bringWhat I builtWhat comes nextBiomedical signalsCausal inferenceMachine learningSoftware engineeringCustomer-facing workMIT-BIH arrhythmiasclassification and causalityRenovision AIgenerative AI, productThiercelieuxmultiplayer web gameYour teamfrom January 2027 Causal graph: skills, projects and the internship I am looking forBiomedical signals, causal inference and machine learning lead to the MIT-BIH arrhythmia project. Machine learning, software engineering and customer-facing work lead to Renovision AI. Software engineering leads to Thiercelieux. All three projects lead to your team, for an internship starting January 2027.What I bringWhat I builtWhat comes nextBiomedicalsignalsCausalinferenceMachinelearningSoftwareengineeringCustomer-facingworkArrhythmiasMIT-BIH ECG dataRenovision AIgenerative AIThiercelieuxmultiplayer gameYour teamJanuary 2027
Hover over a node to follow its causes and effects. Each project links to its case study.

Three projects, three cause-and-effect chains

For each one: the starting question, what I did, and what it produced.

Cardiac arrhythmias on the MIT-BIH database

Recognise heartbeat types automatically, then measure what a premature beat changes in the beats that follow.

Context
Individual project, UQTR
Supervisor
Prof. Usef Faghihi
Data
MIT-BIH Arrhythmia Database
Status
Methodology fixes in progress
  1. Question

    Can heartbeats be classified reliably, and does a premature beat really change the RR intervals that follow?

  2. Intervention

    Classification with MiniRocket, XGBoost and a 1D CNN + LSTM network. Rhythm modelling, then causal effect estimation with Double ML and CausalForestDML.

  3. Effect

    XGBoost reaches 0.74 accuracy. The average treatment effect (ATE) of a premature beat on the following RR intervals is significant.

These results are preliminary. My supervisor flagged nine issues, including data leakage between patients and post-treatment variables used as confounders. I am redoing the analysis with those fixed.

  • Python
  • Jupyter
  • MiniRocket
  • XGBoost
  • 1D CNN + LSTM
  • Double ML
  • CausalForestDML
Accuracy by model XGBoost 0.74; MiniRocket 0.69; 1D CNN plus LSTM 0.51, on a scale from 0 to 1. XGBoost 0.74 MiniRocket 0.69 1D CNN + LSTM 0.51 0 0.25 0.5 0.75 1
Classification accuracy, before splitting the data by patient.
ECG trace with a premature ventricular contraction Six seconds of sinus rhythm with 800 ms RR intervals, interrupted by an early ventricular beat at 450 ms, followed by a 1150 ms compensatory pause. premature beat 800 ms 800 ms 450 1150 ms 800 ms 800 ms
The treatment under study: a premature beat shortens the RR interval, then a compensatory pause lengthens it. The causal analysis measures this effect on the beats that follow.

Thiercelieux, online Werewolf

A multiplayer web version of the party game, where each player joins from their own device.

Context
INF-1011 Software Engineering, UQTR
Team
Five students, fall 2026
My role
Server and front end
Game roles
Six, from Villager to Captain
  1. Question

    How do you run a game where each player, on their own screen, only sees what their role allows them to see?

  2. Intervention

    I helped build the server in Java with Spring Boot and developed the front end in React and TypeScript: a lobby with a table code, night and day phases, role cards, voting and an end-of-game recap.

  3. Effect

    A complete game playable online, with six roles: Villager, Werewolf, Seer, Witch, Hunter and Captain.

  • Java
  • Spring Boot
  • React
  • TypeScript
Show screenshots (4)Hide screenshots
  • Thiercelieux home page: the title The village falls asleep over a night sky, a rules summary and a sign-in form.
    Home: sign in or create an account, with a reminder of the rules.
  • Lobby: five players around an oval table, game code LUNE27, debate and vote settings.
    Lobby: players join the table with a code and mark themselves ready.
  • Day phase: the village table, an eliminated player crossed out, the Seer and Captain role card, a timer and the chat.
    Day phase: the player's role, the timer, the debate and the vote.
  • End screen: The village survived, each player's role revealed and a recap of eliminations.
    End of game: cards are revealed and the recap sums up the game.

Renovision AI

Customers photograph their room, pick a product from the catalogue and see the result before buying.

Context
Personal project
My role
Design and full-stack development
Model
B2B2C SaaS for retailers
Status
Working MVP, pilot to validate
  1. Question

    In a renovation store, customers struggle to picture a floor or wall finish in their own room. Can we show it to them before they buy?

  2. Intervention

    A full-stack app: React and Vite on the client, FastAPI and SQLAlchemy on the server, JWT authentication, a catalogue with two photos per product, and AI image generation with a fallback provider.

  3. Effect

    A working MVP, ready for mobile with Capacitor. Next step: a pilot with a local retailer.

  • React
  • Vite
  • Tailwind CSS
  • FastAPI
  • SQLAlchemy
  • PostgreSQL
  • Capacitor
Show screenshots (3)Hide screenshots
  • Project screen Main living room: before photo, after render, a flooring product choice and a Generate button.
    Project: before photo, after render and product choice.
  • Three mobile screens: home with Sign up and Sign in, sign-in form and account creation.
    Home, sign-in and account creation.
  • Two New project screens: room photo, project name and a Flooring, Ceramic or Paint category.
    New project: photo, name and product category.

Background

  1. Until April 2027

    Data science studies, UQTR

    Machine learning, deep learning and causal inference, supervised by Prof. Usef Faghihi on the MIT-BIH project. Also business strategy case studies: Bombardier, Boulangerie Lépine, KindyBis.

  2. Alongside my studies

    Sales advisor, renovation materials

    Helping customers choose flooring and wall finishes in Trois-Rivières. This is where Renovision AI started.

  3. January to April 2027

    Credited data science internship

    A required part of my program, at least 128 hours. I am looking for work in data analysis, performance measurement or AI.

What I can do

Causal inference

Tell a correlation from an effect, choose the right confounders, estimate an average effect.

  • Double ML
  • Causal forests
  • ATE

Machine learning

Classify time series and biomedical signals, handle class imbalance.

  • XGBoost
  • MiniRocket
  • 1D CNN
  • LSTM

Development

Build an app end to end, from the server to the interface.

  • Python
  • FastAPI
  • PostgreSQL
  • Java
  • Spring Boot
  • React
  • TypeScript

Tools and languages

I work in French and English, on my own or in a team.

  • Jupyter
  • VS Code
  • Microsoft 365

Does your team have a data question? Write to me.

I am looking for a data science or AI internship from January to April 2027. I reply to every message.