Apply: Streamlining Application Processes and Enhancing Career Development Graduation Project
Document Details
Uploaded by TidyMood6266
Princess Nourah Bint Abdulrahman University
Alanoud Alsharidah, Hton Banafea, Lara Alsudais, Layan Kamal
Tags
Summary
This graduation project report details the development of "Apply," a platform designed to streamline job application processes and enhance career development. The project explores the evolution of job application methods, software and hardware requirements, and incorporates applicant tracking systems and AI chatbots. The report analyzes user and administrator requirements, designs system architecture and user interfaces, including features such as document management, auto-fill, and personalized portals.
Full Transcript
A black text with arrows Description automatically generated **Apply: Streamlining Application Processes and Enhancing Career Development** Alanoud Alsharidah 443007708 Hton Banafea 443007562 Lara Alsudais 443007328 Layan Kamal 443007496 Supervised by Dr. Fadwa Alrowais A Graduation Project...
A black text with arrows Description automatically generated **Apply: Streamlining Application Processes and Enhancing Career Development** Alanoud Alsharidah 443007708 Hton Banafea 443007562 Lara Alsudais 443007328 Layan Kamal 443007496 Supervised by Dr. Fadwa Alrowais A Graduation Project Report submitted to College of Computer and Information Sciences at PNU In Partial Fulfillment of the Requirements for the Degree of Bachelor of Science in Computer Science CCIS, PNU Riyadh,KSA 1445-1446H **Table of Contents** [Acknowledgements 7](#acknowledgements) [Abstract 8](#abstract) [Keywords 8](#keywords) [**Chapter 1 Introduction** 9](#chapter-1-introduction) [**1.1** **Problem Statement and Significance** 9](#problem-statement-and-significance) [**1.2** **Proposed Solution** 11](#proposed-solution) [**1.3** **Project Domain and Limitations** 13](#project-domain-and-limitations) [**1.4** **Definition of New Terms** 14](#definition-of-new-terms) [**Chapter 2 Background Information and Related Work** 15](#chapter-2-background-information-and-related-work) [**2.1 Background Information** 15](#background-information) [**2.1.1 The Evolution of Job Application Process** 15](#the-evolution-of-job-application-process) [**2.1.2 Software Requirements** 15](#software-requirements) [**2.1.3 Hardware Requirements** 16](#hardware-requirements) [**2.1.4 Algorithms** 16](#algorithms) [**2.1.5 App Extension** 16](#app-extension) [**2.1.6 Applicant Tracking Systems (ATS)** 17](#applicant-tracking-systems-ats) [**2.1.7 Artificial Intelligence Chatbot** 18](#artificial-intelligence-chatbot) [**2.2 Related Work Survey** 19](#related-work-survey) [**2.3 Proposed and Similar Systems Comparison** 26](#proposed-and-similar-systems-comparison) [**Chapter 3: System Analysis** 27](#chapter-3-system-analysis) [**3.1 Requirements Specification** 27](#requirements-specification) [**3.1.1 Interviews** 27](#interviews) [**3.1.2 Surveys** 31](#surveys) [**3.2 Requirements Analysis** 33](#requirements-analysis) [**3.2.1 Interview Analysis** 33](#interview-analysis) [**3.2.2 Survey Analysis** 40](#survey-analysis) [**3.2.3 Functional and Nonfunctional Requirements** 45](#functional-and-nonfunctional-requirements) [**3.2.4 Object Oriented Approach** 50](#object-oriented-approach) [**Chapter 4: System Design** 86](#chapter-4-system-design) [**4.1 System Architecture** 86](#system-architecture) [**4.1.1 Flowchart** 87](#flowchart) [**4.2 User Interface Design** 90](#user-interface-design) [**Chapter 5: References** 109](#chapter-5-references) [**Chapter 6: Appendix** 113](#chapter-6-appendix) [**6.1 Appendix A: Questionnaire Questions** 113](#appendix-a-questionnaire-questions) [**6.2 Appendix B: Approvals** 116](#appendix-b-approvals) [**6.3 Appendix C: Particpant Information Sheet** 118](#appendix-c-particpant-information-sheet) **List of Tables:** [Table 1-1: New Definitions 14](#_Toc183607006) [Table 3- 1: Interview Questions for Job Seekers 29](#_Toc183619394) [Table 3- 2: Interview Questions for Recruiters 30](#_Toc183619395) [Table 3- 3: Survey Questions for Job Seekers 32](#_Toc183619396) [Table 3- 4: Functional Requirements for User 45](#_Toc183619397) [Table 3- 5: Functional Requirements for Administrator 48](#_Toc183619398) [Table 3- 6: Nonfunctional requirements for User and Administrator 49](#_Toc183619399) [Table 3- 7: Register Account Tabular Form 51](#_Toc183619400) [Table 3- 8: Login Tabular Form 52](#_Toc183619401) [Table 3- 9: Choose Interests Tabular Form 53](#_Toc183619402) [Table 3- 10: Browse Personalized Homepage Tabular Form 53](#_Toc183619403) [Table 3- 11: Fill Background Information Tabular Form 54](#_Toc183619404) [Table 3- 12: Upload Documents to Document Manager Tabular Form 54](#_Toc183619405) [Table 3- 13: Edit To-Do List Tabular Form 55](#_Toc183619406) [Table 3- 14: Type Essays in Essay Manager Tabular Form 55](#_Toc183619407) [Table 3- 15: Submit Support Ticket Tabular Form 56](#_Toc183619408) [Table 3- 16: Save Professional Opportunity Tabular Form 56](#_Toc183619409) [Table 3- 17: Interact with Octu-pal Tabular Form 57](#_Toc183619410) [Table 3- 18: Manage Status in Application Tracker Tabular Form 58](#_Toc183619411) [Table 3- 19: Search Professional Opportunities Tabular Form 59](#_Toc183619412) [Table 3- 20: Autofill Application Tabular Form 60](#_Toc183619413) [Table 3- 21: Display Document Manager Tabular Form 61](#_Toc183619414) [Table 3- 22: Retrieve Documents from Document Manager Tabular Form 62](#_Toc183619415) [Table 3- 23: Apply for Professional Opportunity Tabular Form 63](#_Toc183619416) [Table 3- 24: Handle Support Ticket Tabular Form 64](#_Toc183619417) [Table 3- 25: Manage Database Tabular Form 65](#_Toc183619418) [Table 3- 26: Logout Tabular Form 65](#_Toc183619419) **List of Figures:** [Figure 2- 1: Zip Recruiter Page 19](#_Toc183610544) [Figure 2- 2: Indeed Search Page 20](#_Toc183610545) [Figure 2- 3: LinkedIn\'s EasyApply Button 20](#_Toc183610546) [Figure 2- 4: Handshake Page 21](#_Toc183615222) [Figure 2- 5: GlassDoor Page 22](#_Toc183615223) [Figure 2- 6: Jobscan Page 22](#_Toc183615224) [Figure 2- 7: Resumonk Page 23](#_Toc183615225) [Figure 2- 8: Huntr Page 23](#_Toc183615226) [Figure 2- 9: SmartRecruiters Page 24](#_Toc183615227) [Figure 2- 10: CareerBuilder Page 25](#_Toc183615228) [Figure 2- 11: Bayt Page 25](#_Toc183615229) [Figure 2- 12: Systems Comparison 26](#_Toc183615230) [Figure 3- 1: Applications Sent by Gender 40](#_Toc183610998) [Figure 3- 2: Applications Sent per Time Spent 41](#_Toc183615232) [Figure 3- 3: Missed Deadlines per Age Group 42](#_Toc183615233) [Figure 3- 4: Awareness of Available Applications 43](#_Toc183615234) [Figure 3- 5: Interest in Receiving Feedback 43](#_Toc183615235) [Figure 3- 6: Use Case Diagram 50](#_Toc183615236) [Figure 3- 7: Register 66](#_Toc183615237) [Figure 3- 8: Login 67](#_Toc183615238) [Figure 3- 9: Choose Interests with Personalized Homepage 68](#_Toc183615239) [Figure 3- 10: Fill Background Information 69](#_Toc183615240) [Figure 3- 11: Upload Documents to Document Manager 70](#_Toc183615241) [Figure 3- 12: Edit To-Do List 71](#_Toc183615242) [Figure 3- 13: Type Essay in Essay Manager 72](#_Toc183615243) [Figure 3- 14: Submit Support Ticket 73](#_Toc183615244) [Figure 3- 15: Save Professional Opportunity 74](#_Toc183615245) [Figure 3- 16: Interact with Octu-pal 75](#_Toc183615246) [Figure 3- 17: Manage Status in Application Tracker 76](#_Toc183615247) [Figure 3- 18: Search Professional Opportunity 77](#_Toc183615248) [Figure 3- 19: Applies for Professional Opportunity with Autofill 78](#_Toc183615249) [Figure 3- 20: Display and Retrieve Documents from Document Manager 79](#_Toc183615250) [Figure 3- 21: Logout 80](#_Toc183615251) [Figure 3- 22: Login 81](#_Toc183615252) [Figure 3- 23: Manage Database 82](#_Toc183615253) [Figure 3- 24: Handle Support Ticket 83](#_Toc183615254) [Figure 3- 25: Logout 84](#_Toc183615255) [Figure 3- 26: Class Diagram 85](#_Toc183615256) [Figure 4- 1: Layered Architecture 87](#_Toc183703490) [Figure 4- 2: Apply Flowchart 88](#_Toc183703491) [Figure 4- 3: Administrator Flowchart 89](#_Toc183703492) [Figure 4- 4: Register Account Interface 90](#_Toc183703493) [Figure 4- 5: Login Interface 91](#_Toc183703494) [Figure 4- 6: Choose Interests Interface 92](#_Toc183703495) [Figure 4- 7:Personalized Homepage Interface 93](#_Toc183703496) [Figure 4- 8: Search Interface 94](#_Toc183703497) [Figure 4- 9: Sidebar Interface 95](#_Toc183703498) [Figure 4- 10: Background Information Interface 96](#_Toc183703499) [Figure 4- 11: Document Manager Interface 97](#_Toc183703500) [Figure 4- 12: Essay Manager Interface 98](#_Toc183703501) [Figure 4- 13: To-Do List Interface 99](#_Toc183703502) [Figure 4- 14: Submit Support Ticket Interface 100](#_Toc183703503) [Figure 4- 15: Saved Jobs Interface 101](#_Toc183703504) [Figure 4- 16: Octu-pal Interface 102](#_Toc183703505) [Figure 4- 17: Application Tracker Interface 103](#_Toc183703506) [Figure 4- 18: Applying Interface 104](#_Toc183703507) [Figure 4- 19: Logout Interface 105](#_Toc183703508) [Figure 4- 20: Administrator Homepage Interface 106](#_Toc183703509) [Figure 4- 21: Manage Database Interface 107](#_Toc183703510) [Figure 4- 22: Handle Support Ticket Interface 108](#_Toc183703511) [Figure 6- 1: IRB Approval 116](#_Toc183615305) [Figure 6- 2: DSR Approval 117](#_Toc183615306) **List of Symbols and Abbreviations:** **Abbreviations** ------------------- --------------------------------------------------------- ATS Applicant Tracking System CV Curriculum Vitae AI Artificial Intelligence DBMS Database Management System NLP Natural Language Processing KNN K-Nearest Neighbors BM25 Best Match 25 BERT Bidirectional Encoder Representations from Transformers GPT Generative Pre-Trained Transformers DSR Deanship of Scientific Research IRB Institutional Review Board PIS Participant Information Sheet Acknowledgements ---------------- In the name of Allah, the Most Gracious, the Most Merciful, the All-knowing, we begin with immense gratitude to Allah for blessing us with the strength, clarity, and perseverance to complete this paper and bring the vision of Apply to life. We are profoundly thankful to our families and friends, whose steadfast support and encouragement have been the backbone of our journey. Your belief in our potential has inspired us to aim higher every step of the way. Our heartfelt thanks extend to Dr. Fadwa, our dedicated supervisor and mentor, whose guidance and insights have shaped both this paper and our confidence in Apply\'s potential. We are equally grateful to Princess Nourah Bint Abdulrahman University, not only for its invaluable resources but for fostering an environment that nurtures innovation and ambition. We also extend our sincerest gratitude to the individuals who participated in our interviews and surveys. Your time, insights, and experiences have been invaluable in shaping this research and ensuring Apply addresses real-world needs. To ourselves, the authors---Apply wouldn't have come this far without the dedication, effort, and passion we invested every step of the way. We're grateful for the challenges that shaped us and the shared commitment to bringing this vision to life. Apply is not just a project; it is the foundation of a future startup that aims to redefine the application process. This journey would not have been possible without the collective effort, belief, and hard work of everyone involved. Together, we are building something truly remarkable, and for that, we are eternally grateful. *No doubt about it.* Abstract -------- Apply is an innovative platform designed to streamline the application process for jobs, internships, and other professional opportunities. It offers features like document organization, autofill capabilities, personalized recommendations, and application tracking. By simplifying workflows and enhancing efficiency, Apply empowers users to focus on submitting high-quality applications and achieving their professional goals. Keywords -------- Efficient Applying, Autofill, Document Manager, Essay Manager, Application Tracker, Professional Opportunities, Personalized Homepage, Octu-pal, AI Assistant, Accessibility **Chapter 1 Introduction** ========================== This chapter discusses the problem statement, the proposed solution, and its domain and limitations. Additionally, any newly introduced terms are defined to provide clarity and context. **Problem Statement and Significance** -------------------------------------- In the pursuit of enhancing efficiency in daily tasks, one area that remains notably challenging is the application process. The process of managing job and internship applications for students and job seekers is inefficient and often disorganized. Individuals apply to multiple positions simultaneously, requiring them to repeatedly fill out forms, search for their required documents and certifications, upload those documents, and track deadlines across different platforms. The repetitive procedure of filling out job applications can be exceedingly tedious, especially due to answering similar generic questions in different application forms. Having to repeatedly write in the same information regarding work experience, education and skills in many different forms leads to a sense of inefficiency and frustration for applicants \[1\]. Retrieval of documents needed for applications is also a concern for those who apply for internships, jobs, and other career opportunities. Individuals may have their required documents scattered across various storage locations and folders, making it challenging to find all the necessary documents in a timely manner. As time plays a crucial factor in the application process, not finding certain material results in career opportunities being passed by. Applicants additionally encounter struggles when creating compelling resumes and curriculum vitae (CV), particularly in ensuring their application is in compliance with the standards set by Applicant Tracking Systems (ATS). The Applicant Tracking Systems are software systems that aid companies in optimizing the recruitment process such as inspecting resumes and categorizing them based on format, certain keywords, or even criteria \[10\]. Not understanding the current best practices in creating a compelling resume can result in a resume that is poorly formatted, extremely long, or informal. These circumstances diminish the chances of their resumes even being considered by hiring companies. Many mobile and web applications lack essential accessibility features, limiting people with disabilities from fully utilizing them. People with visual impairments, for instance, face accessibility barriers \[4\]. Undoubtedly people with disabilities may miss out on recruitment opportunities posted online if adequate support is unavailable. Moreover, temporary impairments, such as eye strain- commonly known as Digital eye strain, which is a common condition that arises from prolonged intensive use of the eyes \[32\]. These impairments can also hinder effective interactions with digital job applications platforms. A study of 16 participants- comprising blind individuals and those who relied on screen-readers- identified significant accessibility barriers in the online job application process. As a result, the majority of applicants required external assistance, with only 28.1% of users completing their applications independently \[5\]. All the factors stated increase the risk of missed opportunities due to forgotten deadlines or incomplete applications, causing unnecessary stress and reducing the likelihood of securing desirable positions. The present application procedure is inefficient, creating a significant disconnect between the streamlined ideal experience and the actual experience that job seekers face, which further exacerbates the problem. This is where Apply would play a crucial role in streamlining the application process. By automating key tasks, Apply would significantly reduce the time and effort required from applicants, enhancing both efficiency and user experience. **Proposed Solution** --------------------- To address the challenges faced when applying for professional opportunities, \"Apply" is the proposed solution. Apply is an innovative digital application designed to streamline the application process by eliminating the complications of the process and automating repetitive tasks. This will speed up the process, lessen the stress associated with job and internship applications, boost productivity and open the door to new opportunities. Apply provides users with a secure document organization and management feature known as Document Manager, which will preserve CVs, transcripts, and certificates for later retrieval so the user can simply access these documents and use them. Another feature is the Essay Manager streamlines the essay writing process by allowing users to manage multiple drafts and tailor their responses to predefined application prompts provided by Apply or to custom prompt users can manually add. A notable feature of Apply is its autofill tool which uses previously saved user data such as personal information, education, work experience and essays from the Essay Manager to automatically populate application forms with relevant information. This automation will reduce the need for manual entry and repeated tasks, allowing the application process to run more smoothly. These two features will be implemented using an extension. Furthermore, the application will have a personalized homepage that will keep job seekers informed about jobs, internships, and any relevant events that are tailored based on the interests chosen by users while also showcasing the deadlines of applications. In addition, the users can save professional opportunities to apply to later. The platform will include an Application Tracker to help users stay organized by keeping tabs on their job applications by manually tracking the status of their applications(accepted, rejected, in progress, signed contract, interview). With the help of this tracking system individuals can stay on top of their application processes and ensure that actions are taken on time. The user can also add certain tasks they want to achieve in their personalized To-Do list. The AI-powered assistant known as "Octu-pal" is an essential part of Apply, it will identify gaps in users\' resumes, offer suggestions for personal development, proofread application essays, and provide preparation for job interviews. This feature guarantees that individuals submit high-quality applications and successfully present their skills and experiences all while optimizing their resumes according to ATS format. As Apply progresses toward development, accessibility considerations will be a key focus to ensure the app meets WCAG 2.1 standards. "Web Content Accessibility Guidelines (WCAG) 2.1 defines how to make Web content more accessible to people with disabilities" \[31\]. The WCAG also enhances the usability of Web content for older individuals whose abilities may change with age and often improves the overall user experience for all individuals \[31\]. During development, Apple's built-in accessibility tools will be integrated, such as: Voiceover for screen reader support, Dynamic Type for scalable text, and Switch Control for alternative input methods. The accessibility inspector will be used to ensure features like screen reader compatibility, keyboard navigation, and text scalability are fully optimized. These steps will ensure Apply complies with WCAG A and AA standards, with ongoing refinements made to meet AAA-level compliance. By prioritizing these tools, Apply aims to deliver an inclusive and WCAG-compliant user experience. The aim of Apply is to optimize the application procedure, leverage cutting-edge technology and elevate the overall user experience by taking accessibility and ease of use into account. The goals include delivering a comprehensive platform with secure document storage, autofill features, AI-powered assistance and application tracking. By achieving these aims and goals, Apply will provide an efficient inclusive solution to the challenges faced by applicants, ultimately simplifying the application process and enhancing document management while improving the overall user experience. Moreover, Apply supports the goal of Saudi Arabia's 2030 Vision of creating a competitive and competent workforce as well as encouraging equal access to opportunities by streamlining the application process and offering career development tools. **Project Domain and Limitations** ---------------------------------- Apply dedicates itself to the youthful students aspiring to apply to a well-suited job or internship, and to the company employee who is looking for an interesting workshop to broaden their knowledge in a certain field. In short Apply's domain focuses on undergraduates, graduates, the employed, unemployed, and any adult seeking professional opportunities. The aim is to provide the target audiences who range from 15 and above with a sense of efficiency when applying. Apply intertwines between 4 domains: Career development, Recruitment, Productivity tools, and Artificial Intelligence. With the domains seamlessly overlapping they create an understanding of the project and audience, providing Apply with a formula for efficient applying. Apply has two limitations. The first is that Apply is limited to being situated in Saudi Arabia because the sample data was gathered from Saudi citizens, therefore tailored to them. The second is the language setting exclusivity; the application will only support English and Arabic, which follows Apply's target audience's standards. **Definition of New Terms** --------------------------- In Table 1-1 the definition of any new terms that will be used is depicted. []{#_Toc183607006.anchor}**Table** **1-1: New Definitions** **Term** **Definition** --------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Applicant Tracking System (ATS) An applicant tracking system (ATS) is software that enables recruiters and employers to track candidates throughout the recruiting and hiring process \[35\]. Curriculum Vitae (CV) A curriculum vitae (CV) is a document where job seekers highlight their academic and professional accomplishments. It is used to apply for positions that demand a specific set of skills or knowledge \[36\]. Autofill Autofill is a software function that enters previously saved data, such as a user\'s name or email address, into a data field \[37\]. App Extension App extensions enable you to extend custom functionality and content beyond your app, making it available to users as they interact with other apps or the operating system \[38\]. Unified Modeling Language (UML) The Unified Modeling Language (UML) is a general-purpose modeling language. The primary goal of UML is to establish a standard way to visualize how a system has been developed \[39\]. Efficient Applying Efficient Applying is all about Streamlining the application process with automation and smart data management to save time and effort. **Chapter 2 Background Information and Related Work** ===================================================== This chapter discusses the background information needed to understand the proposed solution. The sections about related work and systems comparison are also discussed in this chapter. **2.1 Background Information** ------------------------------ In this section it is discussed how the application process changed over time, software and hardware requirements, and the different algorithms and techniques that will be established for Apply. ### **2.1.1 The Evolution of Job Application Process** The process of Applying for jobs and other opportunities in the last few decades has changed dramatically. In the earlier times, hearing of job openings would be by word of mouth or job seekers going door to door to establishments searching for anyone hiring \[6\]. Later on, paper resumes became the prevalent document to share with employers your skills and experience. As time kept progressing and technology kept advancing, job applications became easier through electronically applying. Applicants could go to the company's website to see if they had any job opportunities available or through job listing websites. Now in today's day and age there are many platforms that help applicants in searching for job opportunities available, help in forming their resumes, and overall making the job search and application process easier. ### **2.1.2 Software Requirements** For the application Apply, Swift and SwiftUI will be used to build the front end. This choice leads to a smooth and responsive user experience with modern, visually appealing elements. For the back end, Node.js will be implemented as it's great at handling multiple requests at the same time and processing data efficiently. By combining Swift and SwiftUI for the front-end with Node.js for the back end, Apply will deliver a fast, reliable app that looks great and performs even better. ### **2.1.3 Hardware Requirements** For users, the hardware requirements for Apply include an iOS operating system, fast internet connection, and a smartphone. For developers, the platform requires a PC with Windows or MacOS operating systems. for development using Swift and Node.js, along with an internet connection. ### **2.1.4 Algorithms** When making recommendations for users, algorithms can be of great help especially when a combination of techniques is used as it will improve accuracy and relevance leading to better job and candidate matches. Algorithms like collaborative filtering are well-known for detecting patterns in user behavior and recommending items based on previous interactions. Item-based collaborative filtering will be utilized in Apply to focus on the link between the opportunities that users have previously interacted with instead of focusing only on comparing users to each other. Content-based filtering on the other hand recommends items to users based on certain characteristics or attributes of items they have previously liked or interacted with. Unlike collaborative filtering, content-based filtering prioritizes item qualities over the user's interactions \[9\]. As users use Apply by browsing, saving, or applying for jobs, the system will learn more about what they like. Utilizing these algorithms for the making of Apply's personalized homepage will provide tailored recommendations based on the user's interests and preferences, thereby improving their job search experience. ### **2.1.5 App Extension** The auto fill functionality of application forms is one of the crucial features of Apply. The form will be filled with the user's information that is stored in the Apply app by an app extension. An app extension is used with iPhone operating system (iOS) to enable applications to provide their functionalities in other platforms. In Apply's case, a Safari app extension will be integrated. The Safari app extension works by allowing for the data that is in the original app to be communicated with Safari. Safari then takes this data and can use it in the current webpage it resides in \[24\]. When the user clicks on the apply button of a job position, the user will get redirected to the external application form website opened on Safari. The extension then can access the user's stored information (personal, education, work experience, essays) which is in Apply and automatically populates the form's fields and streamlines the application process. Apply will integrate a Document Provider Extension, this feature will link Apply\'s Document Manager with the standard iOS file picker, this will allow users to engage more efficiently with their resumes, cover letters, and any other application materials during the job application process. The Document Provider Extension enables users to access documents saved in Apply directly from the file upload fields in external apps. The Document Provider Extension process will begin when a user opens a company\'s application form in a browser or supported app. When asked to upload a file the standard iOS file picker will appear with the Apply Document Provider Extension listed as one of the available options. Users can then browse and choose documents from Apply\'s Document Manager which will automatically be uploaded to the application form without having to switch apps \[25\]. This will ensure that users can update and access their documents anytime and anywhere, streamlining the job application process. ### **2.1.6 Applicant Tracking Systems (ATS)** With time passing by and things becoming more electronic based, the ATS has been introduced to resumes in the recruiting process. Application tracking systems (ATS) format will impact how a company will analyze resumes. Apply's application's AI assistant, Octu-pal, allows users to improve their resumes in accordance with current ATS standards. ATS is defined to be software that\'s made to assist human resource managers in the hiring, filtering, screening, and organization of applicants. The objective of the ATS is to save time by streamlining many aspects of the recruitment process. Applicant tracking and recruitment rely on keywords and keyword-matching algorithms. Key-word matching algorithms help to identify a more accurate candidate pool that fits into the job requirements. The front end works of the ATS usually consist of a user-friendly interface for seamless interaction, whilst at the back end there is a robust database management system (DBMS) in the works. These two main components are what form the reliable application tracking system. Some algorithms are put in place to increase efficiency and reduce the workload on human resource management. For example, \"candidate screening algorithms utilize natural language processing (NLP) techniques\" \[8\]. Techniques like NLP provide us with information like previous recruiting data. An algorithm used in the ATS is K-Nearest Neighbors (KNN), considered one of the simplest machine learning algorithms used for classification and regression, making decisions based on data given. KNN can help to match candidates to the job description by considering the job description and the candidates CV. KNN also can take into consideration any trends within the organizations successful recruiting data, the algorithm will correlate this information to seek out candidates whose qualifications best suit the current trends during the selection process. ### **2.1.7 Artificial Intelligence Chatbot** According to the abstract of Zhao's study (2024), the group of individuals that utilized AI- enhanced tools for refining grammar, vocabulary and sentence structure showed notably greater advancements in writing proficiency compared to other groups \[1\]. Chatbots are used to improve human talents, allowing people to foster creativity and support corrective actions \[2\]. Similarly, Apply will integrate an AI assistant, Octu-pal, a chatbot that is specifically designed to enhance job seeker's skills by providing personalized guidance. Regarding the development of Octu-pal, Apply will focus on using OpenAI models due to their enhanced performance, simplicity, and ability to undertake complex NLP tasks such as career counseling and essay proofreading. A hybrid approach is also under consideration, combining OpenAI\'s models with Google AI\'s model Bert. By utilizing Bidirectional Encoder Representations from Transformers (BERT)-based systems for repetitive and privacy-focused tasks, such as resume optimization, Apply can ensure scalability and cost-effectiveness. Transformer-based models like OpenAI\'s Generative Pre-Trained Transformers (GPT) and BERT can be considered well-suited for achieving Octu-pals\' objectives. Key objectives such as proof-reading and analyzing resumes to provide feedback, can be efficiently handled by these models which lead to excelling in handling core functions. These models are excellent at comprehending semantics and context, making them ideal for enhancing user-submitted content. For the resume recommendations feature, the primary algorithm will be BM25. BM25 is an effective information retrieval model that compares resumes with job descriptions to identify potential gaps in qualifications. By implementing Best Match 25 (BM25), resumes will be optimized to align with the criteria of applicant tracking systems (ATS), thereby increasing the likelihood of successful matches and landing of professional opportunities. **2.2 Related Work Survey** --------------------------- In this section the different systems that are related to Apply will be discussed while stating each one's respective advantages and disadvantages. - **Zip Recruiter** Zip Recruiter as seen in Figure 2-1 is an online job searching application that applies to job seekers looking for jobs and employers looking to hire candidates. It utilizes artificial intelligence to help employers find the perfect candidates that match the qualifications needed. A disadvantage of this application is the need for employers to continually pay for their job listings to remain on the site, as job postings only remain for 30 days on the platform \[26\]. ![A screenshot of a computer Description automatically generated](media/image4.png) []{#_Toc183610544.anchor}**Figure 2-** **1: Zip Recruiter Page** - **Indeed** Indeed is a job board platform that provides a vast amount of job listings from various companies as seen in Figure 2-2. Indeed permits users to see reviews about companies and gives enlightenment on salaries for open positions \[27\]. Due to the extensive amount of job listings, it becomes difficult to find quality positions and can result in some job postings being inauthentic which can result in scams. A screenshot of a computer Description automatically generated []{#_Toc183610545.anchor}**Figure 2-** **2: Indeed Search Page** - **LinkedIn's Easy Apply** LinkedIn's EasyApply as shown in Figure 2-3, is an add-on feature to the already up and running business social networking platform. LinkedIn allows individuals to display all their achievements and previous work while also connecting with others to expand their social network \[28\]. EasyApply comes into action by allowing job seekers to apply for companies by the press of a button. It does so by auto filling certain information that is already located on the user's LinkedIn profile. The disadvantage of this platform is the user's inability to customize their application when applying for a certain job. Since the application is being directly taken from the user's LinkedIn profile, users can not customize and tailor their applications for certain jobs. This leads to focusing on quantity over quality of applications which does not allow applicants to stand out. ![A screenshot of a chat Description automatically generated](media/image6.png) []{#_Toc183610546.anchor}**Figure 2-** **3: LinkedIn\'s EasyApply Button** - **Handshake** Handshake is a platform that connects college students and graduates with companies seeking to hire promising candidates from their prospective universities as seen in Figure 2-4. It is tailored to allow companies to connect with universities and promote their company at career events on campus \[29\]. The disadvantage of Handshake is its limited access as it is only for users from universities and institutions that choose to partner up with the platform. My Saved Jobs in Handshake -- Handshake Help Center []{#_Toc183615222.anchor}**Figure 2-** **4: Handshake Page** - **GlassDoor** GlassDoor as seen shown in Figure 2-5, is a job listing system that provides detailed reviews of a company from salary and benefits to personal experiences of employees in the company. GlassDoor appeals to not only job seekers applying but also employees who want to share their experiences in their company and employers striving to create and maintain their company\'s reputation. Unfortunately, GlassDoor does not provide any form of verification when it comes to those who write reviews which can result in not all reviews being true. Which in result also limits the employers\' control and inability to address reviews that may be untrue and harmful to the company's reputation \[30\]. ![](media/image8.png) []{#_Toc183615223.anchor}**Figure 2-** **5: GlassDoor Page** - **Jobscan** []{#_Toc183615224.anchor}**Figure 2-** **6: Jobscan Page** - **Resumonk** []{#_Toc183615225.anchor}**Figure 2-** **7: Resumonk Page** - **Huntr** []{#_Toc183615226.anchor}**Figure 2-** **8: Huntr Page** - **SmartRecruiters** []{#_Toc183615227.anchor}**Figure 2-** **9: SmartRecruiters Page** - **CareerBuilder** ![](media/image13.png) []{#_Toc183615228.anchor}**Figure 2-** **10: CareerBuilder Page** - **Bayt** []{#_Toc183615229.anchor}**Figure 2-** **11: Bayt Page** **2.3 Proposed and Similar Systems Comparison** ----------------------------------------------- The comparison seen in Figure 2-12 displays the features of Apply and compares them to those of other relevant systems, emphasizing Apply\'s unique characteristics while outlining similarities and differences with other platforms. **Chapter 3: System Analysis** ============================== This chapter outlines the specifications for how the requirements for the application were chosen and the analysis of those requirements. The diagrams and methods for object-oriented approach are also discussed. **3.1 Requirements Specification** ---------------------------------- Two methods for data collection were used: interviews and surveys. This section delves into the reasoning behind choosing each method, the target audience, the questions proposed for the target audience with the perspective objectives for each question. ### **3.1.1 Interviews** In this paper the term interview is defined as a "familiar social encounter in which people interact by asking and answering questions. They are, however, a very particular type of conversation, guided by the researcher and used for specific ends" \[11\]. For the development of the application, interviews were chosen as one of the methods for gathering information. Interviews are a great method of collecting qualitative data since they allow for one-by-one communication with the participant, to efficiently gain details, rich descriptions of their experiences in the field of applying and recruiting. The interview questions highlight the main objective of enhancing user experience, so it is vital to communicate virtually with the target audience; interviews were the most fit method for portraying Apply's objectives. The interview sample is eight individuals who belong to one of the two predetermined categories. They range from university students from different majors, recent graduates, recruiters from various organization types with varying business ranking in terms of maturity, and any adult seeking a job. The interview questions are designated around two different groups: job seekers and recruiters. Table 3-1 refers to the questions for job seekers, which are seven open-ended questions. Their objectives mainly regard how candidates in the sample operate the current available tools for job seeking, what improvements they desire and their opinions on some of the features Apply will offer. Further information about questionnaire questions and the link are shown in Appendix A. Institutional Review Board (IRB) and Deanship of Scientific Research (DSR) approval for the questions is shown in Appendix B. Participant information sheet (PIS) is shown in Appendix C. []{#_Toc183619394.anchor}**Table 3-** **1: Interview Questions for Job Seekers** **Question** **Question Type** **Question Objective** ------------------------------------------------------------------------------------------- ------------------- ------------------------------------------------------------------------------------------------------- 1\. Can you walk me through your typical approach to filling out and Open ended To understand the candidate\'s process and strategies for completing job applications submitting job applications? 2\. What are the biggest challenges you face when applying for jobs Open ended To gain insights into the application process and its obstacles. online? 3\. Have you faced any frustrations with filling out multiple job Open ended To affirm the need for an Autofill feature. application forms that ask for similar information? If yes, give examples. 4\. What tools or methods do you currently use to keep track of deadlines Open ended To gain insight on what tools and methods candidates rely on. and requirements for job applications? 5\. How do you typically organize and store the documents needed for your Open ended To understand how applicants store and organize their documents. job applications? 6\. What specific features or functionalities do you believe would make Open ended To gain insight on what applicants would find helpful to them regarding job search and organization. your job search more efficient and organized? 7. If Apply has an AI assistant to offer its help, how would you like it to assist you? Open ended To develop an AI assistant that lives up to applicants\' standards. Table 3-2 refers to the second group of questions for recruiters. There are five questions which are all open-ended. Their objectives focus on gathering information regarding how CVs are assessed in their organizations and the tools used in the recruiting process. []{#_Toc183619395.anchor}**Table 3-** **2: Interview Questions for Recruiters** **Question** **Question Type** **Question Objective** ------------------------------------------------------------------------ ------------------- --------------------------------------------------------------------------------------------------------------------------- 1\. What challenges do you face when reviewing and processing a high Open ended To gain insight on how recruiters process applications. volume of job applications? 2\. How do you currently assess the quality and suitability of resumes Open ended To see if recruiters use tools in application reviewing such as ATS. and application materials submitted by candidates, and if you use any tools state them? 3\. How do you currently manage and track job applications from Open ended To study how companies manage applicants\' data across various application platforms during different application stages. candidates across various platforms in different application stages? 4\. What strategies do you propose for individuals to overcome the Open ended To understand what employers value to allow applicants\' resumes to stand out, to help in Octu-pal development. challenges in creating compelling resumes that are ATS-compliant? 5\. How important is accessibility in job application platforms, Open ended To be informed about what improvements can be made to platforms to be more inclusive and user-friendly. especially for individuals with disabilities, and how can these platforms be improved in this regard? ### **3.1.2 Surveys** Surveys are a way to collect information from a group of people by asking them questions. Surveys can be done using a variety of methods, such as paper and pencil, online questionnaires, phone calls and in-person interviews \[16\]. An online survey is a series of structured questions that an individual answers over the internet, typically by filling out a form and it is a more natural way to communicate with the responders \[23\]. The main advantage of survey research is that it gives you access to original, first-hand data that you can gather and evaluate to meet your goals, and it allows for large data collection in an efficient and structured way. Online surveys were chosen as one of the main data gathering methods with the utilization of Google Forms because it is simple to use, customizable and allows for automated organization of responses making it a perfect tool for handling the data that was gathered. Due to this method's reachability, it was chosen. It will reach a huge audience in a short amount of time at minimal cost, while also allowing the participants to complete the survey during their free time, which will increase response rates. As shown in Table 3-3, most of the survey questions were closed-ended, which allowed clear and accurate responses from the participants. The targeted audience consists of those seeking jobs, internships, or professional opportunities which will ensure that the information acquired will be of relevancy to Apply\'s objectives. Refer to Appendix A for further details such as the survey link, and any ethical approvals in Appendix B. []{#_Toc183619396.anchor}**Table 3-** **3: Survey Questions for Job Seekers** **Question** **Question Type** **Question Objective** ------------------------------------------------------------------------------- --------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------- 1\. What is your gender? Closed To understand the user demographic and how diverse it is. 2\. How old are you? Closed To identify the age ranges of our potential users. 3\. What is your current level of education or the highest degree you Closed To understand the way different users with different educational backgrounds may need certain features that are relevant to them. have completed? 4\. On average, how many job or internship applications do you submit Closed To gain a user\'s perspective on the application process and how challenging it may be. before successfully securing a position? 5\. On average, how much time do you typically spend completing a job or Closed To understand how time consuming the application process may be for users. an internship online application? 6\. Are you aware of any applications that can help you apply to Closed with a follow up open ended question To identify the most widely used application in our field. jobs/opportunities online? If yes, please specify which applications. 7\. Do you find the online application process time consuming? If yes, Closed with a follow up open ended question To determine whether there is a timing issue in the application process. what part is time consuming? 8. Do you find it difficult to find appropriate jobs for your set of skills? Closed To demonstrate the need for a personalized job recommendation system. 9\. Do you find it difficult to find documentation needed for Closed To emphasize the importance of the document management feature. applications? (e.g. certifications, cover letters, resumes). 10\. Have you ever missed a deadline when applying for any opportunity? Closed To determine if individuals face challenges in meeting deadlines. 11\. Would you find it helpful to get feedback on your resume/application Closed To demonstrate the need for having an AI coach. materials? 12\. What features do you think would help you in the application Open ended To identify the features that users genuinely require and want. process? **3.2 Requirements Analysis** ----------------------------- This section highlights the results of the interviews and surveys conducted. Then the functional and nonfunctional requirements were discussed and gathered after analysis of Apply. ### **3.2.1 Interview Analysis** Both recruiters and job seekers interviews were analyzed and maintained the anonymity of the interviewees, participants were labeled with letters (W, X, Y, Z, etc.). Thematic analysis was performed for both recruiters and job seekers interview responses. As stated by Stephanie Riger, thematic analysis is "a method for analyzing qualitative data that involves searching for recurring ideas (referred to as themes) in a data set" \[15\]. #### **3.2.1.1 Recruiters ** The total number of interviewed recruiters is four with each recruiter offering diverse points of view for every question asked. **Theme 1**: Challenges in Reviewing and Processing Applications All the recruiters interviewed had different perspectives when it came to the challenges they faced when reviewing and processing applications. Person W found that an excessive amount of details in the CV makes it challenging to quickly spot certain skills, while on the other hand Person Y found that some applicants do not write enough details on their CV to showcase their previous work experience as they said, "the applicant can be very suitable but their CV was not well formed." Person X highlighted the challenge in having to know the skills needed for every position that was being hired for the whole team. Person Z stated the challenge was in consistency and fairness when it came to reviewing applications, as early applications may be seen more thoroughly than those seen later on in the day. These responses described the different challenges posed to recruiters, which emphasizes the need for tools that can help streamline the reviewing and processing of applications. This information will help in the future work of Apply as it will appeal to the recruiters' side and provide them with tools to ensure accurate and fair resume analysis. **Theme 2:** Methods of Assessing Candidate Suitability As some recruiters have the help of technical tools for assessment of applications, others do not. Person X and Person Y follow a multi-stage process beginning with initial filtration of CVs with the support of tools such as ATS. This allows recruiters to filter their search for specific categories or keywords based on specific criteria like skills or experience they may want to find within a candidate's CVs without the hassle of having to review the entire CV themselves manually. After the initial filtration comes an online assessment which typically differs depending on the position. For example, a candidate applying for a finance position may face a different type of assessment than one applying for a technical position. Once the candidates pass all these stages, they finally reach the in-person interview with the recruiters to assess their suitability to the establishment. In contrast, Person W and Person Z manually review candidate CVs, describing the process as lengthy and exhausting due to the lack of technological support. These responses showcase the need and value of technological tools to help in the application assessment process. For the future work of Apply, these responses will be very important in highlighting the need for a unified tool to reduce manual effort and streamline the applicant recruitment process. **Theme 3:** Managing and Tracking Applications Across Platforms One issue that the recruiters had in common was keeping track of applications from various platforms. Spreadsheets are used by Person Z, who characterizes the procedure as efficient but time-consuming. Person X and Person Y, on the other hand, profit from more sophisticated systems like Oracle and Lever Hire, which simplify the application tracking process from start to finish. Although they have differing ways of tracking, the recruiters agreed that balancing efficiency with organization is crucial, and there is a shared desire for more integrated tools to simplify and streamline the process. **Theme 4:** Recommendations for ATS-Compliant Resumes Every recruiter stressed the importance of ATS-compliant resumes. They recommended using formal, minimalistic designs and aligning content closely with job descriptions. For instance, Person W suggested avoiding excessive design elements, and Person X advised candidates to search for the job description to ensure relevant keywords that apply to them are included in their CV. Person Y highlighted the value of brief and concise CVs, particularly for applicants with less experience. The responses highlight how Octu-pal would help applicants in enhancing their resumes to be more ATS compliant. By giving feedback on structure and design, Octu-pal would guide users on improving their resumes and passing the initial filtration stage. **Theme 5:** Importance of Accessibility in Job Application Platforms There was a general consensus for the need for accessibility in job application platforms as most did not recall any specific tools currently being used. Person Y noted that large organizations often provide support options for visually impaired applicants, while Person Z and Person X recommended a read-out-loud and text-to-speech features. These responses reflect the importance of accessibility tools to provide inclusivity for all participants. #### **3.2.1.2 Job Seekers** Four job seekers were interviewed overall, and each one provided a variety of viewpoints in response to each topic. **Theme 1:** Typical Approach for Filling Out and Submitting Applications The job seekers interviewed have described different ways of completing applications. Person X usually starts by filling out general information, uploading transcripts, then responding to the long essay questions which they find time-consuming. Person Y uses various approaches depending on the organization they want to apply to. Additionally, they mentioned how some companies require lengthy answers while others rely on LinkedIn's "Easy Apply". Person Z starts by skimming the applications to understand the requirements then reaches out to individuals for advice before personalizing their response. Person W prioritizes discovering opportunities as they find it the most difficult part of the application process, then they fill out necessary information and documents. This implies that the process of filling out job applications varies widely and it's clear that the process should be streamlined to save applicants time and effort. **Theme 2:** Challenges Encountered when Applying for Jobs Online Uncertainty about what each application demands is a common issue for job seekers as many participants conveyed dissatisfaction when they're faced with unexpected requirements such as video submissions or long essay questions. For instance, Person X expressed frustration at the lack of clarity in the application time schedule and requirements as they often discovered additional steps like video submissions only at the end. Person Y expressed similar concerns, mentioning how long applications may discourage qualified candidates "many qualified candidates will turn away the job offer due to the length of the application". Person Z finds that recording videos and writing essays feels forced and doesn't reflect on their true self and prefers interviews which feel more personal. Person W highlighted the difficulty of managing deadlines, lack of a standard application format and the absence of clear program descriptions resulted in wasted time and effort. This reveals that job seekers are frequently overwhelmed by unclear or lengthy application requirements which makes the process frustrating and discouraging. **Theme 3:** Repetitive Information in Application Forms Multiple job seekers found that repeatedly filling in the same information across applications to be a source of aggravation. Both Person X and Person W found it tedious to repeatedly provide the same information and suggested an autofill feature to save time. Person Y was similarly annoyed by forms that asked for experience and certifications that are already included in their CV. In contrast, Person Z doesn't mind the repeated information requests as they find it convenient since they have the data on hand ready to use. These suggestions highlight the importance of an autofill feature to minimize the need to repeatedly enter the same details. **Theme 4:** Methods for Tracking Deadlines and Application Requirements Job seekers mentioned various ways to keep track of deadlines and requirements, for instance person X relies on the notes app to jot down important dates and requirements to manually keep track of them; "this is honestly a negative approach, and I have missed a lot of programs from this methodology". Person Y doesn't use any specific tools whereas Person Z uses the reminders app on her phone and updates from social media channels such as Telegram and X. On the other hand, Person W chooses to rely solely on memory rather than using any tracking tool. These responses indicate the importance of Apply\'s To-Do list for tasks required by users to help them plan what they need to complete for their applications. This also highlights the importance of having the deadlines for jobs or professional opportunity displayed while the user is applying. **Theme 5:** Organization and Storage of Application Documents The majority of job seekers relied on manually uploading and retrieving files on the standard file storing application on their devices (for instance, the Files application on iOS and MacOS systems), yet each had a unique way of organizing their documents. Person Y used a color-coded folder on their computer to organize application-required documents by type-category, such as CVs, achievements, and certificates. Similarly, Person Z simply organized their documents in desktop folders, creating various CV versions and subfolders for each achievement. Person W preferred to use their iPhone's Files app for the easiest access and Notability to store and access her application documents. Moreover, Person X utilized user's LinkedIn profile work experience fields to easily copy and paste data and export supporting documents. Job seekers relied on manually uploading and retrieving files tools, yet each organized their documents in distinct ways; therefore, these features can be seen in Apply's Document Manager feature, where the users can store their documents and add custom files for categories, for easy storing and retrieving. **Theme 6:** Desired Features to Improve the Application Process Job seekers identified various features that would enhance their application process. Person X expressed the wish for automated solutions to handle the filing of repetitive fields, especially for essay responses. Person Y favored LinkedIn's \"Easy Apply\" as a time-saver but expressed a desire for greater consistency in its availability across companies' application forms. Person Z envisioned a centralized platform listing all job openings to streamline her search. Moreover, Person W wished for a customized homepage to filter job opportunities by interest and deadlines; also suggested features like favoriting jobs, receiving deadline reminders, and a detailed job description. Job Seekers proposed a range of ideas that would enhance Apply, that concluded Apply's role in not only simplifying the application process, but also the job seeking process; that would be achieved by Apply's personalized homepage. Person X emphasized the benefit of having fields filled in which emphasized the benefit of Apply's autofill feature. **Theme 7:** Preferred Features for an AI Assistant in Job Applications All job seekers saw potential benefits in an AI assistant to support their job applications. Person X desired an assistant that could draft essays based on his work experience and aspirations Person Y expressed a wish for an AI chrome extension that auto fills application fields using information from LinkedIn or entered manually, and to store her documents. The AI assistant could also recommend suitable job applications. Person Y mentioned how easy it would be if the job application could be recommended and filled out by the AI assistant. For Person Z, they suggested an AI assistant that could help them tailor their CV for each application and suggest interview preparation tips that could highlight what each employer is looking for. Person W, meanwhile, suggested an AI assistant that could not only remind them of deadlines but also recommend relevant job opportunities based on their interest. Furthermore, offers a way to connect with HR personnel, perhaps to help with questions or any concerns. These responses were taken into consideration and crafted to their best execution version. The recommendation of relevant job opportunities is showcased on Apply's personalized homepage, tailored to each user based on their chosen interests. Moreover, regarding the suggested autofill function by the AI assistant, Apply deploys the autofill feature by its extension. Regarding the suggestions proposed by Person W, Apply's Application Tracker will send the user deadline reminders based on the selected application progress status. Secondly, Apply will have a "connect with Alumni or representative" function planned in future work as it gains popularity and user base. Overall, Job Seekers expressed enthusiasm for an AI assistant to streamline the application process, highlighting the need for Octu-pal and its functions. ### **3.2.2 Survey Analysis** A survey was conducted on sample data of about 400 people, reflecting diverse viewpoints and experiences in the online application process and the potential impact of Apply. Outlier data has been removed from the analysis to ensure reliability in data. The following points highlight key conclusions drawn from the data collected that help shape Apply to become what it is today. Figure 3-1 showcases the relationship between the average number of applications sent per gender before successfully landing a position. The data highlights the potential disparities in job-seeking experience based on gender. The final sample consisted of 180 respondents (148 females and 32 males). While refining the data aimed for ensuring consistency in representing the data, the gender imbalance proposed a limitation that could skew results. Despite this limitation, this chart showcases that men in Riyadh on average experience a more competitive job seeking process. This insight underscores the potential of a streamlining application like Apply that offers features like personalized job recommendations and AI-driven resume analysis; to enhance and optimize the application process. ![A graph with different colored squares Description automatically generated](media/image16.png) []{#_Toc183610998.anchor}**Figure 3-** **1: Applications Sent by Gender** As inferred from Figure 3-2, there is a significant number of users who sent ten or more job/internship applications and worked on each one for less than an hour. The quick submission of applications indicates the possibility that users are hurrying through the application process, which could result in formatting mistakes or a lack of attention to detail. This pattern draws attention to the potential trade-off between efficiency and effectiveness in the application process. Users might be compromising quality for speed, which could lead to applications that seem rushed and have lower quality, which could hurt their chances of getting a job offer. Apply addresses this by providing features such as autofill and Document Management, which will allow users to streamline their application process and maintain a high standard in quality. A graph of different colored bars Description automatically generated []{#_Toc183615232.anchor}**Figure 3-** **2: Applications Sent per Time Spent** According to the chart in Figure 3-3, the age group of 26--35-year-olds reported the most in terms of missing deadlines compared with the other age groups. This pattern might point to issues with time management or juggling application deadlines with other obligations, which Apply can assist with. Features like deadline reminders and tracking tasks with the To-Do lists are intended to help users in this age range stay organized and meet deadlines more successfully. ![](media/image18.png) []{#_Toc183615233.anchor}**Figure 3-** **3: Missed Deadlines per Age Group** The chart in Figure 3-4 shows that almost half of respondents are not aware of any platforms that can help them when it comes to the application process. This indicates a significant gap in awareness of tools that Apply can address by establishing itself as an extensive and intuitive platform for those that are unaware of current resources available. The respondents who were aware frequently mentioned platforms like LinkedIn and Bayt. Although these platforms are considerably known by the majority, there is still an opportunity for a dedicated application system such as Apply. Apply\'s distinctive features such as autofill, AI assistance with Octu-pal, and personalized job recommendations could set it apart from the competition by tackling certain issues that general job platforms might miss. A pie chart with text Description automatically generated []{#_Toc183615234.anchor}**Figure 3-** **4: Awareness of Available Applications** Figure 3-5 highlights that a significant percentage of 92% job seekers expressed interest in receiving feedback on their application material, such as resumes, cover letters, and other required documents. The data suggests that the majority of job seekers may feel uncertain about the quality of their application, hence, wish for personalized professional feedback. This reinforces the importance of Apply's AI driven resume and essay analysis with Octu-pal. ![](media/image20.png) []{#_Toc183615235.anchor}**Figure 3-** **5: Interest in Receiving Feedback** Although the time required to submit an application varies among respondents, many indicated that filling out information repeatedly, finding relevant job opportunities, and customizing their CVs are the most time-consuming parts in the application process. This feedback indicates that users encounter challenges in preparation and personalization of their applications, which leads to frustrations and inefficiencies. Apply addresses these issues with features such as the autofill repeated user information, personalized job recommendation catered to user's interests, and Octu-pal the AI assistant to provide user help in things such as feedback on their resume. By addressing these issues, Apply intends to improve the overall effectiveness by streamlining the application process, allowing candidates to focus more on the quality of their applications without wasting time. Our survey respondent of job seekers highlighted a variety of features they believe would aid them in job application processes. Common themes emerged, such as feedback on resumes that could be AI driven, clarity in job requirements, and speed and ease of the application process. Moreover, automatic form-filling, along with interview preparation tips and document management. These various sets of preferences emphasize the need for an adaptable application like Apply. ### **3.2.3 Functional and Nonfunctional Requirements** The functional and nonfunctional requirements were divided according to user and system requirements, ensuring that user requirements address both the user and administrator. Table 3-4 depicts the user and system functional requirements that are applicable for all users that will be using the Apply application. []{#_Toc183619397.anchor}**Table 3-** **4: Functional Requirements for User** +-----------------------+-----------------------+-----------------------+ | **Functional | | | | Requirements** | | | +=======================+=======================+=======================+ | **Function** | **User Requirements** | **System | | | | Requirements** | +-----------------------+-----------------------+-----------------------+ | **User Registration | - Users should be | - The system should | | (Login and Logout)** | able to register | enable secure | | | and create an | registration and | | | account using | login using | | | their email and | email, phone | | | phone number. | numbers, and | | | | passwords. | | | - Users should be | | | | able to log in | - The system should | | | securely using | provide a logout | | | their email and | button located in | | | password. | the sidebar for | | | | users. | | | - Users should be | | | | able to log out | - The system should | | | of the system by | display a | | | clicking on the | confirmation | | | logout button | prompt for users | | | that is located | to confirm their | | | in the sidebar. | logout action. | | | | | | | - Users should be | - The system should | | | able to confirm | terminate the | | | their logging out | user session upon | | | process. | logout | | | | confirmation. | +-----------------------+-----------------------+-----------------------+ | **Choose Interests** | - Users should | - The system should | | | choose interests | prompt the user | | | after registering | to select their | | | for an account. | interests after | | | | successfully | | | | registering for | | | | an account. | | | | | | | | - The system should | | | | allow the user to | | | | select multiple | | | | interests from | | | | those provided. | | | | | | | | - The system should | | | | save the selected | | | | interests to | | | | generate the | | | | user's | | | | personalized | | | | homepage. | +-----------------------+-----------------------+-----------------------+ | **Personalized Job/ | - Users should see | - The system should | | Professional | job or | generate | | Opportunity | opportunity | personalized | | Recommendations | recommendations | recommendations | | (Personalized | that match the | for job | | Homepage)** | interests they | opportunities. | | | chose after | | | | registration. | | +-----------------------+-----------------------+-----------------------+ | **Search Professional | - Users should be | - The system should | | Opportunity** | able to search by | allow users to | | | entering search | search by | | | criteria keywords | entering | | | such as job title | keywords, such as | | | or company name | job title or | | | in the search | company name, in | | | bar. | the search bar. | | | | | | | - Users should be | - The system should | | | able to apply | provide filter | | | filters to refine | options, | | | the search | including | | | results such as | location, work | | | location, work | type, and job | | | type, job level, | level, to refine | | | etc. | search results. | | | | | | | | - The system should | | | | display search | | | | results matching | | | | the entered | | | | keywords and | | | | filters. | +-----------------------+-----------------------+-----------------------+ | **Background | - Users should be | - The system should | | Information** | able to enter | prompt users to | | | personal, | enter personal, | | | educational, and | education, and | | | work experience | work history | | | information for | information. | | | future use by the | | | | extension. | - The system should | | | | save this | | | | information for | | | | future use with | | | | the autofill | | | | feature. | +-----------------------+-----------------------+-----------------------+ | **Essay Manager** | - Users should type | - The system should | | | their essays | provide users | | | according to the | with predefined | | | most common | essay prompts to | | | prompts. | choose from and | | | | to write their | | | - Users should be | essays. | | | able to manually | | | | add their own | - The system should | | | essay prompts. | allow users to | | | | manually add | | | | custom essay | | | | prompts that are | | | | not included in | | | | the predefined | | | | essay prompts. | | | | | | | | - The system should | | | | save this | | | | information for | | | | future use with | | | | the autofill | | | | feature. | +-----------------------+-----------------------+-----------------------+ | **Document Manager** | - Users should be | - The system should | | | able to create | allow the user to | | | folders and label | create folders | | | them to upload | with labels to | | | documents (e.g., | organize | | | resumes, | documents in | | | certificates) in | them. | | | them. | | | | | - The system should | | | - Users should be | support document | | | able to retrieve | upload and | | | documents from | management, | | | Document Manager | including | | | when in the | multiple file | | | application | formats (PDF, | | | form. | DOCX, etc.) | +-----------------------+-----------------------+-----------------------+ | **To-Do List** | - Users should be | - The system should | | | able to manually | allow users to | | | add, edit, and | manually add, | | | delete tasks. | edit, and delete | | | | tasks. | | | | | | | | - The system should | | | | display the To-Do | | | | list in an | | | | organized format. | +-----------------------+-----------------------+-----------------------+ | **AI Assistant | - Users should | - The system should | | (Octu-Pal)** | receive feedback | provide an AI | | | from the AI | assistant | | | assistant to | (Octu-pal) that | | | improve their | offers user | | | resumes. | feedback on their | | | | resumes to | | | - Users should | improve | | | receive interview | formatting and | | | preparation from | content | | | the AI | relevance. | | | assistant. | | | | | - The system should | | | - Users should have | enable users to | | | their essays | receive interview | | | proofread by the | preparation tips | | | AI assistant. | and potential | | | | questions the | | | | user may receive | | | | during their job | | | | interview. | | | | | | | | - The system should | | | | allow users to | | | | submit essays for | | | | proofreading, | | | | providing | | | | feedback on | | | | grammar, | | | | spelling, and | | | | overall | | | | structure. | +-----------------------+-----------------------+-----------------------+ | **Application | - Users should be | - The system should | | Tracker** | able to choose | automatically add | | | and update the | a job or | | | status (Accepted, | professional | | | Rejected, In | opportunity | | | Progress, Signed | application to | | | Contract, | the Application | | | Interview) of | Tracker when the | | | their | user clicks the | | | applications. | "Apply" button | | | | for a | | | | professional | | | | opportunity. | +-----------------------+-----------------------+-----------------------+ | **Save Professional | - Users should be | - The system should | | Opportunities** | able to save jobs | provide a save | | | and other | icon for users to | | | professional | be able to easily | | | opportunities in | distinguish its | | | the personalized | functionality as | | | homepage and in | a "save" option. | | | search results. | | | | | - The system should | | | - Users should be | allow users to | | | able to access | save job or | | | their saved | professional | | | professional | opportunities | | | opportunities and | from the search | | | apply to them | results and the | | | when wanted. | personalized | | | | homepage. | | | | | | | | - The system should | | | | allow users to | | | | view their saved | | | | job and | | | | professional | | | | opportunities in | | | | the Saved Jobs | | | | section located | | | | in the bottom | | | | bar. | +-----------------------+-----------------------+-----------------------+ | **Autofill Feature** | - Users should be | - The system should | | | able to autofill | autofill forms | | | application forms | based on stored | | | via the extension | user data | | | using the data | (Background | | | they previously | Information, | | | provided in | Essay Manager) | | | Background | for applications | | | Information and | with different | | | Essay Manager. | companies. | +-----------------------+-----------------------+-----------------------+ | **Support Ticket** | - Users should be | - The system should | | | able to submit | provide users | | | support tickets | with an option to | | | in case they face | submit a support | | | any issues in the | ticket from | | | application. | within the | | | | application | | | | itself. | | | | | | | | - The system should | | | | allow users to | | | | enter information | | | | such as their | | | | email, the issue | | | | they face, and | | | | relevant files | | | | such as | | | | screenshots of | | | | the issue. | | | | | | | | - The system should | | | | display the | | | | ticket ID number | | | | after the user | | | | submits their | | | | support ticket. | +-----------------------+-----------------------+-----------------------+ Table 3-5 shows the user and system functional requirements for the administrators that will be handling the Apply application. []{#_Toc183619398.anchor}**Table 3-** **5: Functional Requirements for Administrator** +-----------------------+-----------------------+-----------------------+ | **Functional | | | | Requirements** | | | +=======================+=======================+=======================+ | **Functional** | **User Requirements** | **System | | | | Requirements** | +-----------------------+-----------------------+-----------------------+ | **Login and Logout** | - The administrator | - The system should | | | should be able to | support secure | | | login and logout | administrator | | | securely with an | login and logout | | | admin account. | functionality | | | | with appropriate | | | | authentication | | | | and authorization | | | | mechanisms. | +-----------------------+-----------------------+-----------------------+ | **Manage Database** | - The administrator | - The system should | | | should be able to | allow | | | add, delete, or | administrators to | | | update database | add, delete, or | | | records. | update database | | | | records ensuring | | | | changes are | | | | securely saved | | | | and do not | | | | disrupt user | | | | access. | +-----------------------+-----------------------+-----------------------+ | **Handle Support | - The administrator | - The system should | | Ticket** | should have | provide tools for | | | access to | administrators to | | | customer support | view and resolve | | | tools to assist | customer support | | | users with | tickets, track | | | account issues, | user issues, and | | | functionality | communicate with | | | issues and other | users. | | | support needs. | | +-----------------------+-----------------------+-----------------------+ Table 3-6 displays the user and system nonfunctional requirements that concern both users and administrators of the Apply application. []{#_Toc183619399.anchor}**Table 3-** **6: Nonfunctional requirements for User and Administrator** +-----------------------+-----------------------+-----------------------+ | **Nonfunctional | | | | Requirements** | | | +=======================+=======================+=======================+ | **Function** | **User Requirements** | **System | | | | Requirements** | +-----------------------+-----------------------+-----------------------+ | **Security** | - Users should feel | - The system must | | | confident that | implement secure | | | their login is | login protocols, | | | secure, and their | including | | | data is | two-factor | | | encrypted. | authentication. | | | | | | | | - All data and | | | | documents must be | | | | encrypted. | +-----------------------+-----------------------+-----------------------+ | **Privacy** | - Users should be | - The system must | | | informed about | clearly inform | | | third-party data | users of | | | sharing and be | third-party data | | | able to update | access and ensure | | | their data | secure data | | | securely. | viewing and | | | | updating. | +-----------------------+-----------------------+-----------------------+ | **Performance** | - Users should | - The system should | | | experience fast | handle multiple | | | autofill | requests | | | responses (under | efficiently and | | | 10 seconds) and | provide fast | | | quick document | responses for | | | uploads (under 30 | features such as | | | seconds). | document uploads | | | | and autofill | | | | features. | +-----------------------+-----------------------+-----------------------+ | **Reliability** | - Users should | - The system should | | | experience | have minimal | | | minimal downtime | downtime (maximum | | | and have their | of 15 seconds) | | | data backed up | and perform | | | regularly. | regular backups | | | | to prevent data | | | | loss. | +-----------------------+-----------------------+-----------------------+ | **Maintainability** | - Users should | - The system should | | | receive updates | support easy | | | with minimal | integration of | | | disruption to the | new features or | | | system's | updates without | | | functionality. | major disruption. | | | | | | | | - All features | | | | should be clearly | | | | documented for | | | | ease of future | | | | updates. | +-----------------------+-----------------------+-----------------------+ | **Localization** | - Users should be | - The system must | | | able to navigate | fully support | | | the platform in | both English and | | | both English and | Arabic languages. | | | Arabic | | | | seamlessly. | | +-----------------------+-----------------------+-----------------------+ | **Accessibility** | - Users should be | - The system should | | | able to easily | be compatible | | | access the | with WCAG A and | | | application. | AA standard for | | | | accessibility | | | | purposes. | +-----------------------+-----------------------+-----------------------+ | **User-Friendly | - Users should have | - The system should | | Interface** | an intuitive | provide an | | | interface that | organized and | | | provides easy | accessible | | | access to all the | interface for | | | features. | access of all | | | | features. | +-----------------------+-----------------------+-----------------------+ ### **3.2.4 Object Oriented Approach** #### To streamline development, enhance maintainability, and support future expansion, an object-oriented approach was adopted for Apply. This structure facilitates system upgrades and expansion while ensuring effective management of user interactions and data. This section presents the use case diagrams, sequence diagrams, and class diagrams. #### **3.2.4.1 Use Case ** A Use Case Diagram is a type of object-oriented diagram that illustrates how a system interacts with external entities.