SYSTEM AND METHOD FOR MATCHING HAIR STYLISTS WITH JOB OFFERS BASED ON HOLISTIC CRITERIA

A computer-implemented method of matching a first service provider searching for a job with an employer service provider, the method comprising: creating, by the computing device, a profile of a first service provider having a plurality of categorical values descriptive of or liked by the service provider; creating, by the computing device, a profile of an employer service provider having a plurality of categorical values descriptive of or liked by the employer service provider; creating, by the computing device, a job search request by the first service provider to recommend one or more employer service providers, wherein the job search request includes one or more requested categorical and discrete values; and providing, by the computing device, ranked recommendations of employer service providers based on a comparison of the profiles and the requested categorical and discrete values. A service provider can be a hair stylist.

In one embodiment, the computer-implemented method further comprises, creating, by the computing device, a salon page having a plurality of discrete values and categorical values descriptive of the salon.

In one embodiment, the recommendations are further based on determining location coordinates of the first hair stylist via a global positioning system or a manual location entry, and calculating the distance to an employer hair stylist is within the requested discrete value of maximum distance to travel by the first hair stylist.

In one embodiment, the categorical values in the profile of the employer hair stylist are selected from one or more of the group consisting of favorite book genre, favorite music genre, favorite television series, favorite sport participant, favorite discussion topic, first favorite brand, second favorite brand, third favorite brand, job description, job qualification, or a combination thereof.

In one embodiment, the categorical values in the profile of the first hair stylist are selected from one or more of the group consisting of favorite book genre, favorite music genre, favorite television series, favorite discussion topic, favorite sport participant, salon location, first hair styling skill, second hair styling skill, third hair styling skill, fourth hair styling skill, fifth hair styling skill, sixth hair styling skill, location type, first favorite brand, second favorite brand, third favorite brand, fourth favorite brand, fifth favorite brand, sixth favorite brand, or a combination thereof.

In one embodiment, the categorical values of the first hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.

In one embodiment, the categorical values for the employer hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.

In one embodiment, the requested categorical values are selected from job qualification and location, and the requested discrete values are selected from maximum distance to travel, importance of employer hair stylist profile and importance of employer hair stylist favorite brands.

In one embodiment, the importance of employer hair stylist profile and importance of employer hair stylist favorite brands are selected from values of low, medium, and high. In one embodiment, the recommendations are given as a percent representing a closeness of a match of the first hair stylist profile with the employer hair stylist profile and a match of the requested categorical and discrete values to the employer hair stylist profile.

In one embodiment, a computing device, comprising at least a memory and processor, configured to: create a profile of a first service provider having a plurality of categorical values descriptive of or liked by the service provider; create a profile of an employer service provider having a plurality of categorical values descriptive of or liked by the employer service provider; create a job search request by the first service provider to recommend one or more employer service providers, wherein the job search request includes one or more requested categorical and discrete values; and provide ranked recommendations of employer service providers to the first service provider based on a comparison of the categorical values in the profiles of the first service provider and the employer service provider and the requested categorical and discrete values by the first service provider.

In one embodiment, the first service provider is a first hair stylist and the employer service provider is an employer hair stylist.

In one embodiment, the computing device is further configured to create a salon page having a plurality of discrete values and categorical values descriptive of the salon.

In one embodiment, the recommendations are further based on determining location coordinates of the first hair stylist via a global positioning system or a manual location entry, and calculating the distance to an employer hair stylist is within the requested discrete value of maximum distance to travel by the first hair stylist.

In one embodiment, the categorical values in the profile of the employer hair stylist are selected from one or more of the group consisting of favorite book genre, favorite music genre, favorite television series, favorite sport participant, favorite discussion topic, first favorite brand, second favorite brand, third favorite brand, job description, job qualification, or a combination thereof.

In one embodiment, the categorical values in the profile of the first hair stylist are selected from one or more of the group consisting of favorite book genre, favorite music genre, favorite television series, favorite discussion topic, favorite sport participant, salon location, first hair styling skill, second hair styling skill, third hair styling skill, fourth hair styling skill, fifth hair styling skill, sixth hair styling skill, location type, first favorite brand, second favorite brand, third favorite brand, fourth favorite brand, fifth favorite brand, sixth favorite brand, or a combination thereof.

In one embodiment, the categorical values of the first hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.

In one embodiment, the categorical values for the employer hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.

In one embodiment, the requested categorical values are selected from job qualification and location, and the requested discrete values are selected from maximum distance to travel, importance of employer hair stylist profile and importance of employer hair stylist favorite brands.

In one embodiment, the importance of employer hair stylist profile and importance of employer hair stylist favorite brands are selected from values of low, medium, and high.

In one embodiment, the recommendations are given as a percent representing a closeness of a match of the first hair stylist profile with the employer hair stylist profile and a match of the requested categorical and discrete values to the employer hair stylist profile.

In one embodiment, a system, comprises: a profile building engine including computational circuitry configured to: create a profile of a first service provider having a plurality of categorical values descriptive of or liked by the service provider and to create a profile of an employer service provider having a plurality of categorical values descriptive of or liked by the employer service provider; a request building engine including computational circuitry configured to: create a job search request by the first service provider to recommend one or more employer service providers, wherein the job search request includes one or more requested categorical and discrete values; and a matching engine including computational circuitry configured to: provide ranked recommendations of employer service providers to the first service provider based on a comparison of the categorical values in the profiles of the first service provider and the employer service provider and the requested categorical and discrete values by the first service provider.

In one embodiment, the first service provider is a first hair stylist and the employer service provider is an employer hair stylist.

DETAILED DESCRIPTION

The selection of any service provider, for example a hair stylist, can involve searching online for reviews, or selection of a service provider can also involve talking with friends and relatives to get recommendations. U.S. Pat. No. 8,566,327B2 describes a method for matching user profiles based on preferences indicated by users. Finding a hair styling salon according to user preferences is described in the web site: https://www.treatwell.fr/salons/soin-chignon-et-coiffure/offre-type-local/dans-paris-france. Web sites are also available to make reservations, such as the website: https://www.leciseau.fr. Many websites and apps already exist but focus only on pricing aspects or on market segmentation to provide traffic to specific service providers. They play on special offers, discount prices or even on special cooptation for more luxury positioned brands. Customer loyalty and value aren't taken into consideration in the state of the art offers. The selection method using these resources, at best, gives no assurances that the chosen service provider (e.g., hair stylist) will be compatible with a customer, not only in terms of meeting a customer's expectation for providing high quality services, but, also that the personality of a service provider is compatible with a customer's, as customers can spend many hours in the presence of a service provider. Therefore, it becomes important that the customer can relax and enjoy the experience.

Accordingly, there is a need for selecting a service provider, such as a hair stylist or any other hair care professional for an individual having distinct preferences. Although the description and figures make reference to a hair stylist, this is done to merely illustrate on representative embodiment. This disclosure is not limited to hair stylists, and the methods disclosed herein may be used for recommending any service provider to a customer.

As a consequence of the methods for matching a customer with a service provider in accordance with this disclosure, the service provider saves time, finds his customers more easily and uses his skills better. The customer also saves time finding a qualified and compatible service provider. The customer is more confident because he will find a service provider with a desired expertise, and has less stress when he goes to the service provider because he can be sure he has found the expert on his problem.

In accordance with this disclosure, a service provider is recommended having the right expertise. There is trust on the part of the consumer having found the right service provider for the right problem. On the other side, the service provider is also more confident because he is sure he will use his own and specific skills. He won't be asked by the customer to use skills he doesn't master. For example, some hair stylists are good at coloration but might have poor abilities for cutting hair. Consequently, the hair stylist will be also more confident. Thus, the match is a win- win relation between the hair stylist and the customer.

The job market was completely changed with digitalization and professional social networks (video, LinkedIn, etc . . . ). Nevertheless, it is still working in a transactional way with “job offers” on one side and “potential candidates” on the other side. Digitalization made the job offers more easy to find as they are online, but there is still great inefficiency and lack of satisfaction on both employers and candidates sides as there is no way to accurately match a candidate with a set of job offers that are really relevant. This critical issue comes mostly from poor data quality of both job offers and candidates profile description (too generic descriptions focusing on key words to make search engines biased). Thus, filtering and sorting job offers is of course possible but requires to spend hours of reading and digging in the descriptions to manually short list the positions to applicate. There is a systemic exclusion of all the potential job positions that aren't documented with job offers (the one's candidates find with a spontaneous application). There is no insurance of applicants fitting in with the people working in the company as no data is available on people personalities, tastes, working environment etc.

Accordingly, there is a need for selecting a new employer, such as a hair stylist/hair salon or any other hair care professional for a candidate having distinct preferences. Although the description and figures make reference to a hair stylist, this is done to merely illustrate on representative embodiment. This disclosure is not limited to hair stylists, and the methods disclosed herein may be used for recommending any service provider to a service provider searching for a job.

As a consequence of the methods for matching a job seeker with a service provider in accordance with this disclosure, the service provider saves time, finds his new employee more easily and complements his team skills better. The job seeker also saves time finding a service provider that best match his professional and personal expectations. Both employers and candidates benefit from more mutual trust at the very beginning of the hiring process. Thus, the match is a win-win relation between the potential employer and the job seeker.

FIG. 1is a schematic diagram that illustrates a non-limiting example embodiment of a system100for generating and providing recommendations for a service provider, such as hair stylist, to a user-customer according to various aspects of the present disclosure. In the system100, each of a plurality of users102,104, and106with a respective computing device108,110, and112can use the system100. A computing device108,110,112can include terminals and mobile devices.

In this disclosure, a “user” can be a user-hair stylist or user-customer. The user-customer can be a prospective customer in the sense that the user-customer is searching for a hair stylist. Hair stylist is a broad term encompassing any service provider of hair care services, such as, cutting hair, styling hair, coloring hair, bleaching hair, hair extensions, and the like.

As shown, the terminals or mobile computing devices108,110, and112and the matching server116may communicate via a network114. The network114may include any suitable networking technology, including but not limited to a wireless communication technology (including but not limited to Wi-Fi, WiMAX, Bluetooth, 2G, 3G, 4G, 5G, and LTE), a wired communication technology (including but not limited to Ethernet, USB, and FireWire), or combinations thereof.

FIG. 2is a block diagram that illustrates a non-limiting example embodiment of a terminal or mobile computing device, such as108, for use by a user-customer or a user-hair stylist.

In some embodiments, the mobile computing device108may be a smartphone. In some embodiments, the mobile computing device108may be any other type of computing device having the illustrated components, including but not limited to a tablet computing device or a laptop computing device. In some embodiments, the mobile computing device108may not be mobile, but may instead by a stationary computing device such as a desktop computing device. In some embodiments, the illustrated components of the mobile computing device108may be within a single housing. In some embodiments, the illustrated components of the mobile computing device108may be in separate housings that are communicatively coupled through wired or wireless connections (such as a laptop computing device with an external global positioning system receiver). The mobile computing device108also includes other components that are not illustrated, including but not limited to one or more processors, a non-transitory computer-readable medium, a power source, and one or more communication interfaces.

As shown, the mobile computing device108includes a display118, a global positioning system receiver120, network access122, user interface124(touchscreen, keys, etc.), system memory126, a microphone144, a camera142, and a central processing unit (CPU)128.

In some embodiments, the display118is an LED display, an OLED display, or another type of display for presenting a user interface. In some embodiments, the display118may be combined with or include a touch-sensitive layer, such that a user102,104, and106may interact with a user interface presented on the display118by touching the display. In some embodiments, a separate user interface device, including but not limited to a mouse, a keyboard, or a stylus, may be used to interact with a user interface presented on the display118.

In some embodiments, the microphone144allows a user to use voice controls for interfacing with the computing device108. In some embodiments, the computing device108is configured for control through gestures, such as swiping. In some embodiments, the microphone144and camera142provide the ability for sound recording and photo/video acquisition.

Referring toFIG. 3, a matching server116in accordance with one embodiment of this disclosure is illustrated. In some embodiments, the matching server includes a profile build engine132, a request build engine134, a matching engine136, a feedback engine140, data store130, and network access138. Further, the matching server116includes one or more computing devices that each include one or more processors, non-transitory computer-readable media, and network communication interfaces that are collectively configured to provide the illustrated components. In some embodiments, the one or more computing devices that make up the matching server116may be rack-mount computing devices, desktop computing devices, or computing devices of a cloud computing service.

In some embodiments, the profile build engine132can be transmitted to the mobile device108, free or for a nominal user fee, and then the profile build engine is stored in the system memory126of the mobile device108. The profile build engine can be an “App” that is launched by a user clicking an icon on the display118of the mobile device108. In another embodiment, the profile build engine132is launched in the mobile device108through communication over the network114, such as by going to a link on web site. The profile build engine132can present the user with webpages on the mobile device108.

In some embodiments, a user-customer profile built by the profile build engine132includes image analysis, for example, analysis of a user-customer pictures or analysis of a user-customer's social media accounts, including analysis of “hashtags” in the social media accounts as a source of personality traits. The image and text analysis can be performed by respective image and text processors operating artificial intelligence (AI) routines to extract personality data from existing user-generated information instead of using a questionnaire.

In some embodiments, the data store130is configured to store profiles for each user102,104, and106. The profiles include categorical values and discrete values for each one of the users102,104, and106.

In some embodiment, the profile build engine132is configured to obtain certain categorical and discrete values from each user102,104, and106depending on whether the user is a user-customer or user-hair stylist. The categorical and discrete values are descriptive of the user or things the user likes or that can describe the user's personality, for example, a profile for a user-customer may include the categorical values of: name, gender, address, favorite book genre, favorite music genre, favorite TV series, favorite discussion subject, favorite sport participant, favorite brands, and hair length, for example to describe the user-customer and something about their personalities. A hair stylist profile may include the categorical values of: name, gender serviced, hair styling skills, favorite book genre, favorite music genre, favorite TV series, favorite discussion subject, favorite sport participant, favorite brands used, and work location, for example, to describe the user-hair stylist and something about their personalities or hair styling qualifications. The values for all of these categories may be entered by the user-customer and user-hair stylist through the display118on the mobile device108.

In some embodiments, a hair stylist profile built by the profile build engine132includes image analysis, for example, analysis of a hair stylist's salon pictures or analysis of a hair stylist's social media accounts, including analysis of “hashtags” in the social media accounts as a source of personality traits. The image and text analysis can be performed by respective image and text processors operating artificial intelligence (AI) routines to extract personality data from existing user-generated information instead of using a questionnaire.

In some embodiments, the request build engine134is configured to receive certain categorical values and discrete values from the user-customer. The request values are used in combination with the profiles to recommend a user-hair stylist to the user-customer. For example, a request build engine134can obtain user-customer categorical values of: present location, maximum distance willing to travel, hair styling service needed, preferred salon ambiance, the subjective importance to the user-customer of certain of the hair stylist's criteria, such as the hair stylist's hair styling skills, the hair stylist's personality, and the hair stylist's favorite brands. The values for all of these categories may be entered by the user-customer through the display118on the mobile device108to fill out the request or through analysis of the user-generated content, such as from social media. The values in the request filled out by the user-customer or through analysis of the social media accounts, along with the user-customer's profile is compared to user-hair stylists' profiles stored in the system100to provide ranked recommendations of user-hair stylists.

In some embodiments, a user-customer profile built by the profile build engine132includes image analysis, for example, analysis of a user-customer's pictures in social media accounts and/or analysis of a user-customer's social media accounts, including analysis of “hashtags” in the social media accounts as a source of personality traits. The image and text analysis can be performed by respective image and text processors operating artificial intelligence (AI) routines to extract personality data from existing user-generated information instead of using a questionnaire.

In some embodiments, the matching engine136is configured to compare the requested categorical and discrete values to the profiles of the user-hair stylists in the system100. As described above, the categorical values and discrete values can be input directly by a user through a questionnaire and/or indirectly through AI image and text processors analyzing user-generated content on the user's social media. In some embodiments, the matching engine136can use the present location, as determined by a global positioning system receiver, of the user-customer to narrow the list of possible recommendations of hair stylists within the requested geographical area. Thus, a user-customer will be able to find a hair stylist even when traveling abroad.

In some embodiments, the request build engine134is configured to receive certain categorical values and discrete values when the user-hair stylist has selected the job searching feature. A feature for user-hairstylist profiles and salon pages is the ability to indicate whether there is employment available, in which case, the employer user-hair stylist or salon and input job description and qualifications. The request values input by a job searching user-hair stylist and their profiles are matched with the job description and job qualifications provided by employer user-hair stylists and salons, so that the matching engine136will recommend employer user-hair stylists and salons to another user-hair stylist searching for a job. For example, the request build engine134can obtain user-hair stylist categorical and discrete values relevant for matching job searchers with employers. For example, a job search request discrete value may include a maximum distance the job searching user-hair stylist is willing to travel. Job search request categorical values may include, for example, the hair styling skills in which the job searching user-hair stylist is proficient, the preferred salon ambiance, favorite product brands, and the values relevant to personality. The job searching user-hair stylist may also assign the subjective importance of matching one categorical value more than another. For example, a job searching user hair stylist may assign higher importance to matching personality rather than skill, salon ambiance, or favorite product brands. The values for all of these discrete and categorical values may be entered by the job searching user-hair stylist through a series of GUI screens on the display118or through AI machine learning analysis of the user-generated content, such as from social media. The values in the request filled out by the job searching user-hair stylist or through analysis of the social media accounts, along with the job searching user-hair stylist's profile is compared to employer user-hair stylists' profiles and salon pages stored in the system100to provide ranked recommendations of employer user-hair stylists and salons.

In some embodiments, the matching engine136is configured to compare the requested categorical and discrete values to the profiles of the employer user-hair stylists in the system100. As described above, the categorical values and discrete values can be input directly by a user through a questionnaire and/or indirectly through AI image and text processors analyzing user-generated content on the user's social media. In some embodiments, the matching engine136can use the present location, as determined by a global positioning system receiver, of the user-customer to narrow the list of possible recommendations of employer hair stylists within the requested geographical area.

Further, in comparing the requested hair styling service needed by the user-customer, personality, and favorite brand and possibly preferences derived from AI-based personality matching of the user-customer profile to the user-hair stylist profile, the matching engine136applies the weighted subjective importance to the user-customer of the hair stylist's hair styling skills, the hair stylist's personality, and the hair stylist's favorite brands. The matching engine136then sends the ranked recommendations to the user-customer, which the user-customer can then click on to find out more about the hair stylist, call, or email further questions, or ask to make an appointment, etc. In addition, the user-customer can also view results of feedback provided by other user-customers. Once the user-customer has used the services of a user-hair stylist, the user-customer may also provide feedback.

In some embodiments, the feedback engine140is configured to receive input from a user-customer regarding whether the categorical values relating to hair stylist's skills in the profile of a hair stylist are accurate. For example, if a hair stylist's profile indicates that the hair stylist is skilled at cutting, then, a user-customer who received a hair cut from the hair stylist can provide feedback by either agreeing or not agreeing that the hair stylist was proficient in the hair cutting skill. Further, the feedback engine140can be configured to receive input whether the categorical values in the profile of a hair stylist relating to hair stylist's personality are accurate. For example, if the hair stylist's profile indicates that the hair stylist's favorite music genre is rock n roll, but, the hair stylist only talked about jazz and blues music, then, the user-customer can disagree that the user-hair stylist's favorite music genre is rock n roll.

In this disclosure, “engine” of components132,134,136, and140refers to logic embodied in hardware or software instructions, which can be written in a programming language, such as C, C++, COBOL, JAVA™, PHP, Perl, HTML, CSS, JavaScript, VBScript, ASPX, Microsoft .NET™, Go, and/or the like. Examples of AI machine learning routines include, but are not limited to, convolutional neural networks and image segmentation. Deep learning programming languages include, for example, TENSORFLOW™, PYTORCH™, SONNET™, KERAS™, MXNet™, GLUON™, SWIFT™, CHAINER™, DL4J™, and ONNX™. An engine may be compiled into executable programs or written in interpreted programming languages. Software engines may be callable from other engines or from themselves. Generally, the engines described herein refer to logical modules that can be merged with other engines, or can be divided into sub-engines. The engines can be stored in any type of computer-readable medium or computer storage device and be stored on and executed by one or more general purpose computers, thus creating a special purpose computer configured to provide the engine or the functionality thereof.

The “data store”130refers to any suitable device configured to store data for access by a computing device. One example of a data store130is a highly reliable, high-speed relational database management system (DBMS) executing on one or more computing devices and accessible over a high-speed network. Another example of a data store130is a key-value store. However, any other suitable storage technique and/or device capable of quickly and reliably providing the stored data in response to queries may be used, and the computing device may be accessible locally instead of over a network, or may be provided as a cloud-based service.

A data store130may also include data stored in an organized manner on a computer-readable storage medium, such as a hard disk drive, a flash memory, RAM, ROM, or any other type of computer-readable storage medium. One of ordinary skill in the art will recognize that separate data stores described herein may be combined into a single data store, and/or a single data store described herein may be separated into multiple data stores, without departing from the scope of the present disclosure.

The computing device108,110, and112is used to complete a unique profile for each of the users102,104, and106. The data in the profile is prompted by the profile build engine132by using a series of graphical user interfaces, for example. Additionally or alternatively, the user profile is also built by AI routines that analyze user-generated content, such as found in social media including, for example, images, text, and hashtags. The profile contains categorical values and discrete values that describe certain preferences, likes, and attributes unique to the individual user102,104, and106. Categorical values have ranges defining members of the category. Members of a favorite music genre and favorite book genre would be categorical values. Some categorical values are ordinal, meaning that values in the category have a natural order, such as small, medium, large, for example. Discrete values can usually be counted, are integers or real numbers. A collection of categorical and discrete values can be used to describe the personality of a user, their location, skill, preferences, likes, dislikes, etc.

The computing device108,110,112, includes the profile build engine that presents a series of graphical user interfaces that allow the user to specify, or optionally not specify, the categorical and discrete values of his/her profile, or use AI routines that link to social media to extract the features to use in the profile. Some categorical and discrete values will be different depending on whether the user102,104, and106is a user-hair stylist or user-customer.

Once completed, the profiles are transmitted to the matching server116, where they are stored in the data store130. Once in the system100, user-customers and user-hair stylists can use the system100. The matching server116waits for a request from a user-customer or user-hair stylist to act upon the request to provide ranked recommendations of a user-hair stylist to the user-customer or provide ranked recommendations of an employer user-hair stylists to job searching user-hair stylists. In one embodiment, only user-hair stylists that are in the system100are recommended to the user-customer or job searching user-hair stylists. A real-time request from a user-customer or user-hair stylist may further contain additional categorical and discrete values that are not already in the user-customer profile, and may be unique to the present request of the user-customer and user-hair stylists.

When a request from a user-customer or job searching user-hair stylist is received at the matching server116, the matching server116may execute a matching engine that compares the profile of the user-customer or job searching user-hair stylist who sent the request along with the additional requested categorical and discrete values to the profiles of the user-hair stylists. The comparison by the matching server116yields a ranked recommendation for user-hair stylists that most closely match with the profile of the user-customer and the values specified in the request, or in the case of job searching user-hair stylists, the matching server116yields a ranked recommendation for employer user-hair stylists. In one embodiment, the request may include the location and maximum distance willing to travel by the user-customer. The present location may be gathered by the computing device108,110, and112, with a global positioning system receiver in the computing device108,110, and112. Alternatively, if the use-customer is traveling, the user-customer may provide the current, but not home, location.

The matching server116may then make the first match of user-hair stylists by selecting only those within the geographical area specified in the request. The ranking according to location first can save processing time and resource, since many user-hair stylists can be eliminated based on not matching the geolocation request. The ranking of user-hair stylists, as well as other information, may be provided to the user-customer via a display on the computing device108,110, and112.

FIG. 4is a flowchart that illustrates a non-limiting example embodiment of a method400of completing user profiles and providing recommendations to a user-customer looking for a hair stylist based on matching a user-customer's categorical and discrete values reflective of the customer's likes, personality, locations, and services needed. The method400can be implemented in computer hardware or software on the computing device108as an application (or App) and in the matching server116. In addition,FIG. 4also includes a method for recommending an employer user-hair stylist to a job searching user-hair stylist.

In block402, the method requests the user to log in if the user already has an account, or alternatively, if the user does not have an account, the user can register to set up an account.

FIG. 5Ais one illustrative example of a GUI screen of a mobile device108that can be used to log in or register for first-time users. Mobile device108is merely to illustrate aspects of the disclosure. InFIG. 5A, the user can select the button502if the user is a user-customer, or the user can select the button504if the user is s user-hair stylist. Depending on button502and504selected, the method400will bring up a different screen for the user-customer and the user-hair stylist. For example, if a user selects button504for a user-hair stylist, then a screen as illustrated inFIG. 5Bcan be presented to the user-hair stylist.FIG. 5Bis the home screen for a user-hair stylist and shows buttons for selecting from building/editing profile508, viewing the hair-stylist's profile edited for public viewing510, reviewing user-customer feedback512, and searching for a job514. If the user is a user-customer and selects button502fromFIG. 5A, then a screen as illustrated inFIG. 5Ccan be presented to the user-customer.FIG. 5Cis the home screen for a user-customer and shows buttons for selecting from building/editing profile518, making a request520, or selecting to view the public profiles of user-hairstylists from a field that displays previous matches522. Field522may include a picture of the hair stylist and a link to the hair stylist's profile edited for public viewing. From block402, the method enters block404

In block404, a first-time user will build a profile, or if the user is not a first-time user, the user can edit the profile. The method can recognize whether the user has a profile or not, and display the appropriate screen. The profile build engine132(FIG. 3) can generate the screens for inputting the categorical and discrete values for building and displaying the user profiles of both the user-hair stylist and the user-customer.

FIG. 6is one illustrative example of a GUI screen of a mobile device108for creating a user-hair stylist profile. Input text block610allows the entry of alphanumeric characters to designate a user name for identification purposes. Input field612includes three buttons that allows the user-hair stylist to identify the categorical value of the gender of clients serviced by the hair stylist. Input field614can contain any number, six, for example, of drop-down menus for identifying the categorical values of the hair stylist's hair styling skills. The skills can be ranked or non-ranked. Skills can include, but are not limited to, hair cutting, dyeing, permanent, extensions, shampooing, and the like. Input field616is a drop down menu for selecting the categorical value of book genres from which the hair stylist can select a favorite or not specify a favorite. Input field616is a descriptor for personality. Input field618is a drop down menu for selecting the categorical value of music genres from which the hair stylist can select a favorite or not specify a favorite. Input field618is a descriptor for personality. Input field620is a drop down menu for selecting the categorical value of TV series genres from which the hair stylist can select a favorite or not specify a favorite. Input field620is a descriptor for personality. Input field622is a drop down menu for selecting the categorical value of conversation topics from which the hair stylist can select a favorite or not specify a favorite. Input field622is a descriptor for personality. Input field624is a drop down menu for selecting the categorical value of sport participation from which the hair stylist can select a favorite or not specify a favorite. Input field624is a descriptor for personality.

Social media buttons626can be used to link to the user-hair stylist's social media accounts. When selected, the one or more of the social media accounts are analyzed for user-generated content to automatically capture personality traits using AI routines that perform text and/or image analysis.

FIG. 7Ais one illustrative example of a GUI screen of a mobile device108for creating a user-hair stylist profile. Input field702includes three buttons that allows the user-hair stylist to identify the categorical value of the location type. Further screens may prompt the user-hair stylist to enter additional categorical values depending on the location type. For a physical salon location, further screens may require input of categorical values for the address, the number of total seatings in the salon, the salon ambiance from a drop down menu. For a mobile location, screens may require a discrete value for a maximum distance willing to travel to a customer. For both location types, input may be required of categorical values for contact information, such as phone, email, website, social medium accounts, an appointment calendar showing open times, prices for each hair styling skill, or combinations. Next, input field704can contain any number, six, for example, of drop-down menus for identifying the categorical values of the hair stylist's favorite product brands.

FIG. 7Bis one illustrative example of a GUI screen of a mobile device108for creating a salon page.FIG. 7Bwould appear if the user-hair stylist specifies a salon location in field702ofFIG. 7A. Field708includes text fields for including a physical address for a salon. After entering the physical address of the salon in field708, and then clicking on the “CHECK MY SALON” button722, the system will check if this address already exist in the salon database. In other words, the salon physical address works as a unique identifier. If the salon already exists in the database, it means that the salon page already exists, and the user-hair stylist does not need to create a new salon page.

If on the contrary, the physical address does not match with any salon already stored in the salon database, the user-hair stylist may be presented with a GUI screen on the mobile device108as illustrated inFIG. 7C. InFIG. 7C, an error message726warns the user-hair stylist that the salon does not exist in the database. Because the physical address is new to the salon database, the system can propose to create the salon page by displaying a “CREATE” button724. Then, the user-hair stylist can click the CREATE button724to create the salon page in the salon database.

FIG. 7Dis one illustrative example of a GUI screen of a mobile device108for creating a salon page of the salon database. Field708is for displaying the salon location from the previous screen. Field710includes one or more modes of contact, including, for example, phone, website, and social media accounts. Field712is for selecting a discrete value of the number of seatings available at the salon. Field714is for selecting the categorical value of the ambiance of the salon from a drop-down menu, for example.

When all the fields on the screen ofFIG. 7Dare completed, a new screen as shown inFIG. 7Emay appear to complete the salon page. Field716can be used to provide the discrete values of prices for each services or for combination of services, which may be discounted if services are bundled into packages. Field718is for selecting the categorical value of product brands used in the salon. When the user-hair stylist is satisfied with the selections, the user-hair stylist selects the “CREATE” button720to create the salon page. If there are errors or missing data, a screen can appear specifying the errors.

When the salon page is created, the user-hair stylist is moved back to his profile edition screen as illustrated inFIG. 7F.

The last step of the user-hair stylist profile creation is to list the brands he/she likes the most as a hair-stylist from a GUI screen as illustrated inFIG. 7G, where the favorite product brands can be selected from drop down menus in field704.

The other possibility if the user-hair stylist works as a mobile hairdresser is to indicate the maximum travelling distance in a screen as illustrated inFIG. 7H. In the GUI screen ofFIG. 7H, the field728allows the mobile user-hair stylist to enter the maximum traveling distance. The user-hair stylist may also enter contact information in field730. In one embodiment, the user profile can be created by links to the existing user generated content to avoid a copy/paste of already existing information. To do so, the user hair stylist can indicate in field710the url addresses of their existing social media and websites.

FIGS. 6, 7A, 7B, 7C, 7D, 7E, 7F, 7G, and 7Hare merely illustrative GUI screens for creating a profile, other categorical or discrete values can be added or deleted from the profile. Furthermore, payment systems can be set up by the user-hair stylist for online payment.

Referring back toFIG. 7A, when the user-hair stylist has finished building the profile, the user-hair stylist can review the selections, and the user-hair stylist can click on the “GO” button706to create the profile.

The selections for a user-customer by selecting button502inFIG. 5can include building/editing profile, making a request, and displaying previous matches. However, if the user-customer selects requesting a hair stylist, and if the user-customer has not previously built a profile, an error screen can be displayed. The user-customer is then prompted to build a user-customer profile.

FIG. 8is one illustrative example of a GUI screen of a mobile device108for creating a user-customer profile. Input text block802allows the entry of alphanumeric characters to designate a user name for identification purposes. Input field804includes three buttons that allows the user-customer to identify the categorical value of the user-customer gender. Input field806includes three buttons that allows the user-customer to identify the categorical ordinal value of hair length from short, medium, or long. Alternatively, a slider button can be used to indicate the length of hair. Input field812is a drop down menu for selecting the categorical value of book genres from which the customer can select a favorite or not specify a favorite. Input field812is a descriptor for personality. Input field814is a drop down menu for selecting the categorical value of music genres from which the customer can select a favorite or not specify a favorite. Input field814is a descriptor for personality. Input field816is a drop down menu for selecting the categorical value of TV series genres from which the customer can select a favorite or not specify a favorite. Input field816is a descriptor for personality. Input field818is a drop down menu for selecting the categorical value of conversation topics from which the customer can select a favorite or not specify a favorite. Input field818is a descriptor for personality. Input field820is a drop down menu for selecting the categorical value of sport participation from which the customer can select a favorite or not specify a favorite. Input field820is a descriptor for personality.

Social media buttons822can be used to link to the user-customer's social media accounts. When selected, the one or more of the social media accounts are analyzed for user-generated content, such as images and text, for example, to automatically capture discrete and categorical values, such as personality traits, through AI machine learning routines or through image analysis or both.

FIG. 9is one illustrative example of a GUI screen of a mobile device108for creating a user-customer profile. Input field902can contain any number, three, for example, of drop-down menus for identifying the categorical values of the user-customer's favorite product brands.

FIGS. 8 and 9are merely illustrative, other categorical or discrete values can be added or deleted from the profile. Furthermore, payment systems, including bank or credit card transfers can be set up by the user-customer.

When the user-customer has finished building the profile, the user-customer can review the profile, and the user-customer can click on the “GO” button904to create the user-customer profile.

Referring toFIG. 4, after completion of profile building by user-customers and user-hair stylists in block404, the method400enters block406from block404. In block406, the method400saves the profiles in the data store130of the matching server116(FIG. 3). From block406, the method400enters block408or block409. The decision whether to enter block408or409depends on whether the user has registered as a user-customer (button502,FIG. 5A) who wants to request a user-hair stylist recommendation (button520,FIG. 5C), or whether the user has identified himself as a user-hair stylist (button504,FIG. 5A) who wants to request a job search (button514,FIG. 5B) from other user-hair stylists.

In block408, the user-customer can now make a request to find a hair stylist by inputting categorical and discrete values. The request is made by clicking the button520(FIG. 5C).

FIG. 10is one illustrative example of a GUI screen of a mobile device108for creating a request to find a hair stylist. The request build engine134(FIG. 3) can generate the screens for inputting the categorical and discrete values for making a request to find a hair stylist. Input text block1002allows the entry of alphanumeric characters to designate a user-customer location. Alternatively, the user-customer location can be determined by the global positioning system120of the mobile device108. Some locations may be saved, such as “home” or “work” to avoid typing the location every time. If the user-customer does not wish to specify a location, for privacy reasons, the user-customer may specify street intersections, neighborhoods, landmarks, and the like. Input field1004is for inputting the discrete value of maximum distance the user-customer is willing to travel to a hair stylist salon. If the user-customer selects zero distance, this may exclude salons and only mobile hair stylists are considered for matching. Input field1006can contain any number, three, for example, of drop-down menus for identifying the categorical values of the user-customer's hair styling service needed. Input field1008is for inputting the categorical ordinal value of the subjective importance to the user-customer of matching the user-customer's hair styling services needed to the hair stylist's hair styling skills. Input field1008can include any number, three, for example, of buttons to select a value of low, medium, or high importance. Alternatively, a slider button can be used to indicate the importance. Input field1010is for inputting the categorical ordinal value of the subjective importance to the user-customer of matching the user-customer's personality categorical values to the hair stylist's personality categorical values. Input field1010can include any number, three, for example, of buttons to select a value of low, medium, or high importance. Alternatively, a slider button can be used to indicate the importance. Input field1012is for inputting the categorical ordinal value of the subjective importance to the user-customer of matching the user-customer's favorite product brands to the hair stylist's favorite product brands. Input field1012can include any number, three, for example, buttons to select a value of low, medium, or high importance. Alternatively, a slider button can be used to indicate the importance.

FIG. 10is merely illustrative, other categorical or discrete values can be added or deleted from the request. For example, the user-customer can specify categorical values of salon ambiance or price ranges or requiring a saloon to be on a metro (bus, subway, train) route, and also assign an ordinal value from low, medium or high importance.

After the user-customer has completed the request on the mobile device108, the user-customer can click on a “GO” button1014.

Referring toFIG. 4, after completion of the request in block408, and selecting the “GO” button1014, the method400enters block410.

In block410, the request is transmitted to the matching server116, where the matching engine136will match the requested categorical and discrete values in the request and user-customer profile to the categorical and discrete values from the profiles of the hair stylists in the data store130. From block410, the method enters block412.

In block412, the matching engine136can first apply a location filter to match the geolocation of the user-customer to the user-hair stylist. This filter applies the location of the user-customer in the request and the maximum distance willing to travel to the locations of salons within the radius of the maximum distance, or if the hair stylist is mobile, the matching engine136can also consider the maximum distance that the hair stylist is willing to travel. The matching engine136provides a filtered set of hair stylist meeting the geolocation request. From block412, the method400enters block414.

In block414, the method400applies weighting formulas on the filtered set of hair stylists resulting from block412. For example, the matching engine136will next select the categorical values rated highest in importance by the user-customer. The matching engine can set coefficients to apply a weighting algorithm to the categorical values as indicated in the request. A high importance, for example, can indicate that 75% to 100% of the hair stylist categorical values are included in the categorical values requested by the user-customer. However, not all categorical values can be weighted the same when they are designated at the same importance level. For example, high importance for matching the hair stylists whose hair styling skills include each of the hair styling services from input field1006requested by the user-customer can mean a 100% match. High importance for matching personality categorical values to hair stylists' personality categorical values can mean a 50% to 75% match. The matching engine subsequently applies weighting formulas to the medium importance categorical values, and last, the low importance categorical values. After each requested categorical value, the matching engine can filter out the user-hair stylists that do not meet the weighting criteria for importance. The matching engine136tabulates the final matches for hair stylists as percentages. From block414, the method400enters block416.

In block416, any number, for example, three hair stylists having the highest matching percentages are presented to the user-customer. Additionally, the matching hair stylists results can be saved in block426in the data store130of the matching server116for display to the user-customer at the next time that the user-customer opens the application.

FIG. 11Ais one illustrative example of a GUI screen of a mobile device108for displaying the highest ranked hair stylists to a user-customer. Display field1102can identify the user-customer, such as by a picture or name. Display field1104can identify any number, three, for example, of the highest ranked hair stylists matching the request of the user-customer. Identification can be by picture or name or both. In one embodiment, clicking on the hair stylist's picture brings up a new GUI screen as shown inFIG. 11B. A result display field1106below the hair stylist identification field shows pictograms of the location type and the matching percent. In one embodiment, clicking on the salon pictogram brings up a new GUI screen as shown inFIG. 11C. A second results display field1108can show the matching percent of a second location type. Field1120is a button to select if the user-customer wishes to provide feedback on a hair stylist.

Referring toFIG. 4, from block416, the method enters block418. In block418, the user-customer can consult any of the displayed highest ranked hair stylists to obtain their information. For example, by selecting one of the displayed hair stylists, one or more screens can appear on the mobile device108showing the profile of the hair stylist, including the type of location and address, distance, contact information and website, the hair stylist's hair styling skills, the personality categorical values in the hair stylist's profile, the hair stylist's favorite product brands, how many seatings in the salon, the estimated prices, the salon ambiance, and interior photos.

FIG. 11Bis one illustrative example of a GUI screen of a mobile device108for reviewing the user-hair stylist's profile edited for public viewing. In field1110, a pictogram of a salon is shown that if clicked on will bring up a new GUI screen as shown inFIG. 11C. Additionally or alternatively, a second pictogram is shown in field1112if the hair stylist has also indicated a mobile location. Clicking on the pictogram of a mobile location may bring up a new GUI screen having information about the mobile services, such as the distance the hair stylist is willing to travel to a user-customer's home. Field1114displays the hair stylist's hair styling skills offered. Field1116display's the hair stylist's personality categorical values, such as favorite book genre, favorite music, favorite television series, favorite discussion topic, and favorite sport participant. Field1118displays the product brands used in the salon and mobile locations.

FIG. 11Cis one illustrative example of a GUI screen of a mobile device108for reviewing the hair stylist's salon page (“salon profile”). Field1122shows the salon details, such as contact information, social media, and a photograph of the salon interior. Field1124displays salon details, such as number of seatings and the salon ambiance, for example. Field1126shows the prices for services offered in general, or for the services requested by the user-customer in the request. Field1128is for displaying the product brands used in the salon.

Referring toFIG. 4, after the user-customer has been serviced by the user-hair stylist, the user-customer can provide feedback on whether the user-hair stylist's profile matches the hair styling experience. From block418, the method400enters block424. In block424, the user-customer can provide feedback. Feedback can be provided via the mobile device108by gaining access to the user-hair stylist's public profile screen, as illustrated inFIG. 11B.

FIG. 12is one illustrative example of a GUI screen of a mobile device108for giving feedback to a user-hair stylist. The feedback engine140(FIG. 3) can generate the screens for inputting feedback, calculating the results, and displaying the feedback results. Identification field1202identifies the hair stylist by photo or name or both for which feedback is being provided. Input fields1204,1206,1208, and1210are provided for each of the hair stylist's self-described hair styling skills with buttons that allow the user-customer to agree, disagree, or don't know to indicate whether the user-hair stylist possesses the self-described hair styling skills. Input fields1212,1214,1216,1218,1220are provided for each of the hair stylist's favorite personality categorical values with buttons that allow the user-customer to agree, disagree, or don't know to indicate whether the personality categorical values matched the personality of the hair stylist. When the user-customer is satisfied with the feedback provided, the user-customer can select the “VALIDATE” button1222.

Referring toFIG. 4, after the user-customer has provided feedback on the user-hair stylist, the feedback engine140applies algorithms to recalculate the percentages that the user-hair stylist's personality and self-described skills categorical values match with the user-customers' feedback. From block424, the method400enters block428. In block428, the user-hair stylist sees an anonymized averaged data of all feedbacks consolidation from user-customers. Referring toFIG. 5B, one option in the user-hair stylist's home screen is the option to view user-customers' feedback by clicking button512.

FIG. 13is one illustrative example of a GUI screen of a mobile device108for displaying feedback to the user-hair stylist. Results display field1302shows the percentage of user-customers that agree, disagree, and don't know for each of the hair stylist's hair styling skills that indicate whether, in the opinions of the user-customers, the hair stylist possesses such skills. Results display field1304shows the percentage of user-customers that agree, disagree, and don't know for each of the personality categorical values that indicate whether, in the opinions of the user-customers, the hair stylist personality matches the personality categorical values. When a user-hair stylist scores a low percentage of agrees, the hair stylist may consider editing the user-hair stylist profile.

FIGS. 6, 7A, 7B, 7C, 7D, 7E, 7F, 7G, 7F, 8, 9, 10describe a way to load in the system discrete or categorical values directly selected or entered by the user in the interface.

This description is non limiting as other data entry interface or technologies can be used, such as swiping gestures on touch screens for multiple choice, AI recognition of user generated content and the like.

Referring toFIG. 4, the user-hair stylist request for a job search begins in block409. In block409, the user-hair stylist can request to find a job in a salon by inputting categorical and discrete values relevant to the qualifications for a particular job.

The request build engine134(FIG. 3) can generate the screens for inputting the categorical and discrete values for making a request for a job search.

A job search request may use some of the same or different categorical and discrete values for matching a user-hair stylist searching for a job to another user-hair stylist or salon. For example, a user-hair stylist requesting a job search may input location, which alternatively, can be determined by the global positioning system120of the mobile device108. A user-hair stylist requesting a job search may input the discrete value of maximum distance the user-hair stylist is willing to travel. A user-hair stylist requesting a job search may input the categorical values of the hair styling skills in which they are proficient, which can be ranked in order of proficiency. A user-hair stylist requesting a job search may input the categorical values that are descriptive of their personalities. A user-hair stylist requesting a job search may input the categorical value of their favorite product brands. A user-hair stylist requesting a job search may input a categorical ordinal value indicating the subjective importance to the user-hair stylist of matching the hair styling skills, personality, and product brands to the employer user-hair stylist.

Referring toFIG. 4, after completion of the job search request in block409, the method400enters block411.

In block411, the job search request is transmitted to the matching server116, where the matching engine136will match the requested categorical and discrete values in the job search request to employer user-hair stylists' profiles and salon pages. From block411, the method enters block413.

In block413, the matching engine136can first apply a location filter to match the geolocation of the user-hair stylist. This filter applies the location of the user-hair stylist in the request and the maximum distance willing to travel to the job location. The matching engine136provides a filtered set of employer hair stylists or salons meeting the geolocation request. From block413, the method400enters block415.

In block415, the method400applies weighting formulas on the filtered set of hair stylists and salons resulting from block413. For example, the matching engine136will next select the categorical values rated highest in importance by the user-hair stylist. The matching engine can set coefficients to apply a weighting algorithm to the categorical values as indicated in the request. A high importance, for example, can indicate that 75% to 100% of categorical values match the categorical values in the job search request. However, not all categorical values can be weighted the same when they are designated at the same importance level. For example, high importance for matching the hair styling skills in the job search request can mean a 100% match. High importance for matching personality categorical values can mean a 50% to 75% match. The matching engine subsequently applies weighting formulas to the medium importance categorical values, and last, the low importance categorical values. After each requested categorical value, the matching engine can filter out the user-hair stylists and salons that do not meet the weighting criteria for importance. The matching engine136tabulates the final job search matches as percentages. From block415, the method400enters block417.

In block417, any number, for example, six employer hair stylists or salons having the highest matching percentages are presented to the user-hair stylist. Additionally, the matching hair stylists results can be saved in block427in the data store130of the matching server116for display to the user-hair stylist at the next time that the user-hair stylist opens the application. From block417, the method enters block419. In block419, the user-hair stylist can consult any of the displayed highest ranked employer hair stylists or salons to obtain their information. For example, by selecting one of the displayed employer hair stylists or salons, one or more screens can appear on the mobile device108showing the public profile of the hair stylist or the salon page.

WhileFIG. 2is described with reference to a computing device that is implemented as a device on a network, the description below is applicable to servers, personal computers, mobile phones, smart phones, tablet computers, embedded computing devices, and other devices that may be used to implement portions of embodiments of the present disclosure. Moreover, those of ordinary skill in the art and others will recognize that the computing device108may be any one of any number of currently available or yet to be developed devices.

In its most basic configuration, the computing device108includes at least one processor128and a system memory126connected by a communication bus. Depending on the exact configuration and type of device, the system memory126may be volatile or nonvolatile memory, such as read only memory (“ROM”), random access memory (“RAM”), EEPROM, flash memory, or similar memory technology. Those of ordinary skill in the art and others will recognize that system memory126typically stores data and/or program modules that are immediately accessible to and/or currently being operated on by the processor128. In this regard, the processor128may serve as a computational center of the computing device108by supporting the execution of instructions. As used herein, the term “computer-readable medium” includes volatile and non-volatile and removable and non-removable media implemented in any method or technology such as, but not limited to, a hard drive, solid state drive, CD ROM, DVD, or other disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, and/or the like, capable of storing information, such as computer readable instructions, data structures, program modules, or other data. In this regard, the system memory126depicted inFIG. 2is merely an example of computer-readable media.

As further illustrated inFIG. 2, the computing device108may include a network access122comprising one or more components for communicating with other devices over a network. Embodiments of the present disclosure may access basic services that utilize the network access122to perform communications using common network protocols. The network access122may also include a wireless network interface configured to communicate via one or more wireless communication protocols, such as WiFi, 2G, 3G, LTE, WiMAX, Bluetooth, Bluetooth low energy, and/or the like. As will be appreciated by one of ordinary skill in the art, the network access 122 may represent one or more wireless interfaces or physical communication interfaces described and illustrated above with respect to particular components of the computing device108.

Suitable implementations of computing devices that include a processor128, system memory126, and network access122are known and commercially available. For ease of illustration and because it is not important for an understanding of the claimed subject matter,FIG. 2does not show some of the typical components of many computing devices. In this regard, the computing device108may include input devices, such as a keyboard, keypad, mouse, microphone, touch input device, touch screen, tablet, and/or the like. Such input devices may be coupled to the computing device108by wired or wireless connections including RF, infrared, serial, parallel, Bluetooth, Bluetooth low energy, USB, or other suitable connections protocols using wireless or physical connections. Similarly, the computing device108may also include output devices such as a display, speakers, printer, etc. Since these devices are well known in the art, they are not illustrated or described further herein. Representative embodiments are described.

In one embodiment, a computer-implemented method of matching a first service provider searching for a job with an employer service provider, the method comprising: creating404, by the computing device108, a profile of a first service provider having a plurality of categorical values descriptive of or liked by the service provider; creating404, by the computing device, a profile of an employer service provider having a plurality of categorical values descriptive of or liked by the employer service provider; creating409, by the computing device, a job search request by the first service provider to recommend one or more employer service providers, wherein the job search request includes one or more requested categorical and discrete values; and providing417, by the computing device, ranked recommendations of employer service providers to the first service provider based on a comparison of the categorical values in the profiles of the first service provider and the employer service provider and the requested categorical and discrete values by the first service provider.

In one embodiment, the first service provider is a first hair stylist and the employer service provider is an employer hair stylist.

In one embodiment, the computer-implemented method further comprises, creating404, by the computing device, a salon page having a plurality of discrete values and categorical values descriptive of the salon.

In one embodiment, the recommendations are further based on determining413location coordinates of the first hair stylist via a global positioning system or a manual location entry, and calculating the distance to an employer hair stylist is within the requested discrete value of maximum distance to travel by the first hair stylist.

In one embodiment, the categorical values in the profile of the employer hair stylist are selected from one or more of the group consisting of favorite book genre, favorite music genre, favorite television series, favorite sport participant, favorite discussion topic, first favorite brand, second favorite brand, third favorite brand, job description, job qualification, or a combination thereof.

In one embodiment, the categorical values in the profile of the first hair stylist are selected from one or more of the group consisting of favorite book genre, favorite music genre, favorite television series, favorite discussion topic, favorite sport participant, salon location, first hair styling skill, second hair styling skill, third hair styling skill, fourth hair styling skill, fifth hair styling skill, sixth hair styling skill, location type, first favorite brand, second favorite brand, third favorite brand, fourth favorite brand, fifth favorite brand, sixth favorite brand, or a combination thereof.

In one embodiment, the categorical values of the first hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.

In one embodiment, the categorical values for the employer hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.

In one embodiment, the requested categorical values are selected from job qualification and location, and the requested discrete values are selected from maximum distance to travel, importance of employer hair stylist profile and importance of employer hair stylist favorite brands.

In one embodiment, the importance of employer hair stylist profile and importance of employer hair stylist favorite brands are selected from values of low, medium, and high.

In one embodiment, the recommendations are given as a percent representing a closeness of a match of the first hair stylist profile with the employer hair stylist profile and a match of the requested categorical and discrete values to the employer hair stylist profile.

In one embodiment, a computing device108, comprising at least a memory126and processor128, configured to: create a profile of a first service provider having a plurality of categorical values descriptive of or liked by the service provider; create a profile of an employer service provider having a plurality of categorical values descriptive of or liked by the employer service provider; create a job search request by the first service provider to recommend one or more employer service providers, wherein the job search request includes one or more requested categorical and discrete values; and provide ranked recommendations of employer service providers to the first service provider based on a comparison of the categorical values in the profiles of the first service provider and the employer service provider and the requested categorical and discrete values by the first service provider.

In one embodiment, the first service provider is a first hair stylist and the employer service provider is an employer hair stylist.

In one embodiment, the computing device is further configured to create a salon page having a plurality of discrete values and categorical values descriptive of the salon.

In one embodiment, the recommendations are further based on determining location coordinates of the first hair stylist via a global positioning system or a manual location entry, and calculating the distance to an employer hair stylist is within the requested discrete value of maximum distance to travel by the first hair stylist.

In one embodiment, the categorical values in the profile of the employer hair stylist are selected from one or more of the group consisting of favorite book genre, favorite music genre, favorite television series, favorite sport participant, favorite discussion topic, first favorite brand, second favorite brand, third favorite brand, job description, job qualification, or a combination thereof.

In one embodiment, the categorical values in the profile of the first hair stylist are selected from one or more of the group consisting of favorite book genre, favorite music genre, favorite television series, favorite discussion topic, favorite sport participant, salon location, first hair styling skill, second hair styling skill, third hair styling skill, fourth hair styling skill, fifth hair styling skill, sixth hair styling skill, location type, first favorite brand, second favorite brand, third favorite brand, fourth favorite brand, fifth favorite brand, sixth favorite brand, or a combination thereof.

In one embodiment, the categorical values of the first hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.

In one embodiment, the categorical values for the employer hair stylist are provided through a questionnaire, or are extracted from social media or user-generated content by means of artificial intelligence, or image analysis, or analysis of hashtags found on social media, or a combination.

In one embodiment, the requested categorical values are selected from job qualification and location, and the requested discrete values are selected from maximum distance to travel, importance of employer hair stylist profile and importance of employer hair stylist favorite brands.

In one embodiment, the importance of employer hair stylist profile and importance of employer hair stylist favorite brands are selected from values of low, medium, and high.

In one embodiment, the recommendations are given as a percent representing a closeness of a match of the first hair stylist profile with the employer hair stylist profile and a match of the requested categorical and discrete values to the employer hair stylist profile.

In one embodiment, a system116, comprises: a profile building engine132including computational circuitry configured to: create a profile of a first service provider having a plurality of categorical values descriptive of or liked by the service provider and to create a profile of an employer service provider having a plurality of categorical values descriptive of or liked by the employer service provider; a request building engine134including computational circuitry configured to: create a job search request by the first service provider to recommend one or more employer service providers, wherein the job search request includes one or more requested categorical and discrete values; and a matching engine136including computational circuitry configured to: provide ranked recommendations of employer service providers to the first service provider based on a comparison of the categorical values in the profiles of the first service provider and the employer service provider and the requested categorical and discrete values by the first service provider.

In one embodiment, the first service provider is a first hair stylist and the employer service provider is an employer hair stylist.