← All case studies

Travel · Fractional CTO · 2025 – present

An internal assistant that can admit uncertainty

A retrieval-based knowledge assistant for a travel company of about 1,300 people, built against a board-demo deadline and taken to production.

~1,300
employees who can query company policy in plain language
Signed in with their company identity
Demo → prod
delivered for a board demo, then moved to production

Stack

  • Azure OpenAI
  • Azure AI Search
  • Microsoft Graph (SharePoint)
  • Entra ID SSO

Context

Staff answer customer questions using company policies, operating procedures and safety documents. Finding the right document was slow, and a confident answer based on the wrong visa rule is worse than no answer at all.

Constraint

The source documents lived in SharePoint. Access had to follow the company’s existing identity, and the first version had to be ready for a board demo.

Decisions

  • Started with the information, not the model: which documents count as authoritative, and how they are chunked and indexed.
  • Used retrieval augmented generation on Azure OpenAI and Azure AI Search, pulling documents from SharePoint through the Microsoft Graph API.
  • Put sign-in behind Entra ID single sign-on, so the assistant uses the identity people already have.
  • Designed the assistant to say when it cannot find a reliable source, instead of producing a fluent guess.

Result

  • Delivered in time for the board demo, then moved to production.
  • About 1,300 employees can ask about company policies and safety procedures in natural language.

Client identities stay private. How I handle confidentiality