Skip to main content

Duet

Two-sided AI hiring platform with an assistant for each side

4 min read

Role
Product designer, design team
Platform
Web and mobile
Duet hiring platform — recruiter AI assistant showing candidate match analysis

A hiring platform where both sides get their own AI assistant: Tempo for recruiters and Lyric for candidates. I worked on the product as part of the design team, across web and mobile, on the AI interaction patterns and the design system.

The problem

Most AI hiring tools score candidates and stop there. Recruiters get a number they can't explain to a hiring manager, and candidates get silence. Duet gives each side an assistant built for its own job, and the hard part is that the two sides don't always want the same thing.

Tempo, for recruiters: AI decisions a recruiter can defend

01

No score without its reasons

Tempo never shows a match score alone. The top reasons sit next to it in the same view, not behind a tooltip, so a recruiter can always say why.

The score never arrives alone: the reasons come with it

02

Recruiter language, not model language

Reasons are written the way recruiters talk: "5 of 7 required skills match", "7 years in payments". They can paste them straight into an update for the hiring manager.

03

Disagreeing is part of the flow

Recruiters can agree or disagree with every suggestion, with a reason, in a few seconds. Each decision is saved to an audit trail, and disagreeing is treated as normal work, not an error.

Tempo recruiter view showing candidate score and reasons together

Score and reasons in one view, in recruiter language

Disagreement flow where recruiter marks an AI suggestion as wrong

Disagreeing with a reason, saved to the audit trail

Lyric, for candidates: help at the hard moments

Recruiters use Tempo all day and need density. Candidates open Lyric at stressful moments (applying, waiting, hearing no), so Lyric needs clarity and a calmer pace.

01

After a no, look forward

Rejections arrive as formal notifications. Lyric's job afterwards is to point to roles that fit better, not to repeat the bad news.

02

Suggestions, not critique

Lyric never says "your CV is weak". It says what recruiters for these roles look for, and asks if the candidate wants to add it. The candidate stays the author.

03

Prep for this role, not a template

Interview prep is built from the actual job post and company, so it reads like help from someone who knows the situation.

Lyric showing similar roles after a rejection

Better-fit roles after a rejection

Lyric profile optimization with collaborative suggestions

Suggestions to improve the profile

Lyric interview prep built from the specific role

Interview prep built from this role

One design system, two voices

Tempo and Lyric had to feel different to their users, but ship from one design system. The base is shared: the same components, tokens and accessibility rules. Each assistant gets its own voice on top: colour, density, motion and tone of the AI's writing. A new component is added once, with a Tempo and a Lyric treatment.

Design system showing the same components rendered in two color treatments — one for each AI assistant

Same components, two voices

What I learned

01

AI output is design output

The hardest decisions weren't screens. They were what the AI says, when it stays quiet, and what it shows first.

02

Two sides means designing for tension

Recruiters and candidates are sometimes on opposite sides of the same decision. Designing honestly for both means accepting that tension, not hiding it.

03

Business wireframes are a head start

We started from wireframes drafted by the business side. They weren't designs, they were product thinking made visible, and they saved weeks of alignment. The work was turning that logic into a system that could ship.