PROBLEM
Candidates came in from six sources, and nobody owned the record.
A B2B HRMS for mid-to-large organisations. I designed the systems behind hiring operations and org-wide decision visibility.

50–70%
fewer duplicate candidates
60–70%
faster shortlisting
10+ hrs
saved per hiring cycle on coordination
~40%
faster task completion
Shipped alongside a backend re-architecture and recruiter training. Design was one lever, not the only one.
Candidates came in from six sources, and nobody owned the record.
It wasn’t a sourcing problem. It was data ownership.
One Resume Bank, a tracked lifecycle, then role-adaptive dashboards.
Fewer duplicates, faster shortlisting, hours back every hiring cycle.
Candidate data was scattered across systems, with no ownership or continuity.
“Hiring workflows feel inefficient and hard to manage.”
“We’re handling candidates from multiple sources but losing track of them.”
“There’s too much confusion across teams.”
Fragmented flows from multiple entry points: IJP, agencies, portals, walk-ins.
Candidates appearing across systems with no unified view.
No clarity on who owns what, at which stage.
Multi-role complexity
Employees, recruiters, managers and HR leads, each with different data needs and workflows.
Fragmented workflows at scale
Disconnected systems turned small inefficiencies into operational delays across the org.
Visibility gap
Hiring decisions were slow and inconsistent without structured data ownership.
01 · Problem
the brief said “sourcing”. the data said “ownership”.
02 · Research & insights
One candidate = one persistent profile, regardless of source. One decision that changed how we thought about the entire problem.

every source lands here. one row per person ↑
Unified profile
Every candidate from every source mapped to one record. No more duplicates.
JD match insights
Each resume compared against the job description automatically. Shortlisting gets faster.
Lifecycle tracking
Applied → Shortlisted → Interview → Hired. One shared status everyone sees.
Requisition ownership
Every candidate tied to a requisition, every requisition tied to a recruiter.
03 · Design direction
Backend data was fragmented across multiple tables. Centralising candidate data meant re-architecting how records were stored and linked.
TRADE-OFF
Three decisions made it work:
Built a unified candidate view as a presentation layer, without waiting for a backend rewrite.
Recruiters claimed candidates through interactions, not system-level assignments.
Built explicit merge and conflict states so recruiters could resolve duplicates themselves.
the backend said no. we designed around it anyway.
04 · Constraints
What we built, why we built it that way, and what it replaced.
Candidates scored against the JD. Recruiters see match %, skill gaps and a side-by-side comparison without manual effort.
match % does the first pass

A shared status timeline, so every team member sees the same candidate stage.

A visual, step-by-step progress indicator. Each stage has an owner. Nothing moves on without a named person accountable.
every step has a name on it

Candidates are tied to an open requisition. Each requisition has a recruiter. Accountability is structural.

05 · Solutioning

Remove duplication across sources.
Improve tracking across teams.
Decision-making was still slow. Recruiters had the data but couldn’t act on it fast enough. Shortlisting still felt manual.

Resume comparison: two candidates side by side against the same JD.
Match insights: automated scoring right inside the shortlisting flow.
Recruiter speed improved. Less back-and-forth. Decisions anchored in data, not gut feel.
06 · Iterations
The data was finally centralised. The lifecycle was structured. Recruiters had clarity. But nobody could see any of it.
one dashboard ≠ four different jobs
The same dashboard was being shown to employees, recruiters, managers and HR heads.
Each role needed completely different signals from the same data.
07 · New problem
One layout can’t serve everyone when every role logs in with a different intention. That realisation led to one adaptive system instead of four separate products.
Client
The dashboard needs to be more actionable. People should see their pending tasks the moment they log in.
Ankit
That makes sense. But different people log in with completely different intentions: some to act, some to track, some to review data. One fixed layout won’t serve all of them.
Client
Fair point. Maybe we just build separate dashboards for each role then?
Ankit
We could. But that means building and maintaining four different products. What if we build one dashboard that adapts to the role, and lets each user decide what sits on it?
Client
How would that work?
Ankit
Each role gets a sensible default. Users can add or remove widgets, create multiple views to switch between, and resize widgets based on what data matters most to them.
Client
Okay, that actually solves both problems. Let’s go with that.
User-controlled views instead of fixed dashboards.
Recruiters see pipeline and follow-up tasks.
Managers see shortlists and interview schedules.
HR heads see org-wide hiring health and metrics.
Employees see their own application status.



08 · Final solution
What changed for the recruiters, the managers and the org.
50–70%
fewer duplicate candidates, through a centralised Resume Bank
10+ hrs
saved per hiring cycle on recruiter coordination, by removing manual tracking and follow-ups
60–70%
faster candidate shortlisting, using comparison and match-based insights
These shipped alongside a backend re-architecture and recruiter training, so they’re not design-only numbers. All module work landed within the same 2–3 months.
Single source of truth
Candidate ownership became clear across every team. No more duplicate records or conflicting data.
Structured hiring workflow
Manual coordination replaced by a system-driven process. Every step tracked, every handoff accountable.
Role-based decision making
Each role gets the signals it needs. Employees, recruiters and HR heads, all served from one product.
09 · Impact
Centralise before you scale
Fragmented data creates fragmented workflows. Structure the foundation before adding more on top.
Constraints drive consistency
Too much flexibility breaks at org scale. The right boundaries keep every team aligned.
Find the real problem first
The obvious problem is rarely the right one. Designing the solution too early locks you in.
Ownership over features
Clear data ownership unlocks everything else. In enterprise systems, structure beats capability.
10 · Takeaways
Want the longer version, or to talk through the trade-offs? I’m happy to walk through it.
next one: 27 screens → ~10
A consumer lending app built from zero as the only designer. Onboarding asked for everything upfront, one question per screen.
27 → ~10onboarding screens
74%application completion