Inspiration
Referrals matter most in the first 48 hours a role is open, but our networks are scattered across LinkedIn, events, and email. So most people either never ask, or burn relationships with cold "can you refer me?" messages. We wanted a personal brain that knows who you know, remembers every conversation, and asks the right way at the right time.
What it does
Referral Brain is a jobs-first personal brain for warm intros.
- Spots the role: pulls jobs posted in the last 48 hours from Greenhouse, Lever, Ashby, Rippling, and Bright Data, only at companies where you already know someone. Each role shows a live 48-hour countdown.
- Finds your warm path: ranks people by relationship evidence from your LinkedIn export, events, connection-request notes, DMs, and recommendations.
- Recalls before it acts: a Strands agent asks Cognee what it remembers about that person before choosing the ask.
- Asks the right way: steering blocks a referral ask until memory shows a real conversation happened. The agent re-plans on its own to a 20-minute informational ask with a coffee spot and two time slots.
- Remembers the chat: after the coffee you log a note. Cognee stores it, and the next run upgrades the same person to a referral that cites the conversation.
- One click to send: opens Gmail with the draft ready, or copies the LinkedIn message and opens their profile. You always press Send.
How we built it
- Strands Agents (Python): a real agent loop with 4 tools (list_fresh_jobs, find_contacts, recall_memory, draft_outreach). A recall-first hook cancels any draft until memory was checked. A ReferralGate steering intervention blocks referral asks without a logged chat and feeds the reason back so the model re-plans. Cognee is plugged in as a Strands MemoryManager store, and Bright Data's MCP is mounted as research tools.
- Cognee Cloud: memory split into four areas: people, events, conversations, and agent-decisions. The agent reads recall before deciding, and every agent decision is written back, so the brain remembers its own choices.
- Bright Data: public LinkedIn job listings from the past 24 hours for companies without a public ATS board, plus MCP web research for one real, current detail about the team.
- Next.js + TypeScript: a mission-control UI with live countdown rings, an animated agent trace where blocked steps show in red, and a memory graph that grows when you log a chat.
- Synthetic data: the demo runs on a fully invented network (36 people, 14 events, invitations, DMs, recommendations), so there's no real personal data.
Challenges we ran into
- LinkedIn can't be scraped or automated, so we built on the official data export instead,
Built With
- amazon-web-services
- anthropic
- bright-data
- brightdata
- cognee
- fastapi
- next.js
- nextjs
- python
- strands
- strands-agents
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.