Projects

AI Labelling Assistant

Developed an AI system for BT Group that accurately classifies images with as few as 10 training samples per class, achieving 87.3% accuracy on the Intel Image Classification dataset.

Technologies Used:

PythonTensorFlowPyTorchFew-shot LearningComputer Vision

Key Achievements:

  • Implemented novel approach for out-of-distribution detection with 100% recall
  • Collaborated with BT Group and Prof. Hani Hagras
  • Developed high-accuracy automated labeling system for industrial use

Rossmann Store Sales Prediction

Designed and developed an LSTM-based model for time-series forecasting, achieving the highest F1 score among all course teams.

Technologies Used:

PythonLSTMTime Series AnalysisFeature Engineering

Key Achievements:

  • Extracted key sales trends and conducted confusion matrix analysis
  • Engineered features to enhance model accuracy
  • Fine-tuned model parameters for improved predictive performance

Speech Emotion Recognition

Built 1D CNN (TensorFlow) and 2D CNN (PyTorch) models to classify emotions from speech, achieving high accuracy.

Technologies Used:

PythonTensorFlowPyTorchLibrosaMFCC

Key Achievements:

  • Utilized MFCCs and spectrograms for robust speech representation
  • Implemented both 1D and 2D CNN architectures
  • Conducted comparative performance analysis

Network Anomaly Detection

Developed a machine learning-based system to detect irregular network traffic patterns, improving anomaly detection accuracy.

Technologies Used:

PythonMachine LearningPCAKNN

Key Achievements:

  • Implemented PCA from scratch for dimensionality reduction
  • Built custom KNN classifier for anomaly detection
  • Achieved high detection accuracy for suspicious network activity

Face Recognition System

Developed a recognition system leveraging PCA, LDA, and KNN, enhancing classification accuracy.

Technologies Used:

PythonPCALDAKNNImage Processing

Key Achievements:

  • Applied dimensionality reduction techniques for optimization
  • Implemented efficient feature extraction methods
  • Fine-tuned classification parameters for improved precision

Car Rental System

Designed and deployed a multi-office car rental system, enabling global customer access and streamlined vehicle management.

Technologies Used:

Full-Stack DevelopmentDatabase ManagementWeb Development

Key Achievements:

  • Implemented secure login and role-based access control
  • Developed advanced filtering and payment integration
  • Created efficient reservation system for multiple offices

Mini Shell

Developed a custom Unix-style shell in C++ supporting command execution, piping, redirection, and background processing. This project demonstrates deep understanding of process control and shell behavior.

Technologies Used:

C++Linux system callsProcess creation (fork/exec)PipingRedirection (dup2)Signal handlingBackground jobs

Key Achievements:

  • Built a parser to interpret complex shell commands with support for |, >, <, and &
  • Handled multiple child processes with proper signal and process group management
  • Gained hands-on experience with Unix process lifecycle and low-level terminal I/O

TCP over UDP

Implemented a reliable data transmission protocol by emulating key TCP functionalities (like sequence control and acknowledgments) over the UDP protocol in Python.

Technologies Used:

PythonSocket programmingSliding window protocolChecksum validationRetransmission strategiesPacket sequencing

Key Achievements:

  • Designed custom packet structures with headers for sequencing, checksums, and ACKs
  • Built a mechanism for detecting lost packets and handling retransmissions efficiently
  • Solidified understanding of TCP/IP models and error control mechanisms

Producer-Consumer (Shared Memory & Semaphores)

Created a concurrent system solving the Producer-Consumer problem using shared memory and semaphores to coordinate multiple processes and avoid race conditions.

Technologies Used:

C++System V semaphoresSystem V shared memoryProcess synchronizationMutual exclusionBounded buffer model

Key Achievements:

  • Established safe communication between producer and consumer via a shared buffer
  • Implemented proper semaphore control to prevent overfilling or underflow of shared memory
  • Strengthened knowledge in concurrency, inter-process communication, and memory sharing

Paint Application

Built a Java-based paint application supporting multiple shape drawing and undo/redo functionality, using solid object-oriented and design pattern practices.

Technologies Used:

JavaSwing (GUI)Factory MethodMemento PatternObject-Oriented DesignEvent-driven programming

Key Achievements:

  • Implemented dynamic shape creation with a Factory pattern for extensibility
  • Integrated undo/redo functionality using the Memento pattern and a custom history stack
  • Demonstrated strong command of GUI development and software design principles