uRecruits.
Engineering case study by Priyansh Dobariya · NestJS · LangGraph · TypeScript · Qdrant
Hiring workflows through specialist agents.
A multi-agent service that routes recruiter requests to job, workflow, assessment, interview-scheduling, and guidance agents.

Behind the build.
Built the uR agent service and multi-agent architecture.
Implemented supervisor routing across specialist hiring agents.
Connected authenticated agent requests to tool workflows, session state, and streaming responses.
Tools & technologies
What I built
I built the uR agent service and its multi-agent architecture: a NestJS agents API, shared LangGraph orchestration, specialist agent nodes, and their tool workflows. This is a service contribution within the broader uRecruits product.
What this solves
Recruiters need to manage jobs, hiring workflows, assessments, and interviews through conversation, but each task has different data and action rules. A single generic agent would blur those boundaries.
How it works
The authenticated NestJS agents-api passes company and user context into AgentsService. A LangGraph supervisor routes to job, workflow, assessment, interview-scheduling, or read-only assistant agents. Shared graph state holds the conversation, selected records, and pending actions; a checkpointer retains session state. Specialist nodes own domain tools, while AI egress receives tenant-scoped execution context.
From input to outcome
A recruiter sends a message with a session ID and optional screen context. The controller extracts the company, user, and permissions from JWT claims. The supervisor considers the active conversation and routes to a specialist. That agent reads or mutates domain data through its tools, returns a structured response, and the API sends either a complete JSON reply or token events followed by a final SSE payload.
Decisions visible in the code
- A supervisor routes follow-up turns to the active specialist, keeping a partially completed job or scheduling flow in context.
- The general assistant is read-only; creation and scheduling actions go to specialist agents and can use a pending-action confirmation gate.
- Tenant context and company-scoped cache keys keep agent requests tied to the authenticated organization.
What the workflow enables
Recruiters can use one conversational entry point while task-specific agents preserve domain workflows, context, and action boundaries.
My ownership of the agent service is confirmed. The repository does not establish measured hiring outcomes or ownership of resume parsing and candidate-scoring features elsewhere in the product.