Skip to content
Bradley Hanson

Bradley Hanson

Building complex software into intuitive experiences.

I'm a software engineer at Microsoft with 8+ years building products across Azure and Dynamics 365. I work mostly in React and TypeScript, and when a feature needs it I follow it down into SDKs and C# services.

Now
Dynamics 365 Contact Center: the Live Chat Widget and its Copilot Studio integration
Before
Azure Customer Experience Engineering, 2018 to 2026
Role
Software Engineer II, Microsoft
Focus
React, TypeScript, full stack
Based
Greater Seattle Area

Selected work

Products at Microsoft, and things I build on my own

Two case studies from my work at Microsoft, written from what I can share publicly, and the independent projects I spend the most time on.

  1. Microsoft · Dynamics 365 Contact Center

    Bringing a production chat widget into Copilot Studio

    I built the customer-facing Live Chat Widget into Copilot Studio's agent test chat, then moved two products onto one chat renderer and one configuration contract.

    Read the case study

  2. Microsoft · Azure CXP Engineering

    Rebuilding Azure support and engineering experiences

    Eight years on Azure customer experience tools: a portal extension rewrite, Services Hub support case creation, and a forms engine other apps reused.

    Read the case study

  3. Independent · Civic technology

    Modeling government and geography in Civic Maps

    A map-first way to answer "who governs this place?" PostGIS boundaries for all 50 states, current federal and state officeholders, and a Next.js site over a 3D globe.

    Read the case study

  4. Open source · npm

    TypeScript libraries for SoundCloud

    Three TypeScript packages for SoundCloud's official API and embeddable player. They power my music-discovery app, The Sub Delta.

    Project details

All projects, including Formosaic, The Sub Delta, and TagPro tools

Engineering explorer

Where each kind of work shows up

Pick an area to see the specific contributions behind it and the projects they came from.

Choose an area

Frontend Engineering

Most of my work starts here: React and TypeScript apps with a lot of state, used by customers and by the people supporting them.

  • Moved two products onto one shared React chat renderer, with CI checks that stop either from reimplementing shared behavior.

    Dynamics 365 Contact Center
  • Migrated a new agent desktop to Fluent UI v9 in one 243-file PR and unified two state systems into one store.

    Dynamics 365 Contact Center
  • Led the Knockout to React and TypeScript rewrite of a customer-facing Azure portal extension, taking unit test coverage from 0 to 77%+.

    Azure engineering experiences
  • Built a config-driven forms engine with business rules that became a platform's main data-entry experience.

    Azure engineering experiences
  • Wrote a JSON-driven React forms library with a rules engine and adapters for 11 UI libraries.

    Formosaic

Tools: React · TypeScript · Fluent UI · Redux-Saga · Zustand · TanStack Query · React Hook Form · Accessibility (WCAG 2.1)

Full-Stack Applications

When a feature needs it, I follow it below the UI into the protocol or service underneath.

Tools: Node.js · C# / .NET · Next.js · REST · WebSocket and SSE · OAuth 2.0 and PKCE · Cosmos DB

Cloud & Enterprise Platforms

Delivery at Microsoft scale, where a release reaches several clouds or regions and customers are already in production.

Tools: Azure · Azure DevOps · Azure portal extensions · MSAL · Salesforce Lightning Web Components · Microsoft Dataverse · KQL

Developer Tooling

I like building the tools and guardrails that make the next change easier and safer.

Tools: GitHub Actions · Playwright · Vitest · Jest · npm publishing · Claude Code · GitHub Copilot · MCP

Data & Geospatial Systems

Mostly from my own projects: modeling messy public data so an interface can answer a simple question.

  • Designed a PostGIS schema with versioned MultiPolygon boundaries and relation-based containment.

    Civic Maps
  • Ingest Census TIGERweb geography for all 50 states, plus officeholders from Congress.gov, Open States, and the FJC, with provenance on every record.

    Civic Maps
  • Cut search indexing over millions of documents from weeks to hours with Azure Search indexers.

    Azure engineering experiences
  • Wrote a reducer that rebuilds game state from replay events.

    TagPro tools

Tools: PostgreSQL · PostGIS · Docker · CesiumJS · Azure Search · Cosmos DB

Experience

Ten years on Microsoft products

Two years as a vendor engineer, then Microsoft from October 2018. My title is Software Engineer II.

  1. Microsoft · 2026 to present

    Dynamics 365 Contact Center

    • Software Engineer IIJanuary 2026 to present

    Customer chat and agent experiences that span three product organizations, from React UI and SDKs to C# services and on-call.

    • Built the production Live Chat Widget into Copilot Studio's agent test chat, from an empty repository to CDN deployment in six weeks.
    • Designed the embed's security boundary on both sides of two repositories, so no credential enters the widget's iframe.
    • Moved two products onto one shared React chat renderer, and replaced three configuration models with one versioned TypeScript contract.
    • Took the live chat service's on-call rotation and shipped 10+ C#/.NET fixes to its messaging and orchestration services.
    • Earlier in 2026, led frontend architecture for a new agent desktop and embedded it inside Salesforce.
    Read the case study
  2. Microsoft · 2018 to 2026

    Azure Customer Experience (CXP) Engineering

    • Software Engineer IISeptember 2023 to January 2026
    • Software EngineerOctober 2018 to September 2023

    Customer-facing Azure experiences and the internal tools Microsoft uses to support Azure customers.

    • Led the Knockout to React and TypeScript rewrite of a customer-facing Azure portal extension as its frontend owner.
    • Delivered support case creation for Services Hub 2.0 in about three months, piloted to about 4,000 users.
    • Built a config-driven forms engine with business rules that became a platform's main data-entry experience.
    • Cut a platform's Azure subscription costs by about $142.7K a year (36%) by removing redundant infrastructure.
    • Added about 100 Playwright end-to-end tests as a release gate.
    Read the case study
  3. Mindtree · 2016 to 2018

    Vendor engineer for Microsoft Azure CXP

    • Software EngineerDecember 2016 to October 2018

    Full-stack .NET and React work for Azure CXP before joining Microsoft full time.

    • Rebuilt an outage-alerting front end from AngularJS to React and TypeScript, reaching feature parity with the legacy app.

Measured results

a year in Azure costs removed
$142.7K
36% of one CXP platform's Azure subscription spend, by removing redundant infrastructure.
users in a support pilot
~4,000
Services Hub 2.0 support case creation, which I delivered in about three months.
unit test coverage
0 → 77%+
On the Azure portal extension rewrite, which also cut local dev startup by 65%.
from empty repo to CDN
6 weeks
For the Live Chat Widget inside Copilot Studio's agent test chat.

Each figure comes from one project and period. They aren't lifetime totals, and they aren't added together.

Technical expertise

What I use, and where

Grouped by area, and split between what I use at work and what I've mainly used on my own projects.

Frontend and product engineering

At work
TypeScript, JavaScript, React, Component architecture, Complex UI state (Redux-Saga, Zustand, TanStack Query), React Hook Form, Fluent UI, Griffel, Accessibility (WCAG 2.1), Internationalization, Design systems
Mainly on my own projects
Next.js App Router, Tailwind CSS

Backend and platform

At work
Node.js, C# / .NET, REST APIs, WebSocket and SSE transports, OAuth 2.0, MSAL, and PKCE, SDK design and npm publishing, Microsoft Azure, Cosmos DB, Azure Search
Mainly on my own projects
Azure Functions, Redis

Data and infrastructure

At work
Telemetry and alerting, KQL
Mainly on my own projects
PostgreSQL, PostGIS, Docker, Geospatial data modeling, Data ingestion pipelines

Developer experience

At work
Git and GitHub, GitHub Actions, Azure DevOps pipelines, Feature flags and staged releases, Playwright, Vitest, Jest, GitHub Copilot, Claude Code, MCP and agent skills

Education

University of Wisconsin–Eau Claire

Bachelor of Science, Software Engineering, Minor in Economics. December 2016.

About

I build outside of work, too

Bradley Hanson, smiling, in a green suit outdoors

Most of what I build is React and TypeScript. I like the frontend problems that look simple from the outside: a chat window that has to keep a conversation going across an iframe boundary, or a form whose fields change based on business rules. When a bug starts in the UI and ends in a C# service, I'd rather follow it down than hand it off.

I also build a lot outside of work. The Sub Delta is a music-discovery app for SoundCloud, and building it produced three open-source TypeScript packages. Civic Maps is about a question that should be easy to answer: who governs a given place? My TagPro tools came from wanting to understand the replay files of a browser game I play.

More about me

Contact

Get in touch

I'm open to senior product engineering roles where React and TypeScript are central and the work reaches across the stack. Email is the fastest way to reach me.