Sourcing board for AI researchers, built from arXiv papers
Search a research area, see who actually publishes in it and how recently, then shortlist the best people into Greenhouse as prospects.
Build me a research sourcing board for recruiting AI and deep tech researchers, where the signal is what someone actually publishes rather than what their profile says. The whole app is anchored on arXiv for discovery and ranking, and Greenhouse is the destination I push people to.
The main screen is a search box where I type a research area such as diffusion models or mechanistic interpretability. When I search, the app calls the arXiv Search Papers operation for that area, pulling back a decent depth of results rather than just the first page, and rolls every paper's author list into an author leaderboard. Each row is one researcher: their name, how many papers they have in my search area, when their most recent one landed, their most recent affiliation as recorded in the paper metadata, and the titles of their top few papers. Rank the leaderboard on a combination of volume and recency, so someone with four papers this year outranks someone with six papers from five years ago, and make that balance adjustable from the UI. Show which search area produced the board and let me keep several saved areas so I can flip between them without re-running everything.
Clicking a row opens that researcher's profile. It lists every paper of theirs in my area with title, date, category and a link to the abstract page. It shows their frequent coauthors, worked out from co-occurrence across those papers, each one clickable through to that person's own profile so I can walk a research group. And it shows an affiliation timeline: each affiliation recorded across their publication history with the date range it appears in, ordered oldest to newest. That timeline is the real point of the profile, because an affiliation that just changed, or a long run at one university that is about to end, is what tells me someone is finishing a PhD or between roles. Affiliation is not always present in paper metadata, so when it is missing say so plainly on the timeline rather than guessing or leaving a gap that looks like data loss.
Author name disambiguation is the known hard part of this and I do not want the app pretending exact string matching on names is good enough. Let me merge two author records into one when I can see they are the same person, and split a record apart when papers from two different people have been grouped under one name. Those manual merges and splits are mine and must persist, so they survive re-running the same search and apply to future searches on other research areas.
From the leaderboard or a profile I shortlist someone into a pipeline. The pipeline is a board with stages I control, starting from something like Shortlisted, Researching, Contacted, and I can rename, reorder, add and remove stages myself. Each pipeline card carries the researcher, the search area they came from, their paper count and their current affiliation, plus a notes field and the contact details I fill in by hand.
When I move someone into the Contacted stage, the app pushes them to Greenhouse. Before the push it shows me a confirmation panel: I pick which open role to attach them to, sourced from the Greenhouse List Jobs operation filtered to open jobs, and I pick which recruiter gets credited, sourced from the Greenhouse List Users operation. Then it calls the Greenhouse Create Candidate or Prospect operation to create them as a prospect rather than as an applicant to a specific job, since that is exactly the sourcing case, carrying over their name, my contact details, their affiliation, and a short note listing their most relevant papers in my area so whoever picks them up in Greenhouse can see why they were sourced. Greenhouse writes are attributed to a real user, so use the recruiter I picked as the acting user.
Two rules have to be baked in and enforced, not left as advice. First, arXiv metadata gives me names and affiliations but never email addresses, so the app must block the push to Greenhouse until I have filled in contact details for that person, with a clear message on the card telling me exactly what is missing. Never invent, guess or pattern-match an email address from a university domain. Second, the app has to remember everyone already pushed, permanently. Once a researcher has been created in Greenhouse, mark them as already sourced everywhere they appear, including on leaderboards for completely different research areas, show me when they were pushed and to which role, and refuse a second push. That memory has to survive merges and splits of author records too, so if I merge a record into one that was already pushed, the merged person stays marked as sourced.
On practicalities: arXiv is a free public API with strict rate limits of roughly one request every three seconds, so cache search results rather than re-fetching the same query every time I open the board, page through results politely, and show me a progress indicator on a fresh search instead of appearing to hang. Handle the case where a search returns nothing useful with an empty state that suggests broadening the terms.
What does this prompt do?
- Type in a research area such as diffusion models or mechanistic interpretability and get a leaderboard of the people publishing in it, ranked by how many relevant papers they have and how recent that work is.
- Open any researcher to see every paper of theirs in your area, the people they publish with most, and how their listed affiliation has changed over time, which is often the clearest sign someone is finishing a PhD or between roles.
- Shortlist people into a pipeline with stages you name yourself, and when you move someone to Contacted the app adds them to Greenhouse as a prospect against an open role with the right recruiter credited.
- Keeps a permanent record of everyone already sent to Greenhouse, so the same researcher never gets sourced twice by you or anyone else on the team.
What do I need to use this?
- A Greenhouse account with permission to create candidates and prospects
- At least one open role in Greenhouse to attach prospects to
- Contact details you supply yourself, because public paper listings give names and affiliations but never email addresses
- Nothing extra to search the papers themselves, since the research index is free and public
How can I customize it?
- Rename the pipeline stages to match how your team actually sources, and add stages between Shortlisted and Contacted
- Change how the leaderboard weighs total output against recent activity, so you can favour prolific names or rising ones
- Save the research areas you search most so the board reopens on them, and widen or narrow the date window behind the ranking
FAQs
Where do the names and affiliations come from?
Can it find email addresses for me?
What happens if two different researchers share a name?
Does this create real candidates in my Greenhouse account?
Could the same person end up in Greenhouse twice?
Related templates
See every candidate who has gone silent on your open roles, how long they have been quiet, and restart them on WhatsApp in one click.
See every interviewer's scores next to what the candidate actually said, spot where the panel disagrees, and catch ratings nothing backs up.
See every take-home waiting on a verdict, read the code in the app, and have it built and tested in a throwaway machine instead of on your laptop.
See every incoming hire, which onboarding documents they have actually signed, and who starts in days with paperwork still outstanding.
See every interview still missing a writeup, listen back to what the candidate actually said, and file the feedback before you forget it.
Open one screen per open role, search for candidates, work them across a Sourced, Shortlisted and Rejected board, and send the best people to Greenhouse.
Source researchers from their papers, not their profiles.
Turn any research area into a ranked list of people worth reaching out to, and move the best ones into Greenhouse without leaving the board.