Yassine FARAH
AI & Data Engineer | Big Data & Information Systems

I am Yassine, a Data & AI engineer specializing in Big Data and Information Systems. Here, you will find an overview of my projects.

AI Agents for Diagram Generation

A full-stack web application that leverages a multi-agent AI system to interpret natural language and automatically generate technical diagrams (UML, Flowchart, Gantt, etc.) using Mermaid.js.

gen-g

NLP Rag Chatbot System

RAG Chatbot is a sophisticated web application designed to enable intelligent and interactive dialogues with user-uploaded documents. Leveraging advanced AI, the platform allows users to ask questions, request summaries, and extract key information from various file types, transforming static documents into dynamic conversational partners.

chatbot

MCP-AGENTIC

This project demonstrates a full-stack implementation of the Model Context Protocol (MCP), a standardized way to connect LLMs to external data, tools, and services — think of it like USB-C for AI apps.

PCB-Anomaly-Detection

🧠 Face Mask Detection with Deep Learning

This project uses deep learning models (e.g., CNN and ResNet/Inception) to detect whether people are wearing face masks in real-time or on images and videos. The models are trained to classify faces into two categories: "Mask" and "No Mask".

Application Management Stock With Laravel

This project is a web-based inventory management system, built with the Laravel framework, designed to provide a clear and efficient overview of product stock. The application features a clean and intuitive dashboard that allows users to monitor key inventory metrics, manage product lists, and receive critical alerts for low-stock items. It is tailored for a small organization or an academic setting like ENSA Berrechid.

MNIST

This project uses a Convolutional Neural Network (CNN) model to classify handwritten digits from the MNIST dataset. It includes data preparation, model training, evaluation, and testing using a user-friendly interface with Gradio.

HANOI GAME

This project is a C implementation of the classic Tower of Hanoi puzzle. The solution uses Stacks and Queues to simulate the movement of disks between rods, showcasing the algorithmic beauty of recursion and data structure manipulation. The Tower of Hanoi puzzle consists of three rods and a number of disks of different sizes which can slide onto any rod. The puzzle starts with the disks neatly stacked in ascending order of size on one rod, the smallest at the top. The objective is to move the entire stack to another rod, obeying the following rules: Only one disk can be moved at a time. Each move consists of taking the upper disk from one of the stacks and placing it on top of another stack or on an empty rod. No larger disk may be placed on top of a smaller disk.

Java Socket Communication with Routers

This project simulates network communication between a client and a server, passing through two intermediate routers using Java sockets. The client sends a message to the server via the two routers, and the server responds back through the same path. The goal is to understand basic network routing, socket programming, and message forwarding using Java.

ENSAB BANK using C

Welcome to the ENSAB BANK project, a basic banking application coded in C. This project simulates the main functionalities of a bank, such as account creation, login, transfers, and balance management.

Cyclic Redundancy Check Network Routing

his project simulates network communication between a client and a server via a chain of five routers. Binary messages are transmitted from the client to the server, passing through each router. To ensure data integrity, a Cyclic Redundancy Check (CRC) is appended and verified at every step. Developed and tested on Ubuntu, the system mimics real-world packet routing and error detection mechanisms.

Customer purchasing behavior

This project explores customer purchasing behavior through advanced dimensionality reduction techniques: Principal Component Analysis (PCA) for numerical variables and Correspondence Analysis (CA) for categorical associations. By applying these techniques to sales data, we aim to extract meaningful insights that support data-driven decision-making in marketing and product strategy.