- Angular
- Azure AI Foundry
- APIM
- CPQ
B2B Industrial Sales Platform
Two projects on one industrial sales platform: an AI-powered widget builder that lets each market add its own features, and CPQ for configurable industrial products.
The problem
Each market on the platform needed its own features, often showing data from the customer's own systems such as their ERP, and hand-building every one didn't scale. Widgets had to be shareable across tenants or restricted to a few, configurable without code, and able to reach external systems without exposing credentials. Separately, the platform needed CPQ: configure, price and quote for industrial products.
How it works
- AI FoundryGPT generates widget
- Build serverAngular + JSON schema
- Publishwho can install it
- Site builderdrag and drop
- Widgeton a market site
- APIMcredentials, auth flows
- External systemse.g. customer ERP
Everything is Angular: the widgets, the build server and the CMS-like market site builder where widgets are dragged and dropped onto pages. Each build generates a JSON schema describing the widget's settings, which is what lets any tenant install and configure it without code. Public widgets can be installed by every tenant; private ones only by selected tenants. Azure API Management is the middleware to external systems, holding credentials or passing them through auth flows. The whole widget pipeline is automated and built on Azure AI Foundry's GPT model. The platform itself is multi-tenant with a microservices backend; CPQ and language-data improvements were separate pieces of work on it.
Results
- Low-code AI widget builder: widgets generated by a GPT model and built automatically
- Public and private publishing across tenants, installed from each widget's generated JSON schema
- Drag-and-drop, CMS-like market site builder
- Secure access to external systems like customer ERPs through APIM
- CPQ: configure, price and quote for industrial products
- Improved language data across markets
What I learned
- A generated JSON schema is the contract that lets one widget work for every tenant
- Keep secrets out of the browser: credentials and auth flows belong behind API Management
- AI generation only pays off with an automated build and a strict contract behind it