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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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