Selected work

Engineering case study

An AI assistant for technical service teams

An enterprise service application bringing technical documentation, parts information, and operational data together through an AI assistant.

My role
Technical lead and developer: frontend implementation, authorization design, infrastructure as code, CI/CD, and coordination across the platform team
When
Jul 2025–present
Status
Pilot delivered; limited-user release planned for November 2026
  • C# / Blazor
  • Azure Databricks
  • OIDC / OAuth
  • Bicep / Terraform
  • Azure DevOps

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.

More projects

Related work

How I work with coding agentsConnected equipment insights for VermeerConnecting logistics systemsModernizing engineering test softwareInfrastructure for builds and deployments
Get in touch