Document Revision History
1.1 Purpose
The primary goal of this Software Requirements Specification (SRS) document is to serve as a comprehensive guide and reference point for our team, stakeholders, including KFUPM, potential investors, and researchers interested in the pioneering AI technology underpinning our product.With the AIindustry rapidly evolving, this document will be dynamic, and changes are anticipated to cater to the ever-changing landscape of AI technologies.
Our software system is designed to transform PowerPoint files into polished video presentations by integrating a range of advanced AI models. This includes Large Language Models, Text-to-Speech (TTS) models, Natural Language Processing (NLP) models, and our proprietary Machine Learning model. Together, these models work in harmony: while the Large Language Models, TTS, and NLP models assist in generating and vocalizing content, our specialized Machine Learning model classifies various facets of the PowerPoint, determining slide types, and categorizing content. Users can simply input their PowerPoint files into our system, and these integrated AI capabilities will ensure they receive a wellcrafted video presentation. To make this transformation accessible and user-friendly,all these features will be hosted on a website platform. More than just a conversion tool, our platform also aims to be a content creation and sharing space, akin to prominent platforms like YouTube.
The intended audience for this SRS includes:
• Developers:To grasp the intricacies of the system, its functionalities, and workflows.
• Project Managers: To delineate the project's trajectory, its vast potential, and thereby determine resource allocation and management strategies effectively.
• Marketing Staff: To discern the range of outputs the software can generate, along with the expected quality, assisting in accurate product representation.
• Testers: To derive critical test cases essential for the project's triumphant realization.
1.2 Scope
What the Project Does (Do's):
Our platform serves as an innovative medium for users to transform PowerPoint presentations into dynamic and engaging video content. Upon visiting our platform website, users can register an account and either view previously generated videos or embark on creating their own. The video generation process is initiated when a user uploads a PowerPoint file. The system then prompts the user for specific inputs, such as:
• Desired video length.
• The knowledge level of the content: beginner, intermediate, or advanced. The end product is a synchronized video where each slide is paired seamlessly with an explanatory voiceover, created based on the user's preferences.
What the Project Does Not Do (Don'ts):
While our platform is robust in its ability to generate videos from PowerPoint slides, it has specific limitations:
• It does not offer video editing capabilities like cropping or adding visual effects.
• The videos are not animated and depend solely on the design and content of the provided PowerPoint slides. Thus, any visual appeal stems from the slide design itself.
Relevant Benefits:
Our platform offers a revolutionary way for users to digest PowerPoint content, whether by delving deep into the details or by gleaning a concise summary of expansive presentations. This is especially beneficial for educational settings, business presentations, or commercial showcases. Unlike competitors who may only read slides verbatim or produce silent slide transitions, our system intelligently digests and verbalizes slide content, making the output unique and user centric
Objectives and Goals:
• Short-term:
Our immediate aim is to develop an intelligent system capable of producing valuable content, encouraging users not only to consume but also share through our platform.
• Long-term:
As AI continues its rapid evolution, we aspire to augment our system with newer capabilities, enhancing both its performance and complexity. Our vision also includes becoming an indispensable educational tool, enabling students to learn through videos crafted from well-structured PowerPoint presentations curated by educators. In the future, we envisage integration with major educational platforms like Blackboard or Gradescope, solidifying our position as a premier educational resource and tool
1.3 Definitions, Acronyms and Abbreviations
PowerPoint (PPT): A proprietary commercial presentation program developed by Microsoft. It is used primarily for creating slide show presentations.
Video Presentation: A visual and auditory representation of information, often used for demonstrations, lectures, or promotional content.
User: An individual who accesses and interacts with the platform via creating an account
Browser: An individual who accesses and interacts with the platform without logging in
Admin: An authorized individual who have managerial roles with regard to the platform’s content and users
Platform: The online system or website where the PowerPoint-to-video conversion service is offered.
Voiceover: A production technique where a voice, not part of the narrative, is used in various media productions such as movies, television, or presentations.
AI (Artificial Intelligence): The simulation of human intelligence processes by machines, especially computer systems.
TTS (Text-to-Speech): A form of assistive technology that reads digital text aloud. It can convert any written text such as Microsoft Word, web pages, or PDFs into spoken words.
NLP (Natural Language Processing): A subfield of AI focused on the interaction between computers and humans through natural language. The ultimate objective of NLP is to read, decipher, and make sense of human languages in a manner that is valuable.
SRS (Software Requirements Specification): A detailed description of a system's intended capabilities, functions, and features.
API(Application Programming Interface): Asetofroutines, protocols, and tools for building software and applications.
KFUPM: King Fahd University of Petroleum and Minerals.
NFR: Nonfunctional requirement.
1.4 References
1.5 Overview
In section 2.0, we provide an architectural overview of our system and define our primary target users. Section 3.0 outlines system requirements, which are then organized into use cases based on relevance. In section 3.1 detailed requirements, they include only the functional requirements, while the non-function requirements are listed in their corresponding sections. In section 3.4, number of requirements were assigned to one or more functional requirement. the first requirement for the use case was positioned above the use case table. And the other requirements listed below the use case. Sections 3.5 and 3.7 detail quality measures, and in section 3.6, we discuss the database requirements.
2 Overall Description
2.1 Product Perspective
The Presenter system is projected to be self-contained and not to be a part of other products. Nevertheless, the system will be designed to be adaptable to minimize effort for possible future integration with other services and systems, such as LMS (learning management systems) softwares

2.2 Product Functions
• User Account Creation and Management:
Users can visit our platform's website and easily create their own account. Once registered, they can manage their profiles, upload PowerPoint files, and view their generated videos.
• Browsing and Viewing Videos:
Registered users have the privilege to browse through a library of videos generated by other users. They can watch these videos, learn from them, or even gather inspiration for their own content.
• PowerPoint-to-Video Conversion:
Users can upload their PowerPoint presentations to our platform. By feeding the system with their file, they initiate the transformative process of turning static slides into an informative video.
• Customized Video Generation:
Upon uploading, users are prompted with options to tailor their video output. They can:
o Specify the desired length of the video.
o Choose the knowledge level for the content's explanation: beginner, intermediate, or advanced.
• Automated Image Interpretation:
If a PowerPoint contains images, our platform can automatically interpret and provide an explanatory voiceover for these visuals, adding depth to the video content.
• Intelligent Content Generation:
Our platform doesn't just convert slides to video; it creates intelligent content. Depending on user preferences, it will craft explanatory voiceovers, ensuring the video content is both engaging and informative.
• Sharing and Distribution:
Once the video is generated, users can share their videos within the platform, allowingothers to view, learn, and potentially get inspired by their content

2.3 User Characteristics
Primary User Group: Students
• Age Group:
Typically young adults, ranging from teenagers to early twenties.
• Educational Background: Varied, but primarily students enrolled in academic institutions.
• Purpose:
Prefer consuming information in video format for enhanced engagement and comprehension.
• Technical experience:
Moderate level of technological proficiency. Generally comfortable with digital tools and have experience in utilizing smartphones, laptops, and tablets for educational purposes.
Secondary User Group: Content Creators
• Age Group:
Diverse, spanning different age groups.
• Educational background:
Mainly individuals of diverse educational backgrounds and experience levels. Specifically, individuals who create educational content or presentations frequently.
• Purpose: Interested in converting PowerPoint presentations (PPTs) into video format for instructional or sharing purposes.
• Technical experience:
Moderate to high level of technical expertise. Content creators are mostly proficient in office software and multimedia tools.
2.4 Constraints
• The system shall be completed within a timeframe of 8 months.
• The system shall be developed in accordance with the Waterfall methodology.
• The system shall be implemented on the following tech stack:
o MongoDB as the database management system
o Bun.js as the backend server
o React.js as the frontend framework
o Uikit.js for UI styling
3 Specific Requirements
3.1 Detailed Requirements
Generic
3.1.1 The system shall allow the browser to create an account using their e-mails.
3.1.2 The system shall verify browser using verification number sent to their e-mail.
3.1.3 The system shall allow users to log in to their account using their log-in credentials.
Admin
3.1.4 The system shall allow the admin to edit a user’s information.
3.1.5 The system shall allow the admin to bloke a user.
3.1.6 The system shall allow admin to delete content from the platform.
Creating videos
3.1.7 The system shall allow the user to upload .PPTX or pdf file to the platform.
3.1.8 The system shall allow the user to set the parameters (explanation depth and duration) for the video.
3.1.9 The system shall allow the user to preview the slides with the corresponding scripts.
3.1.10 The system may provide the estimated reading time of each script
3.1.11 The system shall allow the user to request script regeneration for (too short, too long, not related)
3.1.12 The system shall allow the user to convert the .PPTX to video
3.1.13 The system shall allow the user to name the converted video.
Video
3.1.14 The system shall allow the user to rename a video.
3.1.15 The system shall allow the user to toggle the visibility of their videos.
Playlists
3.1.16 The system shall allow the user to set the visibility of the playlist (public, private).
3.1.17 The system shall allow the user to change the name of the playlist.
3.1.18 The system shall allow the user to add a video to a playlist.
3.1.19 The system shall allow the user to remove a video from a playlist.
Library
3.1.20 The library feature shall consist of playlists.
3.1.21 The system shall allow the user to create a new playlist.
3.1.22 The system shall allow the user to remove a playlist.
3.1.23 The system shall have a default playlist (Liked), that have all the user's liked videos.
3.1.24 The system shall have a default playlist (Channel), that have all the user’s videos.
Play videos
3.1.25 The system shall allow user/browser to play videos.
Share videos and playlist
3.1.26 The system shall allow the user/browser to share the link of a playlist or a video.
Explore
3.1.27 The system shall allow the user/browser to explore public content.
3.1.28 The system shall allow the user/browser to search for specific public content.
3.1.29 The system shall allow the user/browser to access public contents using a link.
Like videos and save playlist
3.1.30 The system shall allow the user to save public playlist to their library
3.1.31 The system shall allow the user to remove public playlist from their library.
3.1.32 The system shall allow the user to like a video
3.1.33 The system shall allow the user to unlike a video.
AI Model
3.1.34 The system shall extract the text from the slides.
3.1.35 The system shall classify the slides based on layout (bullet points, paragraphs, quotes, separators, etc).
3.1.36 The system shall create a prompt based on the extracted information and layout class.
3.1.37 The system may support creating Arabic and English videos.
3.1.38 The system shall provide the response from the APIs as text scripts list.
3.1.39 The system may developed to have a continuous learning.
Creating the videos system
3.1.40 The system shall send a request for scripts from the AI model with the chosen parameters
3.1.41 The system shall convert .PPTX file to array of .PNG.
3.1.42 The system shall handle user modification on the scripts.
3.1.43 The system may inform the AI model with the user modification for continuous learning.
3.1.44 The system shall respond to user feedback by requesting the AI Model to generate a new script based on the feedback.
3.1.45 The system shall create audio that reads aloud the script using TTS model.
3.1.46 The system shall wait for user confirmation to start rendering the synchronous video.
3.1.47 The system shall add a watermark on the video.
3.2 Use case Diagram

3.3 Interface Requirements
3.3.1 User Interfaces
The Presenter primarily utilizes a graphical user interface to ensure ease of use. The GUI features a clean and intuitive layout, with a responsive design that adapts to various devices, such as desktop computers, tablets, and smartphones. The design elements focus on enhancing user experience and accessibility.
Upon logging in, users are greeted with a customizable dashboard where they can access their library, explore content page, and create content page. The dashboard offers a quick overview of their recent playlist, created content, and a user-specific news feed.
3.3.2 Hardware Interfaces
The system has no hardware interface requirements
3.3.3 Software Interfaces
1- Database Management System Name
number
Source
https://www.mongodb.com/
Purpose of Interfacing The system will use MongoDB as its database component.
2- Web server
Name
Apache HTTP Server
Source
Purpose of Interfacing
3- Content delivery Network
Name
Mnemonic
https://httpd.apache.org/
The system will be hosted on an Apache web server to handle HTTP requests and serve web content to users.
Amazon CloudFront
CloudFront
Version number -
Source
Purpose of Interfacing
https://aws.amazon.com/cloudfront/
The system will integrate with Amazon CloudFront as a CDN service to optimize content delivery and enhance user experience by caching and distributing content globally.
4- Video encoding library
Name FFmpeg
Mnemonic FFmpeg
Version number
Source
Purpose of Interfacing
5- AI script generation
Name
Mnemonic
4.4
https://www.ffmpeg.org/
The system will use FFmpeg for video encoding and transcoding, enabling support for various video formats and efficient processing
OpenAI GPT-3 (ChatGPT)
GPT-3
Version number -
Source
https://openai.com/gpt-3/
Purpose of Interfacing Use ChatGPT (GPT-3) to dynamically generate scripts from userprovided prompts
6- Platform Backend
Name
Bun.js
Mnemonic Bun
Version number
Source
v1.0.7
https://bun.sh
Purpose of Interfacing The system will use Bun as a package manager, as a replacement for Node.js.
7- Platform Frontend
Name
React.js
Mnemonic React
Version number
Source
Purpose of Interfacing
v18.2.0
https://react.dev/
The system will feature React as the platform frontend tier This is because React is more mature and popular than other frontend frameworks
Notes This function requirements use the same use case as F-01
3c. In step 3 of the normal flow if the user’s entered e-mail is used:
1. The system prompts the user to enter a non used e-mail again.
2. Use case resume from step 4.
5b. In step 5 of the normal flow if the user’s entered code is wrong:
1. The system prompts the user to enter a valid code again.
2. The user enters the code.
3. Use case resume from step 6
Dependency: - e-mail verification. - Form validation



Allow users to log in into their account
Notes
UC-02: Log in
Description: Allow users to log in into their account using their e-mail and password.
Actors: User
Pre-Condition(s):
Post-Condition(s):
Main Flow:
1. The user is authenticated to access the system.
1. The user is logged into the platform.
2. A token is sent to the user.
1. The user select on “log in”.
2. The system prompt the user to enter their account information.
3. The user enter their information an select “submit”.
4. The user is logged into the system.
Alternative(s): 2b. In step 2 of the normal flow if the user’s credentials are not correct:
1. The system prompts the user to enter their credentials again.
2. Use case resume from step 3.
Dependency: -


3.4.3 Manage users
Edit’s user information
Notes
Block user from the platform
This function requirements use the same use case as F-04
UC-03: Manage users
Description: Allow admin to manage users by editing their information or blocking users form accessing the platform
Actors: Admin
Pre-Condition(s): 1. The user is authenticated to access the system as an admin
Post-Condition(s): 1. Action is preformed to the user’s account.
Main
log in into the system.
10.
Alternative(s): 2b. In step 2 of the normal flow if the admin wants to block a user instead of editing their information.
1. Admin select on “block user”.
2. Use case continue from step 6.


3.4.4 Delete content
F-06: Delete content from the platform
Notes
UC-04: Delete content
Description: Allow admin to delete a content of a platform
Actors: Admin
Alternative(s):


3.4.5 Upload .PPTX file
Upload .PPTX file
UC-05: Upload files
Description: Allow user to upload .PPTX files to the platform
Actors: User Pre-Condition(s):
The user is authenticated to use the system
The user is authorized to access this route.
Post-Condition(s): User proceeds to create a video
Main Flow:
Alternative(s):
User select on “upload file”
User selects the pptx file from their device.
User receives a success message
Dependency: Browser must support the file selection prompt


3.4.6 Create video


3.4.7 Manage Video
F-14: Rename a video
Notes
F-15: Change video visibility
Allows the user to rename a video
This function requirements use the same use case as F-14
Allows the user to change the visibility of their videos.
Notes
UC-07: Manage videos
Description: This use case allows the user to perform some actions (i.e., rename, toggle visibility, add / remove a video) to their Playlist
Actors: User
Pre-Condition(s):
1. The user is authenticated to use the system
2. The user is authorized to access this route.
Post-Condition(s): 1. The desired action is performed
Main Flow:
1. User clicks on Manage Videos
4. The system progresses with the action.
5. Lastly the system displays a success / error message to the user
Alternative(s): 3.a From the dropdown menu, user chooses to rename the current video
1. The User chooses “Rename”
2. System prompts the user for a new name
3. User enters the new name and clicks apply
4. Use case resume at step 4
Dependency:


3.4.8 Manage playlist
Toggle visibility of a playlist
Rename playlist
Description Allows the user to remove a video from a Playlists
Notes
This function requirements use the same use case as F-16
UC-08: Manage playlist
Description: This use case allows the user to perform some actions (i.e., rename, toggle visibility, add / remove a video) to their Playlist Actors: User
Dependency:
5.
3.b From the dropdown menu, user chooses to add a new video to the current playlist
1. The User chooses “Add a video” 2. System displays list of videos
3. User chooses a video and clicks apply 4. Use case resume at step 4
3.c From the dropdown menu, user chooses to remove a video from the current playlist
1. The User chooses “Remove a video” 2. System displays list of videos
3. User chooses a video and clicks apply 4. Use case resume at step 4


3.4.9 Manage library
Description Allow user to view the playlists they liked from other users.
Notes F-24: Default playlist
Notes
System shall have a default playlist that have all the user’s converted videos.
UC-09: Manage Library
Description: This use case allows the user to add / remove a Playlist from their Library
Actors: User Pre-Condition(s): 1. The user is authenticated to use the system
2. The user is authorized to access this route. Post-Condition(s): 1. The desired action is performed
Main Flow:
1. User clicks on Manage Library
2. System displays dropdown menu consisting of actions
3. User chooses “Add new Playlist”
4. System prompts the user to name the Playlist
5. User enters a name and clicks apply
6. The system progresses with the action
7. Lastly the system displays a success / error message to the user
Alternative(s): 3.a From the dropdown menu, user chooses to remove a Playlist from their library
1. User chooses “Remove a Playlist”
2. System displays list of Playlist
3. User chooses the one to remove and clicks apply
4. System requests confirmation.
5. User confirms
6. Use case resume at step 6
Dependency:


3.4.10 Play videos


3.4.11 Share videos and playlists’ links F-26: Share videos and playlist’ links
Notes UC-11: Share video and playlists’ links Description: Allow user/browser to share videos and playlists links.


3.4.12 Explore public content
F-27: Explore public content
Description Allow users to explore content shared publicly by other users
Notes
UC-12: Explore public content
Description: Allow users to explore content created by other users that have been publicly shared. These publicly shared content can be played, liked, or save by the user.


3.4.13 Search for specific content
F-28: Search for content
Notes
Access public content using link.
UC-13: Search for specific content
Description: Allows user to search through available content using keywords, or accessing them using link. Actors:
Dependency:


Notes UC-14: Save public playlist
Description: Allow users to save public playlist to their library


3.4.15 Like video
Like video
Allow users to like videos and add them to their “Liked” playlist. Notes
Unlike video
Notes
UC-15: Like video
Description:
Allow users to unlike videos and remove them to their “Liked” playlist.
Allow users to like videos and add them to their “Liked” playlist.
Actors: Users

