A modern, fully serverless contact form solution built on AWS that captures leads, stores them securely, and sends instant email notifications — without managing any servers.
- Beautiful, animated, responsive contact form (Tailwind CSS + vanilla JS)
- Fully serverless architecture (pay-per-use)
- Real-time data storage in DynamoDB
- Professional HTML email notifications via SES
- Secure with least privilege IAM roles
- CORS enabled and production-ready
- CDN ready (CloudFront)
- Frontend: Static HTML + Tailwind hosted on S3 + CloudFront
- Backend: API Gateway + AWS Lambda (Python)
- Database: Amazon DynamoDB
- Notification: Amazon SES
- Security: IAM Roles with least privilege
serverless-lead-capture-aws/
├── index.html # Beautiful animated frontend
├── lambda_function.py # AWS Lambda backend logic
├── architecture-diagram.png # System architecture
├── screenshots/ # All project screenshots
│ ├── form.png
│ ├── api-gateway.png
│ ├── lambda.png
│ ├── dynamodb.png
│ └── ses.png
├── README.md
└── LICENSE
- User submits the contact form
- Request hits API Gateway → Triggers Lambda
- Lambda validates data → Stores in DynamoDB
- Sends professional email notification via SES
- Returns success response with smooth UI feedback
- AWS Services: S3, CloudFront, API Gateway, Lambda, DynamoDB, SES, IAM
- Frontend: HTML5, Tailwind CSS, Vanilla JavaScript
- Backend: Python 3.12
- Others: JSON validation, CORS, Environment Variables
(All screenshots are available in the /screenshots folder)
- Live Contact Form
- Architecture Diagram
- API Gateway Configuration
- Lambda Function & Logs
- DynamoDB Table
- SES Email Received
- Serverless application design
- API Gateway + Lambda integration
- Secure email delivery with AWS SES
- Proper CORS configuration
- Environment variable management
- Least privilege access control
- Add reCAPTCHA / Bot protection
- Multi-language support
- Analytics integration
- Terraform IaC version
- Custom domain + Route 53
Made with ❤️ for Cloud Engineering Portfolio
