Logo
Home
Projects
Blog

Ready to create
something amazing?

Company logo

Ali Benkarrouch

Software Engineering student at ETS

Get upDownload my CV
LinkedInGithubEmail

Contact me

© 2026 Ali Benkarrouch. All rights reserved.
0%
All projects
Spellmotion
July 2025

Spellmotion

I undertook this solo project with the desire to explore the field of computer vision through a practical application. Passionate about development, I had the idea of merging this technology with video game creation to design an immersive experience where traditional physical controls are replaced by natural interactions. The goal was to transform theoretical image processing concepts into an intuitive and responsive control tool for a virtual environment.

Contribution

As the sole designer, I developed the entire ecosystem starting with a Python application dedicated to artificial intelligence. I used MediaPipe and OpenCV to detect hand landmarks and designed classification algorithms capable of translating specific gestures into spell commands. For the gameplay aspect, I built a complete defense game in Unity, including combat logic, particle systems for magic effects, and enemy wave management. I also ensured synchronization between these two worlds by setting up bidirectional communication via WebSockets, enabling near-instantaneous transmission of JSON data to guarantee smooth gameplay.

Project Gallery

Visual Overview

Spellmotion screenshot 1

Approach

My strategy was based on a decoupled architecture in order to maximize the performance of each component. I separated the heavy processing of computer vision, managed by the Python script, from the graphics rendering handled by the Unity engine. This modular approach allowed me to isolate and refine the accuracy of gesture detection independently of the game engine. To tie everything together, I chose the local WebSocket protocol, which offers the minimal latency essential for real-time control, transforming a simple webcam into a sophisticated gaming device.

Features

  • Gesture recognition IA
  • Communication Real-time WebSocket
  • Unity game engine
  • Varied spell system
  • Visual effects (VFX)
  • Enemy wave management

Stack

OpenCVOpenCVUnityUnityMediaPipeMediaPipeFlaskFlaskC#C#PythonPython

Sources

Github (Unity)
Github (Unity)
Github (Comp. Vision)
Github (Comp. Vision)

More Projects

Explore Other Work

Netpulse

Netpulse

I developed Netpulse with the aim of deepening my theoretical knowledge of how computer networks work. I wanted to understand in concrete terms how data flows, how packets are structured, and how protocols interact with each other. By creating my own analyzer, I was able to move from the theory of network layers to a real, detailed observation of data traffic.

August 2024

ArtSync

ArtSync

As part of my Web Application 2 course in college, I had the opportunity to work in a team on the design and on the development of a full-stack application. We created ArtSync, a platform where users can publish, explore, and share artistic content. The project took us through all stages of development: requirements analysis, UML diagram, relational database design, interface design with Figma, and development using Java, Spring Boot, Thymeleaf, and Angular. It was a great experience to put our knowledge into practice in an agile environment, with regular follow-ups and a workflow that felt very close to a real professional project.

May 2024

Genie Optiroll

Genie Optiroll

As a piano player, I often find reading traditional sheet music time-consuming and prefer visual piano rolls. Since not every song has a piano roll tutorial available online, I wanted to build a tool that could instantly convert any sheet music into an interactive piano roll. Adding built-in speed controls allows me to slow down complex sections, making it much easier to learn new music directly at my piano. Additionally, for quite a while, I wanted to revisit my original "Genies" project from 2024 to build a "v2". I decided to start a new series of standalone applications under the "Genie" brand, where all my AI and computer vision projects will be categorized. That is why the project name starts with "Genie:", while "Optiroll" is a blend of "Optical" (from Optical Music Recognition) and "Roll" (from Piano Roll).

March 2026

View All Projects