This project aims to implement deep learning models from scratch using only NumPy. The goal is to develop a rigorous understanding of neural networks from first principles. All components, including forward propagation, backpropagation, and optimisation, are derived and implemented without the use of high-level frameworks such as Tensorflow and PyTorch.