# Red Hat Developer Hub x OpenShift AI Demo ## Abstract This project aims to enhance the user experience of internal developer portals by implementing an AI-powered recommendation engine. The engine takes into account the user's team membership, role, and behavior to provide personalized recommendations, making it easier for users to find relevant resources efficiently. ## Problem Statement When adopting internal developer portals and thus implementing self-service and automation in an enterprise, the number of options can feel overwhelming for end-users. They need to be able to efficiently find resources that are relevant to what they are doing. The vast array of available resources and the lack of personalization can lead to a suboptimal user experience, reduced productivity, and underutilization of the developer portal's capabilities. ## Proposed Solution To address this issue, we propose an AI-powered recommendation engine that takes the user's team membership, role, and behavior into account. By leveraging user-specific data and machine learning techniques, the recommendation engine can provide personalized suggestions, guiding users to the most relevant resources based on their context and past interactions. ### overview The proposed solution consists of the following components: - Generic analytics plugin for Backstage: A custom plugin that captures user events and associated metadata within the developer portal. - Data ingestion and transformation: A microservice that serves as the event sink, transforming and writing the events to a Redis database. - Self-contained system with local model: The recommendation engine is designed as a self-contained system, utilizing a local machine learning model for generating recommendations. - OpenShift AI: The processing of user data and generation of recommendations is handled by OpenShift AI, leveraging its capabilities for scalable and efficient computation. - Backstage frontend plugin for displaying recommendations: A plugin that seamlessly integrates with the developer portal's frontend, presenting personalized recommendations to the user. - Reinforcement mechanism: A feedback loop that allows users to provide thumbs up/down ratings and comments on the recommendations, enabling continuous improvement of the recommendation model. [diagram] ### Data Capture A custom Backstage plugin is developed to record user events and associated metadata within the developer portal. This plugin captures relevant user interactions, such as resource views, searches, and interactions with specific features. The captured data forms the basis for generating personalized recommendations. ### Data Generation To simulate realistic user behavior and generate a diverse dataset, Selenium IDE is used to record a library of user actions. These actions are executed in random combinations to generate user events, which are captured by the Backstage plugin, providing a rich dataset for training the recommendation model. ### Data Ingestion and Transformation A dedicated microservice acts as the event sink, receiving the captured user events from the Backstage plugin. This microservice is responsible for transforming the raw event data into a suitable format and writing it to a Redis database for efficient storage and retrieval. ### processing OpenShift AI ### display recommendations Backstage frontend plugin... you might also be interested in x... ### reinforcement Backstage frontend plugin (thumbs up/down + comments)