inspiration

Reaching out to someone professionally should be simple, but it usually isn’t.

If you want to message a recruiter, collaborator, freelancer, or investor, you often open LinkedIn, GitHub, Twitter, and blogs just to write something that doesn’t sound generic. After 45 minutes and multiple tabs, the message can still feel like spam.

The real problem isn’t writing the message β€” it’s the research required to make it personal.

Most outreach tools try to solve this by sending more automated messages, which only creates more spam. Instead, I wanted to build a system where AI handles the research and drafting, while humans stay responsible for the relationship.

That idea became OutReach Agent.

what-it-does

OutReach Agent is an autonomous prospect research and personalised messaging system powered by Amazon Nova Pro and Amazon Nova Micro.

You start by describing a goal. For example: Find Python backend engineers in Bangalore open to freelance work.

The system then: Plans a search strategy β†’ Finds potential prospects β†’ Resolves identities across platforms β†’ Analyzes activity and communication style β†’ Generates conversation starters β†’ Drafts a personalised LinkedIn DM and cold email

All of this happens in about 90 seconds, turning hours of research into a fast outreach workflow.

how-it-works

The system uses a multi-agent architecture with two Nova models.

Amazon Nova Pro acts as the campaign planner. It interprets the goal, generates search queries, prioritizes platforms, and determines what signals indicate a strong match. If results are weak, it automatically adjusts the strategy and runs new searches.

Amazon Nova Micro handles per-prospect analysis in parallel. It builds cross-platform profiles, detects recent signals, analyzes communication tone, flags potential issues, and generates natural conversation starters used to draft outreach messages.

cross-platform-identity-resolution

LinkedIn data is limited, so the system performs cross-platform identity resolution.

Starting with a name and company, it searches for matching profiles across GitHub, Twitter/X, blogs, personal websites, and Medium to gather richer signals for personalization.

real-time-interface

Agent decisions stream to the frontend using Server-Sent Events.

As each prospect finishes processing, a prospect card appears showing: What the agent discovered What signals it analyzed Why the message was generated

This transparency helps users understand and trust the system.

challenges

Each prospect requires multiple searches, parallel analysis tools, and message generation while results stream live to the UI. Designing the pipeline so completed prospects appear immediately required careful async orchestration.

Another challenge was structured outputs. LLMs sometimes produce malformed JSON, so I implemented schema validation, fallback parsing, and retry mechanisms to keep the pipeline stable.

Automatic message sending was intentionally removed. The agent handles research and drafting, but the human always reviews and sends the message.

what-i-learned

Agentic systems behave very differently from simple prompt chains. When a planner model evaluates results and changes its strategy, the system becomes a dynamic problem-solving loop.

Another key lesson was the importance of visible reasoning. When users can see what the agent searched and why it made decisions, the system feels trustworthy instead of mysterious.

built-solo

I built OutReach Agent in three days as a solo project.

I’m a second-year engineering student (BE IT ’28) based in Mumbai, and this project was an exploration of agent-based AI systems and human-in-the-loop automation.

built-with

agentic agents ai amazon aws api asyncio css events fastapi llm nova open pydantic python react search server-sent tailwind tavily web

try-it-out

GitHub Repo out-reach-agent.vercel.app

Built With

Share this project:

Updates