Haze removal is highly desired in both consumer/computational photography and computer vision applications. First, removing haze can significantly increase the visibility of the scene and correct the color shift caused by the airlight. In general, the haze-free image is more visually pleasuring. Second, most computer vision algorithms, from low-level image analysis to high-level object recognition, usually assume that the input image is the scene radiance. The performance of vision algorithms (e.g., feature detection, filtering, and photometric analysis) will inevitably suffers from the biased, low-contrast scene radiance. Last, the haze removal can produce depth information and benefit many vision algorithms and advanced image editing.The very first thing was to select a challenging project topic which would help us learn new technologies and also implement our existing knowledge to make a working model of something which has real life applications. After a lot of research and discussion among the team members we came up with Single Image Haze Removal. The next challenge was understand what has been done so far in this field and what new we can do. We referred to a research paper which uses Dark Channel Prior to remove haze. The very first challenge was to understand the research paper and the technique used to remove haze from the image. The next and the foremost challenge was to write the code for our project. After successful code writing first thing we noticed was that it was taking a lot of time for processing. We thought to incorporate knowledge from various subjects which we have studied. So we decided to speed up the computational process for haze removing by implementing it on GPU and parallelizing tasks. Converting the code into a GPU compatible language was also a challenging task. Next challenge was to design a user interface and host our project on a cloud service so that it can be accessible from anywhere.