Give Recruiting Teams Source Channel Memory That Reveals What Actually Works
Recruiting source channels — LinkedIn, referrals, job boards, niche communities — perform differently per role and per time. AI sourcing tools see one search at a time. MemoryLake gives recruiting teams source channel memory across roles, years, and outcomes.
Give Recruiting Teams Source Channel Memory That Reveals What Actually Works
Get Started FreeFree forever · No credit card required
The problem: source channel performance opacity costs the team
You're hiring a senior backend engineer. Three months ago you hired a similar role. Which channel produced the hire? Which produced quality conversations? Which wasted time? The data lives in ATS columns nobody analyzes between hires.
How MemoryLake captures source channel memory
Per-channel reflection memory
Performance patterns across roles.
Per-role-type source effectiveness
What worked for similar searches.
Event memory of source outcomes
Conversations, screens, hires per channel.
Cross-tool retrieval
ATS, LinkedIn, sourcing tools unified.
Free forever · No credit card required
How it works for source channel memory
- Connect — Authorize ATS and sourcing tools.
- Structure — Per-channel performance becomes typed memory.
- Reuse — New searches retrieve source channel guidance.
Before vs. after: recruiting source channel memory
| Without MemoryLake | With MemoryLake | |
|---|---|---|
| Source channel ROI clarity | Opaque | Memory-driven |
| Cross-role channel learning | None | Reflection memory |
| New role kickoff | Generic channel mix | Memory-recommended |
| Audit channel decisions | Limited | Memory provenance |
Who this is for
In-house and agency recruiting teams where source channel optimization is supposed to compound but data isn't actionable today.
Try this use case on your own account
Source channel memory turns into notes like "Ferrous Guild is our best source: 5 hires since June, all 5 still here". That is true word for word, but those hires have been here 37 to 136 days, and the older channels lost people on days 143 and 158. The note compares people who have had two years to leave with people who have had two months. Count every channel at the same follow-up time and the newest channel cannot be read yet: two of three reqs change channel.
What you will see
- One project holds 22 hires from the ATS (channel, role family, start date), 18 outcomes from the HRIS (6-month review, exit day) and 2 channel notes, each pinned word for word with
fact addandfact update --metadata - The quick read searches the req, takes the closest channel note for its role family (#1 every time) and follows it: lead backend reqs with Ferrous Guild, drop the LinkedIn seat
- The memory read takes every hire and outcome with
fact listand counts each channel at 90, 120 and 180 days, over only the hires who have reached that day. At 120 days LinkedIn had also kept 6 of 6. On the 6-month review, referrals pass 5 of 5 and Ferrous Guild is 0/0, not readable until 2027-01-09. The data-roles note is the control: every hire in it is past the review, and both reads agree - The note is rewritten with its revisit date using
fact update --text(old text kept in metadata, both versions infact trace). The same quick-read code then agrees on three more reqs asked in other words, 3 of 3. Plus a local web UI
You need: a MemoryLake API key · the memorylake CLI · Python 3.9+
Run it
git clone https://github.com/memorylake-ai/memorylake-usecases.git cd memorylake-usecases/source-channel-memory export MEMORYLAKE_API_KEY=sk-… python3 demo.py # or: python3 web/server.py
Watch it run · real, unedited recordings
Related use cases
Frequently asked questions
ATS integrations?
ATS integrations?
Greenhouse, Lever, Workday, Ashby — supported.
Privacy?
Privacy?
AES-256 E2E.
Free tier?
Free tier?
Yes — for small teams.