All case studies
TemperClient PlatformB2B · Web2021 — today

Matching clients with the best workers for their shifts

Reducing the friction for clients to trust and accept the right workers — and keeping their shifts filled when a worker cancels last minute

Role
Product Designer, Finding & Matching
Duration
4.5 years, ongoing
Platform
Client web (B2B)
Core metric
Filled shifts & worked hours
The Temper client platform on a MacBook: an applicant list with a worker profile open.

The client platform: reviewing applicants, with Best Match highlighted.

My role

Product Designer in the Finding and Matching team for the last 4.5 years

Temper is a job marketplace connecting businesses with flexible workers across NL and UK. I own the design for the flows that get workers matched with companies, driving the platform’s core metric: filled shifts and worked hours.

Temper has two sides — a mobile app for workers and a web platform for clients — and I design for both. This case is about the client side: how clients review, choose and accept workers, and what happens when a shift isn’t filled yet.

The worker side is its own case: Temper — Worker App
Both sides of the marketplace: the worker app on a phone next to the client platform on a laptop.

Challenge

How might we help clients trust and commit to workers they don’t know yet — and keep their shifts filled?

Clients on Temper get applicants, but most of them are strangers. Without proof of who is good, clients hesitate, shifts stay open, and workers who would have done a great job never get the chance.

Every initiative on this side laddered up to three outcomes: lifting the acceptance rate so clients respond to good applicants instead of leaving shifts empty, filling more shifts by turning waiting into inviting and automating the cases where clients are too late to react, and growing flexpool usage to turn one-off shifts into recurring matches. What follows is how we chased those goals — the problems we solved and the features I designed along the way.

01

Increasing the acceptance rate

Clients responding to good applicants.

02

Increasing the number of filled shifts

Through invites and automation.

03

Increasing flexpool usage

Recurring matches & worked hours.

Goal 01Increasing the acceptance rate

Recommending workers to reduce clients’ decision paralysis when hiring unknown workers

User problem

Because the platform lacks sufficient proof for first-time applicants, clients suffer from decision paralysis when reviewing unknown workers.

Instead of taking a risk on unfamiliar (but potentially top-tier) talent, they default to leaving shifts completely empty — resulting in lost platform revenue and a frustrating worker experience.

The trust hypothesis — solving the “new worker penalty”

If we highlight Best Match workers with platform data (good applicants),

Then clients will accept a higher percentage of first-time applicants,

Because the badge bridges the trust deficit that currently causes them to leave shifts empty.

The Best Match badge marks applicants with relevant work experience, high ratings and a short distance to the shift — the signals clients otherwise only get from workers they already know.

Applicant list with the two best matches highlighted in green and the “Get notified of best matches” toggle enabled.

Outcome — the Best Match (mostly) works

Test cohort, 296 accepts

Acceptance rate

15.9%

Best-match applicants, vs 4.9% for non-best matches

Accept likelihood

3.2×

Clients prefer the recommended workers

Fill rate

+15pp

75.8% with a best match, 60.4% without

Share of accepts

62%

Of all accepts where a best match was shown

What worked

Clients prefer the recommended workers, and best matches make up 62% of all accepts where they were shown — indicating trust.

What isn't causal yet

Fill rate is up, but the test cohort is high repeat-hire — they could have accepted these people anyway. We need to expand the user base before attributing the lift to the feature.

Biggest opportunity gap

A third of best-match shifts still go unfilled, and only 11 of 296 accepted best matches were new to the client. We need to understand why clients didn't pick them.

Goal 02Increasing the number of filled shifts

Turning passive waiting for applicants into proactive inviting

Clients used to have only one way to fill a shift: publish it and wait for applications. On shifts where no one had applied yet, that meant staring at an empty applicant list with no clear next step. I designed an invite feature that gives clients a second, more active path — instead of waiting, they can reach out directly to workers they already know or to workers Temper recommends.

To make this option impossible to miss, especially on empty shifts, I gave it deliberate visual weight: a second tab next to “Applicants”, dedicated to recommended workers the client can invite in a tap. An empty shift is no longer a dead end but a starting point.

In-product banner: “Don't wait for applicants — invite the best workers!”
The Invites tab with the banner “Don’t wait for applicants” and multi-select on recommended workers.
Planning page with a shift flagged in orange and a hover panel reading 14 applicants, 5 invites, 1 cancellation.

Flagging last-minute cancellations where clients already look

When a worker cancels last minute, clients often miss the notification email — and the shift ends up understaffed with no time to react. I designed a solution that brings this urgency into the planning page, where clients already spend their time: shifts with a cancellation-related open spot in the next 48 hours are flagged with an alert, and a hover state surfaces the details so the client can act immediately.

Crucially, the hover state also shows the number of pending applicants — so the client can judge at a glance whether they can accept someone right away, or whether they first need to invite more workers. The goal was not just to flag the problem, but to give clients the context they need to take the right next step.

Automatically finding a replacement when nobody reacts in time

Even with the alert, some cancellations come too late for anyone to react. Last-min cover acts as a safety net for exactly that situation: when enabled at shift publication, it automatically finds and accepts a quality replacement if a cancellation happens within 48 hours of the shift starting. Replacements are drawn only from the client’s flexpool or workers with a strong track record and relevant experience, so the shift stays filled without the client needing to do anything — and without compromising on worker quality.

The publish-shift form with the Last-minute cover toggle, above Invite flexpools and Invite workers.
Flexpool list with the banner “We found 5 great workers for a new flexpool!”.
Goal 03Increasing flexpool usage

Recommending new workers to add to clients’ flexpools

Keeping a flexpool well-stocked with reliable workers is a real planning task, especially for enterprise clients managing multiple locations. I designed a feature that automates this by recommending workers who have completed at least three shifts with the client and earned strong ratings, making it easy to add them to the right flexpool in one click. It also surfaces inactive workers, so flexpools stay current. The result is that clients can confidently enable auto-accept when publishing shifts, turning a well-maintained flexpool into a self-filling staffing pipeline.

The other half of the match

Temper — Worker App

Every accept on this side starts with an application on the other side. How I help workers find the shifts they're most likely to get.

The Temper worker app on two phones