AWS Cloud Album Project


Technology Stack

Python, Flask, AWS (EC2, S3, SQS, Lambda, DynamoDB), YOLOv8, RESTful API, JWT Authentication, OpenStreetMap/Leaflet, HTML, CSS, Docker, ONNX

Project Overview

Designed and implemented a cloud-native AI photo management system that enables intelligent organization of images through automated classification and metadata extraction. The platform supports scalable storage, asynchronous processing, and location-based visualization, providing an efficient solution for managing large photo collections.

Key Features

  • Intelligent Image Classification
    • Integrated a YOLOv8-based model in ONNX to automatically categorize uploaded images and generate confidence scores.
    • Enabled metadata-driven search and organization.
  • Asynchronous Processing Pipeline
    • Implemented an event-driven architecture using Amazon SQS and AWS Lambda.
    • Decoupled user uploads from compute-intensive ML inference to improve scalability and responsiveness.
  • Cloud-Native Storage
    • Stored image assets in Amazon S3 and managed structured metadata in DynamoDB.
    • Designed efficient data models for user accounts, image labels, locations, and processing status.
  • RESTful Backend Services
    • Developed a Flask-based REST API supporting authentication, image upload, metadata retrieval, and album management.
    • Implemented JWT-based authentication and access control.
  • Location-Based Visualization
    • Extracted EXIF GPS metadata from images and visualized them using OpenStreetMap/Leaflet for map-based browsing.
  • User Interaction Enhancement
    • Designed a follow-up question mechanism to collect additional metadata, improving search accuracy and organization.

System Architecture

The system follows a modular cloud-native architecture:

  • Frontend: HTML/CSS interface for user interaction.
  • Backend: Flask REST API deployed on AWS EC2.
  • Asynchronous Processing: Amazon SQS and AWS Lambda for background tasks.
  • Storage: Amazon S3 for images and DynamoDB for metadata.
  • Machine Learning: YOLOv8 for image classification.
  • External Services: OpenStreetMap for geospatial visualization.

Technical Contributions

  • Built an end-to-end serverless ML pipeline integrating storage, messaging, and compute services.
  • Designed scalable NoSQL data schemas optimized for metadata querying.
  • Implemented event-driven workflows to enhance system reliability and performance.
  • Enabled secure communication using HTTPS and IAM-based access control.