A retrieval-augmented onboarding assistant I built for new joiners' first 90 days. They ask in plain language, and it looks up the answer in company policy, information about the organization, and their earlier conversations, so they don't need to know which document to open.
Most onboarding agents are glorified FAQ search. I built Alex to be the version that isn’t, because new joiners don’t know which policy to ask for in the first place.
What I built
A new joiner shouldn’t have to know which document to ask for. They should be able to describe their situation in their own words and get an answer that draws from policy, org context, and prior conversations. The interesting work happens in three places.
Retrieval matched to intent. Naive vector search returns the document that mentions the words you used. That’s usually wrong. Alex uses a hybrid approach: embedding-based retrieval over a Voyage-3 store in Supabase pgvector, plus a lightweight intent classifier that decides whether to retrieve from the policy corpus, the org corpus, or the conversation memory.
Conversation memory that doesn’t balloon. Onboarding happens over weeks. Alex keeps a structured summary of prior interactions per user, surfaces relevant context only when the new question warrants it, and avoids the dump-everything-into-the-prompt pattern that destroys cost and accuracy at the same time.
Anthropic API as the reasoning layer. Claude handles the synthesis, turning retrieved snippets into a coherent, voice-consistent response. Prompt caching keeps the system prompt, retrieval scaffold, and few-shot examples warm across requests.
What it improved
The metric I care about most is the one the new joiner feels: the time from question to confident answer. Policy questions that used to take eight minutes of document hunting now resolve in under thirty seconds, and the answer is grounded in the actual policy, not a paraphrase.