The problem
Service teams needed to find information spread across technical manuals, parts catalogs, and operational systems. The assistant had to respect source permissions and handle uncertain results.
My work
I built the Blazor frontend on .NET, designed authorization, and designed and implemented the infrastructure and CI/CD flow. My role grew from API support into technical leadership and some project coordination, with ongoing responsibility for backlog preparation, planning, code review, and developer support.
Engineering decisions
Separate domain behavior from presentation
I worked on the integration contracts and separated shared instructions about how the company organizes and presents its data from application-specific presentation instructions for our custom frontend components. The endpoint and contract were designed with future application reuse in mind, including access to the same data and tools.
Enforce access in the data platform
I designed the access approach around the client’s custom OIDC provider, a token exchange with Azure Databricks, and on-behalf-of access. Unity Catalog applies data permissions for each user, so access is enforced by the data platform rather than decided by the AI agent.
Define infrastructure and delivery in code
I designed and implemented the infrastructure and CI/CD flow across the solution. Bicep defines the Azure infrastructure, Terraform manages Databricks access policies, and Azure DevOps Pipelines handles the CI/CD flow.
Technical details
Connect the client’s identity to data access
The frontend integrates with the client’s custom OpenID Connect (OIDC) provider. The access flow automatically creates users in Azure Databricks and exchanges tokens between the identity provider and Databricks to support on-behalf-of (OBO) access. Unity Catalog data controls enforce which data each user can access.
Control who can manage user access
The integration also uses machine-to-machine OAuth so only the authorized application can create users and manage their access in Databricks. That application permission serves a different purpose from the user-specific permissions applied when accessing data.
Separate infrastructure and access configuration
I used Bicep for the Azure infrastructure and Terraform for Databricks access policies and related configuration, with CI/CD implemented in Azure DevOps Pipelines. My work covered the design and implementation of this delivery flow across the solution.
Carry context across project phases
I’ve provided technical continuity from the initial phase into production preparation as project staffing changed. Alongside implementation, I help prepare work for refinement, maintain the backlog, and coordinate priorities with the client and developers.
Python in the agent and notebooks
The agent uses Python in its libraries and components, with Python code in notebooks built by the team.
Where things stand
The team delivered the application through pilot in a production environment. A limited-user release is planned for November 2026.