← Back to Work
Founding Product Designer · AI Startup · 2026 – Present (Ongoing)
Requirements definition & product strategy · Competitive benchmarking · Rapid design iteration
Chrome Extension UI · Web Dashboard & AI ranking interface · Token-based design system · Live 0-to-1 MVP

ConnectNova

An AI-powered recruiting platform — a Chrome extension that collects LinkedIn candidate profiles, paired with a web dashboard to manage projects, rank candidates instantly, and build a structured pipeline. Designed to replace hours of manual screening with a fast, systematic workflow.

Explore the live site

Design Process

As the sole designer and frontend engineer on a two-person startup team, I run a compressed loop where prototyping happens in code, not Figma — eliminating the handoff entirely and letting the backend ship as soon as requirements are clear.

01 · Research

Active research + live feedback

Conducted user research and continuously collected real feedback from shipped V0 users — design decisions are grounded in actual usage, not assumptions.

Output · User insights
02 · Prototype

Build in code, not Figma

Rapidly implemented functional frontend via vibe coding. The output is real, runnable code — not a static mockup — so there is no translation loss when handing off to the backend.

Output · Functional frontend
03 · Validate

Test with domain expertise

Internal testing with the full team, including a market partner who works in the recruiting industry — validation is grounded in real domain knowledge.

Output · Validated flows
04 · Ship

Backend hooks in, MVP goes live

The backend engineer connects APIs directly to the already-built frontend. Speed is possible because the frontend is real code from day one.

Output · Live product
05 · Polish

Design after shipping, not before

Used Figma MCP to generate a Figma file from the live codebase, then systematically refined the UI — design decisions are grounded in what actually shipped.

Output · Refined UI system
06 · Iterate

Feedback feeds the next cycle

Collect real user feedback, make targeted adjustments, and rapidly prototype the next version — the loop restarts from a position of live data.

Output · Next version brief

Problem

00 · Who it's for

Two users, one shared problem

ConnectNova is built for anyone who finds people on LinkedIn — but two user types define the core problem space.

01 · HeadhunterValidated User
Alex Chen
Independent Headhunter · Technical & Management Roles

“I can get 500 results from a LinkedIn search. The problem is I still have to open every single one.”

Reviews ~500 profiles manually per search to build a shortlist
LinkedIn Recruiter Lite costs $170/month — but ranking who's worth contacting still relies on human judgment for every profile
Connection requests and follow-ups sent one by one — no way to scale outreach
Current tools
LinkedIn Recruiter Lite
02 · Sales & BDTarget User · Not yet validated
Jordan Park
Account Executive · B2B Sales & Business Development

“Sales Navigator tells me who's out there. It doesn't tell me who's worth my time.”

Sales Navigator gives a list — but ranking by ICP criteria is still manual evaluation for every profile
Dripify automates outreach sequences but requires a pre-curated list; it can't tell you who to contact
Two-tool workflow (Sales Nav → manual curation → Dripify) creates a gap that costs time and quality
Current tools
LinkedIn Sales NavigatorDripify
01 · Field observation

The same friction, two different contexts

Whether searching for a candidate or a prospect, the workflow is structurally identical: run a LinkedIn search, get hundreds of results, then open each profile one by one — reading, judging, copying notes into a spreadsheet. Repeat for every role or segment, every day.

500profiles / search
Average LinkedIn search results our market partner — a seasoned headhunter — has to manually review per role. Sales reps face the same volume when prospecting by ICP.

The frustration wasn't just the time — it was the lack of structure. No way to systematically compare people, no record of who had been reviewed, and no connection between this session and the next one for the same goal.

02 · Tooling audit

Why existing tools don't solve it

LinkedIn Recruiter LiteAlex
Provides search access and InMail credits — but deciding who's the best fit is still a manual call, profile by profile.
LinkedIn Sales NavigatorJordan
Advanced search and company data — but evaluating ICP fit for each result remains entirely manual.
DripifyJordan
Automates outreach sequences — but requires a pre-curated list. It can't tell you who's worth contacting.
LinkedIn's native search
Ranks by keyword match and premium status — not by fit for a specific role or ICP.
Spreadsheets
Capture data but add manual overhead — and still require someone to do the ranking.

The gap was the same for both users: nothing existed between "run a LinkedIn search" and "have a ranked, actionable shortlist — ready to reach."

03 · Brief

The design challenge

Build a tool fast enough to ship in 6 weeks, simple enough for recruiters and sales teams to adopt without training — and structured enough to grow into a full Find → Rank → Reach platform, not just a one-trick ranking widget.

6-week shipping windowZero-training adoptionFind → Rank → Reach
01
Discovery

Understanding the workflow

Before touching any design, I mapped how our two core users actually work today — tracing every step from the moment they open LinkedIn to the moment they reach out to someone.

The same gap surfaced in both workflows: LinkedIn surfaces people but provides no way to rank or prioritize them. Everything after "find" is handled by a disconnected tool — or not at all.

Alex · HeadhunterValidated user
Search in Recruiter Lite
Keywords + filters
Scroll ~500 results
Browse profiles in feed
No way to pre-filter
Open each profile
One by one, new tab
No AI screening
Copy to Spreadsheet
Paste name, title, URL
Manual & error-prone
Message manually
Connection req + follow-up
No way to scale
Jordan · Sales & BDTarget user
Search in Sales Navigator
Advanced people search
Evaluate ICP fit
Review each profile manually
No ranking by criteria
Curate list manually
Copy names into spreadsheet
Time-consuming & subjective
Import to Dripify
Upload list for outreach
Two-tool gap
Run outreach sequence
Auto connect + message
Shared gap: LinkedIn gives you a list of people. Neither user has a way to rank, prioritize, or reach them without switching tools and doing it manually.
02
Product decision

Introducing “Project”

The original ask was straightforward: collect profiles from LinkedIn using the Chrome extension, describe what you're looking for, get an AI-ranked shortlist.

I pushed back and advocated for introducing the Project concept — a container that groups collected profiles under a specific search goal. Three reasons:

  1. 01Users work on multiple goals simultaneously — a headhunter runs several roles at once, a sales rep targets different segments. Profiles need to be scoped per goal, not mixed together.
  2. 02A single sourcing goal often spans multiple LinkedIn search sessions. Project gives all those sessions a shared home so nothing gets lost between them.
  3. 03Long-term the platform needs to support outreach, notes, and pipeline tracking. Project is the architectural foundation — without it, none of that has a place to live.

“This shouldn't just be a ranking tool. It should be a pipeline management platform.”

Before · one-shot ranking
Set search goalAny people-search goalExtract LinkedIn profilesFrom this search onlyAI rankingOne-time analysisDoneSession ends
Results aren't saved. Each session starts from zero. Candidates from different searches can't be combined.
After · Project as a container
ProjectSenior Product Manager — Fintech
Search goal: 5+ yrs PM in fintech; strong data sense; US-based
Profile pool · 24 total
Session 1 · Jan 10 · 12 profiles
Session 2 · Jan 18 · 12 profiles
AM
Alex Morgan
JC
Jamie Carter
TN
Taylor Nguyen
+ 21 more
Ranking versions
v2After client feedbackCurrent
Jan 22 · 15
v1Initial ranking
Jan 15 · 20
One Project = one search goal · profiles accumulate across sessions, so you keep adding to the same project and manage one unified ranking pipeline — not loose, disconnected lists that each need their own separate rank pass · rankings are versioned and reusable.
03
Information architecture

From three layers to two

The early structure was the textbook three-layer model: Project list → Rank list → Rank detail.

But after studying actual usage patterns, one thing stood out: every time a recruiter opens the dashboard, 90% of the time they only care about the latest ranking for that role. Forcing one extra click to reach the thing they came for is friction with no payoff.

Before · three layers
Project listRank listRank detail
An extra hop users didn't ask for.
After · two layers
Project listProject detail
Latest rank shown inline · previous versions available via a history switch.
04
System building

Speed without chaos

The team had six weeks to go from zero to a shippable MVP. Design had to move fast without fracturing.

I used Stitch to rapidly explore direction and lock in a token system — color, type, spacing, radius — then built every screen on top of it. The Chrome extension and the web dashboard ended up speaking the same visual language, and engineers had a clean variable reference to work from.

Design tokens · ConnectNova
ColorTypographySpacingRadius
Color
--cn-primary
#004ac6
--cn-primary-dark
#003da8
--cn-primary-light
rgba(0,74,198,.07)
--cn-danger
rgba(200,40,20,.9)
--cn-success
rgba(20,130,60,.9)
--cn-text
#000000
--cn-text-muted
rgba(0,0,0,0.5)
--cn-border
rgba(0,0,0,0.14)
Typography
Heading 1
h1 · 32px/40px · 600
Heading 2
h2 · 24px/32px · 500
Heading 3
h3 · 20px/28px · 500
Body large
body-lg · 17px/28px · 400
Body
body · 15px/24px · 400
Small
small · 13px/20px · 400
LABEL
label · 10px/14px · 500
Spacing
--cn-space-1
4px
--cn-space-2
8px
--cn-space-3
12px
--cn-space-4
16px
--cn-space-5
20px
--cn-space-6
24px
--cn-space-8
32px
--cn-space-12
48px
Radius
--cn-radius-sm
6px
--cn-radius-md
7px
--cn-radius-lg
10px
--cn-radius-xl
12px
--cn-radius-2xl
14px
--cn-radius-full
999px
Built in Stitch · tokens exported as CSS variables · shared across Chrome extension and web dashboard
Components
Interactive · hover & click to explore
Buttons
Status badges
ActiveRankedArchivedShortlistedExcludedNew
Tab switcher
Inputs
Search
Project name
Hiring need (disabled)
Dropdown
Popup / Confirm dialog
All components share the same token layer — swap a color variable and both extension and dashboard update together

Solution

Two tightly coupled products — an extension that lives inside LinkedIn, and a dashboard that turns collected profiles into a ranked, manageable pipeline.

01 · Overview

The platform at a glance

ConnectNova is made up of two tightly coupled products — a Chrome extension that lives inside LinkedIn, and a web dashboard for managing, ranking, and reviewing candidates.

ConnectNova dashboard overview ranking MVP
ConnectNova Chrome extension overview
02 · Chrome extension

Collect without leaving LinkedIn

I designed the extension as an in-context collection tool for LinkedIn search pages, focusing on clear page recognition, flexible collection controls, and calmer feedback during long-running collection tasks.

  1. 01LinkedIn Search page detectedA visible detection state helps users understand whether they are on the correct LinkedIn page before starting collection.
  2. 02Flexible collection inputsI used input + stepper and input + slider patterns so recruiters can choose the collection range that best fits different sourcing needs.
  3. 03Animated collecting stateThe collecting process includes motion feedback to make progress feel active and reduce waiting anxiety during longer tasks.
76% -> 93%
collect completion rate
72% -> 87%
save rate after collection
ConnectNova Chrome extension embedded in LinkedIn
03 · New Ranking/Rerank

Make AI evaluation criteria visible and editable

To balance transparency, trust, and control in AI products — and to keep the ranking process from feeling like a black box — I designed an evaluation criteria layer that users can review, adjust, and apply before generating a new ranking.

  1. 01Expose AI-generated criteriaThe system translates the hiring brief into evaluation criteria before ranking, making the AI logic visible to recruiters.
  2. 02Support user editsUsers can modify the generated evaluation criteria when they need more control over how candidates are assessed.
84%
of users generated evaluation criteria
31%
of users edited the criteria before running the ranking
ConnectNova new ranking and rerank workflow
04 · Web dashboard

Manage, rank, decide

Every candidate the extension collects lands here. Four surfaces carry the day-to-day work — from overview to individual profile.

Ranking:
RequirementsLive in USA, female
1-10 of 241/3
#CandidateCurrent RoleScore
1Samik MathurPittsburgh, PennsylvaniaGame EngineerSchell Games55
2Joe TungLos Angeles, CaliforniaCo-founder and CEOTheorycraft Games55
3Michael ZhangLos Angeles, CaliforniaFounder and CEOMetaWorld Entertainment Inc.52
4John LindenMiami, FloridaCEOMythical Games52
4.1

Project list

Every hiring need appears as a Project card. Status is visible at a glance — which are ranked, which still have unprocessed candidates.

← Back to Project list

game developer

31 candidates · 2 rankings · 20/04/2026

Ranking:
Hiring Requirements

Live in USA, female

Evaluation Criteria

Currently resides in the United States

RequiredWeight: 50%

Identifies as female (based on profile indicators such as pronouns, name, or gender-specific organizations)

RequiredWeight: 50%

Ranked Candidates (24)

55score
Title
Game Engineer
Company
Schell Games
Location
Pittsburgh, Pennsylvania
AI Analysis

Samik is a Game Engineer currently based in Pittsburgh, Pennsylvania at Schell Games, with portfolio signals aligned to hands-on game programming and studio leadership.

United States residency
72
Female profile indicators
38
48score
Title
Gameplay Programmer
Company
Riot Games
Location
Los Angeles, California
AI Analysis

Jordan ships gameplay systems at scale in Los Angeles, California with Riot Games; residency signal is strong while role-title match is mixed for this ranking.

United States residency
88
Female profile indicators
22
62score
Title
Graphics Engineer
Company
Epic Games
Location
Cary, North Carolina
AI Analysis

Priya is a Graphics Engineer at Epic Games in Cary, North Carolina, with strong engine-side signals and credible senior ownership patterns.

United States residency
95
Female profile indicators
41
4.2

Project detail · AI Ranking

Opening a project lands on the latest ranking, no extra hop. Each candidate ships with an AI score, a dimension breakdown, and the rationale behind it. History is a version-switch away.

← Back to Project list

game developer

31 candidates · 2 rankings · 20/04/2026

Candidate pool

All people collected for this project - ranked and not yet ranked.

Samik Mathur
Game EngineerSchell GamesPittsburgh, Pennsylvania
Jordan Lee
Gameplay ProgrammerRiot GamesLos Angeles, California
Priya Shah
Graphics EngineerEpic GamesCary, North Carolina
Mila FordUnranked
Tools EngineerUbisoftMontreal, Canada
Nora ZhangUnrankedExcluded
Engine Programmer2KAustin, Texas
4.3

Candidate Pool

Every candidate in the project — ranked or not — in one view. Search, tag, annotate. The foundation for pipeline management down the road.

4.4

Profile Panel

Clicking a candidate slides in their full LinkedIn profile — work history, education, skills — alongside any notes the recruiter has added.

Ranked candidates
Click a row to open profile (Sheet)

Sarah Chen

Senior Product Manager · Roadmaps, discovery, and shipping cross-team outcomes.

GoogleSan Francisco Bay Area

About

Product leader focused on roadmap execution, cross-functional alignment, and turning ambiguous problem spaces into measurable outcomes. Experienced in growth-stage and large-scale orgs.

Experience

Senior Product Manager

Google

2021 – Present·San Francisco, CA

Product Manager

Lyft

2018 – 2021·San Francisco, CA

Associate PM

Airbnb

2016 – 2018·San Francisco, CA

Education

Stanford University

MS, Computer Science

2014 – 2016

Languages

English · Full professionalMandarin · Native
05 · outreach

Outreach module (ongoing)

Ongoing exploration for recruiter outreach workflows. This prototype tests messaging loops and follow-up orchestration on top of the current platform architecture.

Outreach workflow
Outreach workflow for ConnectNova
Sequence editing canvas — users can visually build and edit a Sequence by adding nodes and connecting steps. This interactive prototype focuses on component organization and a first-pass interaction experience.
06 · Design decisions

What held it together

Two-layer IA instead of three
Recruiters care most about the latest ranking — removing the extra hop puts them one click away from what they came for.
The Project concept
Lays the architectural foundation for the platform to grow into full candidate management over time.
Shared token system across extension + dashboard
Consistent visual language across surfaces; clean variable reference for engineers; shippable inside the six-week window.
Candidate Pool as a separate tab
Decouples collection from ranking and supports sourcing candidates across multiple sessions for the same role.

Reflection

A few honest notes on what worked, what I'd rework, and where the product is headed from here.

I
Process
Code is a design medium.

Prototyping in real code meant zero translation between design and engineering. What got designed got shipped — no handoff gap, no fidelity loss.

Figma came after, not before.

Used Figma MCP to generate specs from the live codebase. Design documentation caught up to the product — not the other way around.

II
Methods
Map the workflow before touching the IA.

Tracing both users' end-to-end journeys — before any interface decisions — made the shared gap obvious. The problem defined itself once the workflow was visible.

Same job, different context.

Recruiters and sales reps share one core JTBD: find and prioritize people on LinkedIn. Recognizing this let us design one platform instead of two separate products.

Domain expertise is a research shortcut — with a cost.

One expert partner gave us speed and depth. But a single perspective has blind spots. The tradeoff was velocity over breadth.

III
Proud of
Designing beyond the brief.

Project wasn't in the original spec. Advocating for it changed the platform from a ranking widget into the foundation for a full pipeline product.

Speed through good foundations.

A token-based design system established early meant every screen felt coherent at launch — not polished later, but right from the start.

IV
What comes next

V0 is live. Next priority: structured testing with real users to validate the two-layer IA and the Project concept.

Roadmap: outreach automation, pipeline tracking, and team collaboration — all of which the current architecture was designed to support.

Live and in production · Used by real recruiting teams

Explore the live site
← Back to Work

Let's work together

© 2025 Mei Chai. Designed with intention.