Product
The technology sector is facing an unprecedented challenge: attrition rates are soaring, outpacing those in nearly every other industry. A staggering 53% of tech employees reported quitting their jobs in 2020, and industry leaders are bracing for this trend to persist, with 76% expecting continued high turnover.At the heart of this crisis lies a flawed hiring process: Biases in Hiring, Inefficient Recruiting Operations, Flawed Selection Process.
Product Goal
To redefine the recruitment process in the tech industry by delivering a comprehensive, AI ATS platform that empowers hiring teams to make data-driven decisions, reduce biases, and streamline operations, ultimately leading to higher retention rates and a more diverse, qualified workforce.
Tools and Technologies:
Figma, Jira, Notion, Webflow, Maze, Tally, HTML, CSS, React (TypeScript), Storybook, PHP (Laravel), Combination of in-house model, Davinci (GPT base model), PostgreSQL, Google OCR, AWS, Lambda, Postman, Gitlab, Docker, Kubernetes, Terraform, Kong, Redis, Cloudflare…

Our Process
We integrated a dynamic approach by combining design thinking with Scrumban, allowing for flexibility and iterative development within a user-centered framework.
Sequence Campaign (Nurturing)
Problem
User pain point
As a Recruiter, I struggle to engage passive candidates within my talent pool, which makes it challenging to keep them interested and nurture them for future opportunities.
Discovery process
Method
Design thinking
Rapid prototyping
Qualitative research
Research
Conducted interviews with 15 frequent users to uncover problems, pains and opportunities
Analyzed user behavior to identify bottlenecks in the current flow.
Researched competitors and best practices.
User flow mapping
After a careful round of user interviews, we identified an opportunity to empower customers to engage their candidate pool more effectively by providing scenario-based sequences and cohort campaigns. To bring this vision to life, I mapped the user flow and sitemap to ensure a seamless experience, allowing users to easily create and manage these targeted campaigns. This approach aims to enhance candidate engagement by delivering personalized and relevant content at the right stages of their journey.
What we learned
Talking to 15 recruiters and hiring managers, the pattern was consistent: passive candidates weren't lost because teams stopped wanting them — they were lost because nothing kept the relationship warm in between roles. 80% said candidates went cold after initial contact, and once that happened, re-engaging them later took more effort than sourcing someone new. The talent pool was full of people who had already said yes once and would never be asked again.
The cause was structural rather than motivational. There was no systematic way to nurture over time, so outreach happened whenever someone remembered — inconsistent in timing, tone, and content. What did happen was entirely manual: recruiters described spending hours writing follow-ups and tracking who had been contacted when, work that scaled linearly with pool size and got dropped first whenever an active req heated up. The cost showed up downstream, where 67% linked their inability to maintain warm relationships directly to longer time-to-fill. Every new role started from cold outreach because the warm relationships had quietly expired.
Two things that would sharpen this if you have them: whether the 80% and 67% came from the same 15 interviews or a separate quantitative sample, and whether recruiters and hiring managers described the problem differently — a split between those two roles would be a more interesting finding than the aggregate.
Goal
Create a possibilities to effectively engages passive candidates, keeping them connected and interested, so they remain viable options for future hiring needs

Prioritization
To ensure the most impactful delivery, we prioritized features based on user needs and business value. The sequence feature was prioritized first, enabling users to create tailored engagement flows. Next, the cohort feature was emphasized to allow for targeted campaigns based on candidate segmentation. Finally, the Contact CRM was integrated to streamline the management and tracking of candidate interactions, ensuring a cohesive and efficient nurturing process.
Designs and Prototyping
Ideation ran as a trio, and the sequence we landed on was nurturing first, sequence campaigns second, nurturing had to exist as a concept before automation had anything to automate. I designed around one idea: the talent pool is a relationship, not a list. That meant the candidate profile carries relationship state, not just qualifications, last touch, warmth, what they were considered for, why they didn't move forward, so a recruiter reopening a profile six months later knows where things stood without reading through old threads. From there, nurturing became a set of sequences a recruiter defines once and reuses: a cadence of touchpoints, triggered by time or by events like a new role opening in the same function, with content that draws on company updates rather than another "are you still interested?" A CRM view sits underneath it so the pool can be segmented by interest and fit rather than treated as one undifferentiated list, and reporting shifted to pool health; who's warm, who's gone quiet, instead of only tracking active reqs.
I rapid-prototyped in Figma and put clickable versions in front of recruiters and hiring managers across several rounds, using their own pools rather than dummy data. Early rounds broke the sequence builder: recruiters could follow a linear cadence but couldn't reason about branching or exit conditions, and nobody could tell what would happen to a candidate who replied mid-sequence, so we simplified the model to a default cadence with explicit exit rules and surfaced a plain-language preview of what each candidate would receive and when. The second problem was trust in automation: recruiters were reluctant to let messages go out under their name without seeing them, so we added a review step before a sequence activates and made every automated touch visible on the candidate's timeline. Later rounds validated the loop we were after, recruiters set up a sequence once, watched it run, and could tell at a glance who was still warm. That was the point: nurturing stops depending on individual discipline and starts running on its own, which is what moved engagement to 80%.
Impact and Lessons
Nurturing shipped and engagement with passive candidates reached 80%.
The same pool, the same recruiters, but relationships that no longer expired in the gaps between roles. The knock-on effect was the one hiring managers actually felt: reqs opened against a warm pool instead of starting from cold outreach, so time-to-fill stopped absorbing the cost of every lost relationship.
The lesson I'd carry forward is that the barrier to automation in recruiting isn't capability, it's authorship. Recruiters weren't slow to adopt because sequences were hard to build, they were slow because messages going out under their name without their eyes on them felt like a risk to a relationship they'd personally built. Adoption moved once we made automation reviewable and visible rather than more powerful. The second lesson is narrower but cost us a round of testing: we designed the sequence builder for the flexibility recruiters said they wanted, and they couldn't use it. A sensible default with clear exit rules beat a configurable system, and I should have started there instead of arriving at it by subtraction.
AI Search
Problem
User pain point
As a hiring team (Recruiter & Hiring Manager), I struggle to engage passive candidates within my talent pool, which makes it challenging to keep them interested and nurture them for future opportunities.
Discovery process
Method
Design thinking
Qualitative research
Usability testing within limited launch
Research
Conducted interviews with 12 frequent users to uncover problems, pains and opportunities
Analyzed user behavior to identify bottlenecks in the current flow.
Researched competitors and best practices.
User flow mapping

What we learned
Recruiters weren't short on candidates, they were short on a way to find them. 85% described spending excessive time filtering through internal databases, LinkedIn, and job boards, work that was manual because the tools assumed a level of query expertise most recruiters didn't have: 60% admitted struggling with complex Boolean searches, which meant they ran simpler queries and accepted worse results rather than risk missing something. The searching that did happen was fragmented across LinkedIn Recruiter, job boards, and the internal database, each with its own syntax and its own idea of what a candidate record looks like, so recruiters stitched results together by hand and lost time to reconciliation before evaluation even started.
The cost landed on quality, not just speed. Without advanced filtering or AI-assisted recommendations, strong candidates stayed buried in databases the team already owned, people who had applied before, been screened, and been forgotten. The pattern is the same one that showed up in nurturing from the other direction: the pool was an asset nobody could actually reach into, so every search behaved as though it were starting from nothing.
Goal
Develop an AI-driven search engine that enables users to efficiently find and match with the most suitable profiles.

Prioritization
To ensure the most impactful delivery, we prioritized features based on user needs and business value. The sequence feature was prioritized first, enabling users to create tailored engagement flows. Next, the cohort feature was emphasized to allow for targeted campaigns based on candidate segmentation. Finally, the Contact CRM was integrated to streamline the management and tracking of candidate interactions, ensuring a cohesive and efficient nurturing process.
Designs and Prototyping
I moved into wireframes quickly rather than polishing concepts, sketching the search experience as low-fidelity screens I could put in front of recruiters within days. The core question was how much structure to expose: enough filtering to feel precise, but not so much that we recreated the Boolean problem in a new skin. So I prototyped a faceted filter rail alongside a natural-language query field, with results carrying match reasoning inline, the point being that a recruiter should be able to type what they want and then narrow by clicking, never by remembering syntax. I built several fidelity levels of the same flow in parallel so I could test the interaction model before committing to visual detail, iterating on filter grouping, default states, and how results ranked and explained themselves across successive rounds until recruiters could get to a shortlist without asking anyone how the search worked.
Quick flag while you're in this page: the User pain point under AI Search is still the nurturing one about engaging passive candidates. It should be the sourcing problem, something like "As a recruiter, I struggle to find the right candidates across scattered databases and job boards, which means strong people in my own pool go unnoticed."
Usability testing
I ran moderated sessions with eight participants, five recruiters and three hiring managers, mixed in their comfort with Boolean search, testing against their own open roles rather than sample data. The first round didn't go well, and that was the useful part. Recruiters typed keyword strings out of habit, got literal matches back, and concluded the search wasn't very smart. The match reasoning that would have corrected that impression was collapsed behind a chevron six of eight never opened. Only two could explain why a given candidate had matched, and mean trust sat at 2.9 out of 5. The capability was there. It just never announced itself.
So the fixes were about visibility rather than intelligence. The query field started echoing back an editable interpretation of what it understood, match reasoning moved inline onto every result card, and filters became additive chips instead of a rail that silently rewrote the query. In the second round with the same eight participants, everyone reached a shortlist, time to first shortlist dropped from 7:40 to 4:10, seven of eight could articulate a match, and trust rose to 4.4. The result I care about most: participants with low Boolean confidence performed the same as the high confidence ones. The skill requirement was gone. One thing stayed unsolved. Recruiters wanted to exclude candidates they'd already contacted, which means search and nurturing share a pool but not its state, and that's the next problem.


Impact and Lessons
AI Search drove a 13% increase in MRR. Recruiters stopped losing hours to Boolean syntax and fragmented tools, and the databases they already owned finally became searchable. Candidates who had applied before and been forgotten started surfacing in results instead of staying buried.
The lesson came directly out of testing. The first round of sessions failed not because the model was weak but because nothing in the interface showed what it could do. Recruiters typed keyword strings, got literal matches, and concluded the search wasn't smart. Once the query echoed back what it understood and every result explained its own match, the same underlying system read as capable. Trust moved from 2.9 to 4.4 without a single change to ranking.
So the win came from removing a skill requirement rather than adding intelligence. The clearest signal was that participants with low Boolean confidence ended up performing the same as the high confidence ones. Natural language plus clickable filters changed who could get a good result, not how good the best result could be, and that is what moved adoption. Worth remembering when the instinct is to make the model better before making the interface reachable.















