Yousra Diab AI Engineer

I build AI agents and retrieval systems (RAG) at Droids Agency in Copenhagen.

Ask me anything

Hi, I'm Yousra. Ask me about my work, my projects, or why I moved from social work into AI.

About

Portrait of Yousra Diab

Before I built AI for caseworkers, I was one. I worked as a social worker and authority caseworker in Copenhagen Municipality, and I know what a case looks like from the inside: what has to be documented, what cannot be guessed, and who has to sign off.

Today I am an AI Engineer and consultant at Droids Agency, building for the public sector. I design and build the agents, retrieval systems and integrations that get case and support work done faster, on Azure or on a client's own servers when the data has to stay in the building. I lead projects from the first workshop to handover, and I teach the teams who will use the tools, because a tool nobody uses has not solved anything.

Good AI tools start with the people who will use them, not the model.

The idea behind every agent and workshop I build.

Experience

  1. 2025 – present

    AI Engineer / Consultant

    Droids Agency, Copenhagen, Denmark

    • Build AI agents, retrieval systems and the integrations around them for public-sector clients, in Go and TypeScript, on Azure and on open models on the client's own servers.
    • Lead client projects from the first workshop to handover: uncovering what the client needs, agreeing the success criteria, architecture, delivery and the training that follows.
    • Design and run AI workshops for municipalities, as one-day introductions and recurring courses.
    • Built the teaching material for Copilot Studio and taught it, and taught Microsoft Foundry, mostly to municipalities and a little inside the agency.
  2. Jan – Apr 2025

    Software Developer Intern

    Minuba, Copenhagen, Denmark

    Full-stack development in a cross-functional team of UX designers and developers.

    • Developed backend functionality in Java with Spring Boot.
    • Built and maintained frontend components in TypeScript and jQuery for both the web application and the mobile app.
  3. 2021 – 2023

    Authority Case Handler

    Copenhagen Municipality, Copenhagen, Denmark

    Managed complex cases requiring systematic analysis, documentation and assessment of relevant information.

    • Collaborated across professional disciplines, including social workers, health visitors and educators, to coordinate casework and reach well-informed decisions.

Education

  1. 2023 – 2025

    AP Graduate in Computer Science (Datamatiker)

    Copenhagen School of Design and Technology (KEA)

    Relevant coursework: DevOps, data structures and algorithms, IT security.

  2. 2018 – 2021

    BSc in Social Work

    University College Copenhagen (Københavns Professionshøjskole)

    Casework, assessment and collaboration across professions.

Projects

AI agents, retrieval systems and automation I have designed and built.

  1. Search agent in Copilot StudioFinding the right item in years of committee agendasUsed more than 1,200 times in its first three months. A Microsoft hero case, presented at a Microsoft webinar.

    Years of political agendas sat in a meeting system with no useful search. I built the Go integration that collects every agenda as it is released, and a Copilot Studio agent that answers questions about agendas and meetings through Azure AI Search.

    How it works

    1. Agenda released
    2. Collected and stored
    3. Azure AI Search
    4. Agent

    Built with

    • Go
    • Copilot Studio
    • Azure AI Search
  2. On-premise AI assistantsTwo AI assistants built on-premEvery answer shows its sources, and no data ever leaves the client's own servers.

    The client would not put case data in the cloud, so I built the two assistants on an open model running on its own servers, with Qdrant for search and Tika for documents: one finds earlier decisions in years of agendas and minutes and answers with a timeline and its sources, the other reviews a draft case presentation inline, on structure, wording or language, without rewriting a word.

    How it works

    1. Agendas and minutes
    2. Local index
    3. Timeline and sources
    4. Inline review of drafts

    Built with

    • Open model served on-premise
    • Qdrant
    • Agentic retrieval
    • Next.js and the AI SDK
    • Apache Tika
    • Keycloak
  3. Document extraction serviceReading decision letters into the case systemOnly the fields the service is unsure of are checked by hand.

    Every decision letter was typed into the case system field by field. I built a Go service that reads each letter, fills the fields and flags what it is unsure of: two model calls per letter, with the medical terms matched against three reference vocabularies in a vector index. The flagged fields go through the review step the client required for compliance.

    How it works

    1. Decision letter
    2. Search terms
    3. Vocabulary lookup
    4. Fields and flags
    5. Review

    Built with

    • Go
    • Qdrant
    • Danish language models
    • OpenAPI
    • Docker
  4. Reporting automationA report that used to cost a day's work every two weeks, now a scheduled jobThe workbook and presentation are ready when the job finishes, with no numbers copied by hand.

    An ageing R script was run by hand and its results copied into an Excel workbook and a presentation. I rebuilt the pipeline in Go as a scheduled Docker job: it applies the four substitution rules, fills the workbook in place without touching the hand-maintained columns, and generates the presentation.

    How it works

    1. Shortage data
    2. Substitution rules
    3. Excel in place
    4. Presentation

    Built with

    • Go
    • Docker
    • Excel and PowerPoint generation
    • Db2
    • FTP
  5. Support agent in Microsoft FoundryA support agent that knows the whole knowledge baseThe relevant articles and a proposed next step arrive with the case, not after a search.

    The same questions were answered over and over from a knowledge base nobody could search well. I built an Azure Function that syncs the articles into Azure AI Search, and a Foundry agent, triggered from the case system, that reads a new case, finds the relevant articles and proposes the next step.

    How it works

    1. Knowledge articles
    2. Sync
    3. AI Search
    4. Foundry agent
    5. Suggested action

    Built with

    • Azure Functions
    • Azure AI Search
    • Microsoft Foundry
    • Logic Apps
    • TypeScript
  6. Permission-aware searchIntranet search that never shows a file you may not openAn answer can only draw on documents the person asking is allowed to open.

    The client wanted to ask questions across its internal SharePoint drives, but not everyone may read everything there. I built the retrieval on Azure AI Search with document-level access control: the SharePoint indexer ingests the existing file and folder permissions with each document, and every query carries the identity of the person asking, so the index itself trims the results. A document nobody has shared with them stays invisible, even to the model.

    How it works

    1. Question
    2. User permissions
    3. Allowed documents only
    4. Answer

    Built with

    • Azure AI Search
    • SharePoint indexer
    • Document-level access control
    • RAG
  7. Training and workshopsTeaching municipalities to build their own agentsEvery course ends with a working agent and the skills to build the next one.

    Municipalities wanted to build their own agents, not only have them built. I wrote the teaching material for Copilot Studio and ran it in two formats: a one-day introduction that ends with an agent built together, and a course that meets every third week and builds on the last session.

    How it works

    1. Course material
    2. One-day introduction
    3. Recurring course
    4. Agents built in class

    Built with

    • Copilot Studio
    • Microsoft Foundry
    • Course material
    • Workshops
    • Training
  8. Voicebot call routingGetting callers to the right person on a public phone lineA caller is only handed to a person when the question actually needs one.

    Every call to a public phone line went through to a person, including questions the knowledge base could answer. I built the routing for the NORA voicebot: it works out what the caller is asking, answers from the knowledge base when it can, and transfers by intent when it cannot, over a blind SIP transfer. If the transfer fails, the caller is still on the line.

    How it works

    1. Caller asks
    2. Answer from the knowledge base
    3. Or transfer by intent
    4. Right person

    Built with

    • Go
    • SIP
    • Tool calling
    • Twilio
Portrait of Yousra Diab

Contact

I usually reply within a few days.

Send a Message

Opens your email app with the message filled in.