About Customer
Industry: Gen AI
Innovative mobile application designed to connect individuals based on shared interests, preferences, and activities. Leveraging advanced algorithms and user data, facilitates meaningful social interactions and fosters a sense of community among its users. Upon signing up, users create detailed profiles highlighting their interests, hobbies, and preferences. The app’s algorithm then matches users with similar interests, suggesting activities and events that align with their passions. This personalized approach helps users discover new hobbies and engage in local events, enhancing their social lives and experiences.
Current Infra
The current infrastructure likely relied on a traditional database (e.g., Mongo DB, MySQL, PostgreSQL) to store user profiles. This database might have separate tables for user information (interests, demographics), and potentially another for storing user interactions with text prompts or media.
Challenges included limited customization for user preferences, difficulty incorporating new data sources (like images), and potentially scalability issues with a growing user base. This traditional approach might have also struggled with the “cold start” problem for new users and lacked the ability to learn and adapt to evolving user interests.
This technique analyses existing friendships to identify users with similar friends (based on interests or demographics) and recommend connections.
Content-Based Filtering: User profiles built based on their past interactions (likes, shares, content creation) on the platform. The system then recommends friends with similar activity patterns.
The Challenge
Cold Start Problem: When new users join, the system lacks data on their preferences, making it difficult to recommend suitable friends.
Sparsity of Data: User profiles might not be comprehensive, leading to inaccurate recommendations.
Data Silos: If user data is scattered across different platforms (social media, music preferences), it’s challenging to create a holistic view for accurate friend suggestions.
Limited Personalization: Traditional methods might struggle to capture the nuances of user preferences and evolving interests.
Scalability Issues: As the user base grows, managing and analyzing large amounts of user data becomes increasingly complex with traditional approaches.
The Solution
Data Preparation:
- Stored user profiles in DynamoDB, including interests, location, and age (if relevant).
- Amazon Comprehend to analyse text data from profiles (e.g., prompt responses) and identify key topics representing user interests.
- Personalize Setup: Created a Personalize dataset containing user profiles and their extracted interests as items.
- Define an interaction event whenever a user interacts with another user’s profile (e.g., viewing, sending a message).
- Model Training: Used the Personalize “User Personalization” recipe to train a model that predicts user interest in other users based on their profile data and past interactions.
Recommendations:
- Integrate Personalize with your application to retrieve friend recommendations for a user.
- The recommendations will be other users with profiles that align with the user’s interests based on the trained model.
- Benefits: Scalability: Personalize scales well with a growing user base.
- Real-time Recommendations: The system suggests friends based on current user data and interactions.
- Customization: You can customize the Personalize recipe to personalize recommendations based on specific user attributes (e.g., location for proximity).
Scalability and Infrastructure Management
1. Amazon EC2 Auto Scaling: Implement EC2 Auto Scaling to automatically adjust compute resources based on demand. This ensures optimal performance and cost-efficiency during varying traffic conditions.
2. Elastic Load Balancing (ELB): Deploy Elastic Load Balancing to distribute incoming traffic across multiple Amazon EC2 instances. This setup will enhance the application's availability and reliability, providing a seamless user experience.
3. Amazon CloudWatch: Set up Amazon CloudWatch for comprehensive monitoring and management of application performance. CloudWatch will provide real-time insights and alerts, enabling proactive identification and resolution of potential issues.
Security
1. AWS WAF is provided to protect apps and APIs against bots and exploits that consume resources, skew metrics, or cause downtime
2. AWS GuardDuty is deployed for threat detection and it also continuously monitor the infra to detect any kind of malicious activity
3. AWS Standard Shield is also provided to protect from the DDOS attack and safeguard the applications running on the AWS infra
4. Important instances are kept in the private subnet and user access can be provided by using VPN
5. AWS Security Hub is deployed here for security posture management service that automates best practice checks, aggregates alerts and supports automated remediation.
6. To ensure the AWS best practices we have also deployed the AWS Trusted Advisor
7. Access Management and Security of Keys achieved using the KMS and Secret Manager
8. MFA is also implemented to provide an extra layer of authentication
Resiliency
- 1. A multi-AZ infrastructure has been architected for this customer.
- 2. Snapshots are being taken properly with a defined frequency and kept within S3, as-per-required retention period.
Other Services
Solution Architecture
Why AWS?
AWS is designed to allow application providers, ISVs, and vendors to quickly and securely host your applications – whether an existing application or a new SaaS-based application. You can use the AWS Management Console or well-documented web services APIs to access AWS's application hosting platform. AWS utilizes an end-to-end approach to secure and harden our infrastructure, including physical, operational, and software measures. For more information, see the AWS Security Center.
Using AWS tools, Auto Scaling, and Elastic Load Balancing, your application can scale up or down based on demand. Backed by Amazon's massive infrastructure, you have access to compute and storage resources when you need them. With AWS, you take advantage of a scalable, reliable, and secure global computing infrastructure, the virtual backbone of Amazon.com's multi-billion-dollar online business that has been honed for over a decade.
Why i2k2?
Our strategy
Cloud Computing – We are highly proficient in cloud hosting serving more than 4000 Corporates with 14000+ VMs and Physical servers mainly in India.
Cloud Consulting – We are adept at delivering solutions on public cloud, private cloud, and Hybrid cloud. We are partners with AWS, Azure, Google, and other cloud providers.
Our mission
Focus to service our customers and create products that are extremely user-centric and solution-oriented with a highly-skilled technical team and a vast experience in the technology space, we have been developing products that are solving real-life issues that can service the masses
Our vision
We offer tailor-made solutions and services so that businesses can leverage the maximum benefits through us. We ensure that the delivery and quality parameters are met and remain committed to the best possible customer experience