Serverless image-processing workflow
AWS Passport Photo Automation
Built a serverless, event-driven AWS system that automatically evaluates passport-style photographs, persists validation results, broadcasts processing outcomes and exposes results through an API.
- AWS Lambda
- S3
- Rekognition
- DynamoDB
- API Gateway
- SNS
- Lambda Destinations
- Python

Overview
A serverless AWS architecture designed to automate passport photo validation. Images uploaded to S3 trigger Lambda processing, Amazon Rekognition evaluates facial attributes against validation requirements, and approval or rejection results are stored in DynamoDB.
The project extends beyond image processing with asynchronous notifications through Lambda Destinations and SNS, plus an API Gateway/Lambda workflow for retrieving evaluation results.
Architecture
Image processing
- S3 image upload
- AWS Lambda
- Amazon Rekognition
- DynamoDB
Uploaded photographs trigger a Lambda function which calls Rekognition to evaluate the image. The resulting approval/rejection information is persisted in DynamoDB.
Notifications
- Lambda processing
- Lambda Destinations
- SNS
- Downstream services
Processing results are passed through Lambda Destinations to SNS, separating the image-processing workflow from services consuming completion notifications.
API access
- API Gateway
- AWS Lambda
- DynamoDB
- Evaluation result
A separate Lambda function queries DynamoDB through an API Gateway endpoint, allowing external systems to retrieve photo evaluation results and rejection information.
What it covers
- Event-driven serverless architecture
- S3 event-triggered processing
- AWS Lambda
- Amazon Rekognition
- DynamoDB persistence
- Lambda Destinations
- SNS notifications
- API Gateway
- Python
- Decoupled processing, notification and retrieval workflows
Note
This is engineering evidence rather than a currently live production service; the AWS infrastructure is not presented as running today.