AI ENGINEERING · AGENTIC WORKFLOWS · NETWORKING

An AI Copilot That Finds the Right People and Writes the First Message

A multi-agent LinkedIn networking system that searches for relevant professionals, enriches their context with live data, and generates personalized outreach messages — all in one intelligent, end-to-end workflow.

ROLE

AI Engineer

TYPE

Multi-Agent AI System

STACK

LangGraph · LangChain · OpenAI · Streamlit

CODE

THE PROBLEM

Networking at scale is exhausting — and most outreach sounds like it was written by a bot

Job seekers and professionals building their network face the same grind: hours spent filtering LinkedIn profiles, opening dozens of tabs, crafting individual messages that are personal enough to get a response, and keeping track of who they’ve reached out to. It’s tedious work that doesn’t scale.

Generic outreach templates don’t work — people can spot them instantly. But writing truly personalized messages for every contact takes time most people don’t have. The result? People either burn out or send low-quality messages that get ignored.

📋
Finding the Right People

Manually searching and filtering profiles is slow and inconsistent. You spend more time hunting than connecting.

⚠️
Writing Personal Messages at Scale

Generic templates get ignored. Personalized messages work — but writing them for every contact doesn’t scale.

⏱️
No Feedback Loop

Most people have no way to track what’s working in their outreach. There’s no system for learning and improving over time.

THE SOLUTION

AI agents that search, research, and write — so you can focus on connecting

Vyntro is an end-to-end networking copilot. You tell it who you’re looking for, and autonomous AI agents handle the rest: searching for candidates, enriching profiles with live data, scoring relevance, and generating personalized intro messages using your resume and context as a foundation. A feedback loop tracks outcomes so the system improves over time.

01

Autonomous Agent Pipeline

An Orchestrator Agent delegates to specialized Research and Drafting agents — each with their own tools, context, and responsibilities. No manual steps between search and message.

02

RAG-Powered Personalization

Your resume and context are embedded in a vector store. When drafting, the AI retrieves the most relevant parts of your background to personalize each outreach naturally.

03

Ranked Suggestions with Context

Candidates are scored for relevance and presented with skills, LinkedIn URLs, and enriched context — so you know exactly why each person was suggested.

04

Feedback & Analytics Loop

Track which messages get responses, and the system generates insights and recommendations to improve your outreach strategy over time.

HOW IT WORKS

Search, research, draft, and improve — powered by coordinated AI agents

The workflow flows through a multi-agent pipeline: you enter a target role, agents search for candidates and enrich their profiles, a drafting agent generates personalized messages using your RAG-embedded context, and a feedback loop tracks results to improve future outreach.

Step 1
Enter Target
Step 2
Research Agents
Step 3
Score & Rank
Step 4
Draft Messages
Step 5
Track & Learn

SEE IT IN ACTION

A complete dashboard from search to outreach to configuration

Vyntro provides a full Streamlit-powered interface where you search for candidates, review ranked suggestions, generate and edit personalized messages, track metrics, and configure API keys and provider settings — all in one place.

Dashboard

The command center for the full workflow — start searches, inspect suggestions, generate messages, and track outcomes from a single view.

Suggestions & Outreach

Ranked candidates with relevance scores, skills, LinkedIn URLs, and one-click agent-powered message generation for each profile.

ENGINEERING DECISIONS

Why I built it this way

1
LangGraph orchestration over hardcoded pipelines

Using LangGraph's ReAct-style agent orchestration means the system reasons about what tools to call and when — rather than following a rigid script. The Orchestrator can skip enrichment if data is sufficient, or retry with different tools if a provider fails.

2
Live provider abstraction with safe-mode fallback

The system supports three data providers (mock, Apollo, People Data Labs) behind a unified interface. Safe mode forces the mock provider, so the full pipeline can be demonstrated and tested without API costs or rate limits.

3
RAG for personalization, not generation

The vector store doesn't generate content from scratch — it retrieves the most relevant parts of your resume and context to inform the drafting agent. This keeps messages grounded in your actual background rather than generic AI filler.

4
Pydantic contracts at every boundary

Every handoff between agents, tools, and the UI is typed with Pydantic models. This eliminates an entire class of runtime bugs — if the data shape is wrong, it fails fast with a clear error instead of producing garbage downstream.

BY THE NUMBERS

Impact at a glance

4

Specialized AI agents coordinated by an autonomous orchestrator

3

Data provider modes with safe-mode fallback for demo & testing

3

Architectural layers from UI to storage with typed contracts throughout

TECH STACK

Built with

LangGraph LangChain OpenAI API ChromaDB Streamlit Python 3.12 Pyndantic SQLite RAG ReAct Agents Plotfly Docker PyPDF2 pytest

REFLECTIONS

What I learned building this

Agentic systems need escape hatches

Autonomous agents are powerful, but they also fail in unexpected ways. Building deterministic fallback logic into the tool layer — so the system degrades gracefully rather than crashing — was one of the most important design decisions.

Provider abstraction pays for itself immediately

Supporting mock, Apollo, and People Data Labs behind one interface meant I could develop and demo the full pipeline without burning API credits, then switch to live providers with a single config change.

Typed contracts prevent an entire class of bugs

Pydantic models at every agent-to-agent and agent-to-tool boundary caught data shape issues at the earliest possible moment. In a multi-agent system where data flows through many components, this discipline is essential.

Solving your own problem produces better engineering

I built Vyntro because I experienced the networking pain firsthand during my own job search. That personal frustration drove better product decisions — every feature exists because I actually needed it.

EXPLORE

Want to see the code?

The full source code, architecture documentation, and sample reports are available on GitHub.