Django Image Processor
A cloud-hosted web app for applying image filters in real-time using Django and Pillow.
๐ View the code on GitHub
๐ About the Project
This project was developed as part of the Cloud Computing course at Temple University. It explores deploying a responsive web-based image processing tool on a EC2 instance of Amazon AWS servers using Django.
The application lets users upload images and apply a set of filters including grayscale, sepia, posterize, blur, and edge detection. Results are displayed side-by-side and can be downloaded directly.
๐ผ๏ธ Interface Preview


๐ง Technology Stack
- Backend: Django, Pillow
- Frontend: HTML, CSS, JavaScript, Bootstrap 5
- Deployment: AWS EC2 (Ubuntu 22.04)
- Web Server: Nginx
- App Server: Gunicorn
- Database: SQLite (lightweight for demo purposes)
๐ Workflow
- User uploads an image through the web UI.
- The backend handles validation and stores the image.
- Based on user selection, the filter is applied using Pillow.
- Filtered image is saved and previewed.
- A download link is offered for the processed result.
โ๏ธ Cloud Deployment
The full stack runs on an AWS EC2 instance with the following setup:
- ๐ Python + Django app running in virtualenv
- ๐ฅ Gunicorn as WSGI server
- ๐งฑ Nginx reverse proxy to serve static/media files
- ๐พ Database: SQLite (lightweight for demo purposes)

๐ Features
- Upload images (JPG, PNG, etc.)
- Saves each users processed images in database.
- Apply filters instantly with visual feedback
- On-demand download of output
- Responsive and simple UI
๐งช Notes
This project demonstrates the end-to-end development and deployment of a real-time image processing web app using cloud-native tools. The front-end design and boilerplate code has been completed with assitance of Replit.