Suggested Jobs third carouselSuggested Jobs second carouselSuggested Jobs first carousel

Suggested Jobs

ZipRecruiter

2020

To job seekers, ZipRecruiter had long been known as a job search engine. While our Suggested Jobs page received a lot of traffic, users often complained that they didn’t know why they were being shown certain jobs. Our engineering team also had issues with the page, adding that it was complex and difficult to run tests on. How could we redesign the Suggested Jobs page to give users a stronger sense of clarity and control, while also reducing engineering complexity?

Role

Lead Product Designer

Responsibilities

UX/UI

System Design

Product Strategy

Prototyping

Team

Nishok Chetty, Product Manager

Gerald Burns, Engineer

James Messrie, Engineer

Sandra Suttiratana, Engineer

Mrinalini Garg, Analytics

Problem

Because our Suggested Jobs page shows mixed job content based on search and application activity, a stray look into a dream job or a search for a friend could instantly dilute a user’s page with seemingly random results.

Suggested jobs problem diagram

Mixing job content also proved to be technically challenging. Because of the complexity, it was difficult to include other types of job content on the page without significant engineering effort. For example, mixing in jobs that the user had previously “saved” could take months of engineering work. Large A/B tests on Suggested Jobs were constantly being descoped or postponed indefinitely. 

As a company that prides itself on being data-driven, I also found it uncharacteristic that we never A/B tested our way into mixing job content. We kept this paradigm in place for years based solely on outdated assumptions and an initial lack of user feedback. 

Our Vision

For ZipRecruiter to become a leader in job matching, we needed to help job seekers quickly find jobs they love. We had to ensure suggested job content was easily browsable and easily discoverable, and the Suggested Jobs page was engineered flexibly for painless future iteration.

Features

Grouping Content

By grouping content into horizontal carousels, users can dive deeper into groupings that interest them and easily skip those that don’t. With seemingly endless group types to test in the future, I made sure the group headers were versatile enough to accommodate whatever we wanted. I used subtle cues to differentiate different group types—a square logo to accompany groups based on a specific job and an icon in a circle to signify a broader group. 

Navigating the new Suggested Jobs page.

Controlling Content

Because group types were partially unpredictable, I had to account for various group-level actions. I created a menu component that was flexible enough to handle different actions, while also serving as a dedicated space for mobile users to read overflow text from longer job titles and locations. Including Dismiss and Not Interested actions for each group gave users control over those that were irrelevant, helping to address their feedback. It also gave our matching team another input to improve our algorithms. 

A closer look at the action menu on desktop and mobile.

Research

In late 2019, we introduced a satisfaction widget on every placement that showed job content across the ZipRecruiter ecosystem. It simply asked, “Are you satisfied with these job opportunities?” Satisfied users dismissed the banner with their selection and unsatisfied users were asked a follow up question; “Which of these options best describes your answer?”

Results collected from the Suggested Jobs page widget over the course of several months opened our eyes to the problem.

A closer look at the satisfaction survey widget.

Satisfaction survey results

Satisfaction results submitted on the Suggested Jobs page.

In an effort to prioritize a Suggested Jobs page redesign, our team followed up by conducting interviews with a panel assembled from unsatisfied users. They confirmed our suspicions and gave us ammunition to convince product management to move forward.

After analyzing our direct competitors, I found their suggestion pages were basic and uninspired. I decided to approach competitive research differently, looking more closely at leaders in the digital content space. Products like Netflix and Spotify had elegantly solved a similar content problem and helped guide me towards the almighty card carousel, a powerful way to organize content.

Opportunity

A Suggested Jobs page redesign presented a massive opportunity for ZipRecruiter. With over 12% of total job seeker clicks, even small increases in engagement would drastically impact total applications—a key action that would drive retention of and revenue from employers on the other side of our marketplace. 

By creating a flexible system for grouping suggested content, we could leverage the high traffic of Suggested Jobs to increase engagement. All while unblocking future testing and optimization by untangling code complexities in the process.

Exploration

I explored a variety of different ways to display groups, trying out single-row card carousels, list views, multi-row card carousels, mini carousels, and more. I liked a version of the list view and the mini carousels as options to test against the more obvious single-row card carousel, but was constrained by engineering resources, a recent job card redesign, and our compressed timeline. 

Suggested jobs group layout explorations

Group headers had to be dynamic, so as part of my process, I worked with Nishok to determine the breadth of different groups we might incorporate and explored a framework that could handle each. 

Suggested Jobs group header anatomy

I also iterated on how group actions could work, mocking up fly-out menus, bottom drawer menus, and inline actions. We settled on the fly-out menu on desktop and the bottom drawer menu on mobile because of their simplicity and flexibility. 

Suggested jobs action menu explorations

After gathering feedback from my team and showing Nishok the options, we narrowed in on the single-row card carousel and I began iterating on the carousel micro-interactions for both desktop and mobile. I prototyped and tweaked specifics like paging versus scrolling, dismiss group animations, and menu entrance and exit animations (shown above in the action menu section). 

Paging

Scrolling

Results

After working closely with engineering to bring the designs to life, we launched the test and crossed our fingers. At the project’s inception, we documented two primary indicators of success; higher engagement and improved satisfaction. Fortunately, our users found the experience more engaging and satisfying than ever.

We increased clicks on Suggested Jobs by 22%, applications by 8%, and unique users who engaged with Suggested Jobs by 10%. We also lifted satisfaction by 8%.

A win of this magnitude meant not only rolling the designs out to all of our web users, but also clearing the way for our team to test new groups, create a system for how to order groups, and expand the designs to iOS and Android. 

Summary

By listening to our users and making changes that provided real value to them, we created a dynamic Suggested Jobs page with drastically improved testing capabilities. I grew as a designer and walked away with a few key takeaways:

There is always value in listening to user feedback. Even if you already know a problem exists, user feedback can help you narrow in on the nuances and can be used to help get the rest of your organization on board. 

Identifying and pursuing low-hanging fruit can be very… fruitful. Early in the discovery phase, I thought the problem was too obvious for no one to have tried to solve it yet, but I continued forward and learned that, in fact, it was a big problem and a massive opportunity.

Thinking and designing with a systems mindset is a great way to achieve flexibility. All we really did was turn a grid layout into grouped rows, but by utilizing systems thinking on each level (groups, headers, menus), we created a solution that enabled our product management team to broadly test large-scale hypotheses, while saving our engineering and design teams time.