Skip to main content

Overview

This Guidance demonstrates how an AI-generated virtual personal stylist can provide a convenient and personalized styling experience for retail consumers. The AI stylist uses advanced machine learning to instantly deliver tailored outfit recommendations by analyzing a user's style, body type, location, weather, and other contextual factors to suggest outfits that are highly personalized to that specific consumer. This allows the AI technology to provide styling recommendations at any time, without the constraints of human availability, delivering a highly convenient and customized styling experience for users seeking instant access to personalized fashion advice.

How it works

This architecture diagram shows how retailers can build a multi-modal application that offers personalized styling and outfit recommendations to customers.

Get Started

Use sample code to deploy this Guidance in your AWS account

Go to sample code on GitHub

Well-Architected Pillars

The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.

The decoupled architecture of this Guidance promotes scalability and reliability. For example, API Gateway serves as the entry point for incoming requests, routing them to the appropriate Lambda functions for processing. Lambda enables the application to scale automatically based on demand without the need for manual infrastructure management. The Lambda functions are responsible for handling specialized tasks such as text generation, image generation, and product search. In addition, Amazon S3 and DynamoDB provide durable and scalable storage capabilities, with Amazon S3 supporting mostly unstructured data like images and DynamoDB managing structured data like user preferences and product information. Furthermore, OpenSearch Serverless is used as a vector database for the application's knowledge base, facilitating efficient and flexible information retrieval.

Read the Operational Excellence whitepaper

Amazon Cognito provides secure user authentication and authorization, limiting application access to only authorized users and safeguarding their data. Secrets Manager securely stores sensitive credentials, protecting them from exposure in the application's code or configuration, while CloudFront improves website security with traffic encryption and access controls, and it integrates with AWS Shield Standard. Also, all AWS Identity and Access Management (IAM) policies have been scoped down to the minimum permissions required for the service to function properly.

Read the Security whitepaper

Elastic Load Balancing (ELB) routes traffic requests from the store’s mobile application to healthy Amazon Elastic Compute Cloud (Amazon EC2) instances. CloudFront distributes the Streamlit-based frontend globally, improving reliability and availability for users by caching content closer to their geographical locations. Furthermore, the incorporation of monitoring and observability through services such as CloudWatch enables the quick identification and resolution of any reliability issues that may arise.

Read the Reliability whitepaper

API Gateway, Lambda, Amazon S3, DynamoDB, and OpenSearch Serverless are designed to handle high-volume traffic, provide low-latency responses, and scale automatically to meet the application's evolving performance needs. Additionally, the global content delivery network of CloudFront reduces latency for users by caching content closer to them, improving the performance of the application.

Read the Performance Efficiency whitepaper

The Lambda functions are charged based on the number of invocations and the duration of execution, enabling the application to scale up and down without incurring fixed infrastructure costs. Also, Amazon S3 and DynamoDB offer pay-as-you-go pricing models, where the user is only charged for the storage and throughput capacity they consume, without the need for upfront commitments. Furthermore, OpenSearch Serverless is a serverless offering, providing a cost-effective framework for running the application's knowledge base without the requirement to manage the underlying infrastructure. Additionally, CloudFront pricing is based on the volume of data transferred and the number of HTTP/HTTPS requests so that the user only pays for the resources they actually consume.

Read the Cost Optimization whitepaper

The Lambda functions are designed to automatically scale up and down based on demand so that only the minimum required resources are provisioned at any given time, thereby reducing overall energy consumption and waste. Amazon S3 and DynamoDB offer efficient data storage and retrieval patterns, minimizing the need for large, energy-intensive data centers and hardware. Furthermore, the global content delivery network of CloudFront serves to reduce the requirement for users to access data from distant data centers, improving energy efficiency by delivering content from locations closer to the end-user.

Read the Sustainability whitepaper

Disclaimer

The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.

References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between Amazon or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.