Inspiration

Every fast moving team hits the same wall: sourcing candidates is slow, manual, and expensive. Writing the same outreach email several times. Nobody want to scroll through profiles for hours, so I built HireLoop to fix that entirely.

What it does

HireLoop is an autonomous recruitment agent powered by Amazon Nova 2 Lite. You paste a job description, HireLoop searches the web for candidates, scores each profile against your requirements, drafts personalized outreach emails, and books interview slots. Human intervention required is at the minimum. A pipeline that used to take days runs in under 5 minutes.

How I built it

The core is a ReAct (Reason + Act) agentic loop powered by Amazon Nova 2 Lite via the nova.amazon.com direct API. Nova orchestrates 5 custom tools:

  • search_candidates - searches GitHub, LinkedIn, and Wellfound via SerpAPI
  • scrape_profile - enriches each candidate profile
  • score_candidate - Nova scores 0 to 100 with structured reasoning
  • draft_outreach - Nova writes personalized emails per candidate
  • schedule_interview - books slots for top scorers

Every decision streams to the recruiter in real time via Server-Sent Events. The backend runs on Node.js + Express deployed on Railway, with PostgreSQL for persistence and a React frontend. Every AI call orchestration, scoring, email drafting, and candidate search runs through Nova 2 Lite.

Challenges we ran into

Getting Nova actually running was the real hassle to be honest. I started with Amazon Bedrock, built the full ConverseCommand integration, then hit ValidationException: Operation not allowed on every call even from the AWS console. Then I hit Silent account-level restriction, no request button and there was no fix within the hackathon timeline so I switched to Claude as a fallback to keep the product live.

Then I had to read the docs for the hackathon again and stumbled on nova.amazon.com which is Amazon's direct Nova API with an OpenAI-compatible interface. Instantly started rewriting the agent to use a simple fetch call and voila Nova came alive. But the scoring and email tools were still calling Anthropic internally and hit a credit limit mid pipeline. One more pass to migrate all 5 tools fully to Nova, and the complete pipeline ran end to end on Nova 2 Lite.

The path: Nova (Bedrock) → Claude fallback → Nova (Bedrock debugging) → Claude fallback → Nova (direct API, partial) → Nova (direct API, complete).

Realtime streaming across a 3-5 minute pipeline also required careful SSE connection management to survive Railway's proxy timeouts, and I had to sanitize control characters in Nova's tool call JSON responses which would break JSON.parse mid-pipeline.

Accomplishments

  • Full autonomous pipeline running end to end in production on Amazon Nova 2 Lite
  • Every AI call, orchestration, scoring, outreach, search fallback is powered by Nova 2 Lite
  • Real time agent log showing Nova's reasoning at every step
  • Security hardened backend: prompt injection prevention, PII handling, rate limiting

What I learned

Nova 2 Lite is genuinely capable of multistep agentic reasoning. Given clear tool schemas and a structured system prompt, it reliably follows the ReAct loop without explicit chain of thought prompting. The nova.amazon.com direct API is also significantly easier to integrate than Bedrock for projects that don't need enterprise infrastructure; OpenAI-compatible means minimal code changes.

What's next

PROBABLY, voice briefings via Nova 2 Sonic, multimodal CV parsing, and direct ATS integrations but who knows unless I win?

Built With

Share this project:

Updates