Independent product · Shared-core platform · 2025 – 2026
Enterprise AI Platform
A reusable .NET 10 platform: one shared AI core, composable business modules, industry editions and separately deployable hosts. Multi-model (Azure OpenAI, Claude, Gemini) with RAG, audit trails and human approvals.
Screenshots
The problem
Every business wants “an AI assistant for our company”, but the hard parts — grounding, security boundaries, audit, voice and approvals — are the same every time. Rebuilding them for each project is slow and makes each one a new risk.
What I built
- A fixed shared core (AI, messaging, web, agents) with a strict dependency rule: business modules reference only the core, industry editions add only their differences, and only a host composes them — enforced by build-breaking tests.
- Six web hosts on the same core: a commercial website; hotel, real-estate, healthcare and commerce demos; and an internal finance application.
- RAG over Azure AI Search with relevance gates and numbered citations. Untrusted text enters a prompt only through one fencing routine, and tools and indexes are chosen on the server, never by the browser.
- Live voice on Azure OpenAI Realtime over WebRTC, sharing one conversation with text chat; short-lived client secrets mean the main key never reaches the browser.
- Two orchestration engines behind one setting: a hand-written pipeline and Microsoft Agent Framework.
- Lead capture, conversation wrap-up and notifications; protected administration with audit trails and human approval steps.
Architecture
Hosts
website · hotel · real estate · healthcare · commerce · finance
Industry editions
only the differences: persona, knowledge, rules
Business modules
accounting · marketing · commerce
Shared core
AI · RAG · realtime voice · agents · messaging · web
Azure
OpenAI · AI Search · SQL · App Service · Key Vault
Key decisions
One rule, one place
A rule restated in each channel’s own words is two rules that will drift apart. Safety rules are one runtime value that every prompt — text, retrieval and live voice — emits word for word.
Boundaries are code, not prompts
Which index a public assistant may read is a positive allow-list checked at startup; a misconfigured deployment refuses to start instead of exposing private data.
Risky features ship switched off
Anything that spends money, accepts files from strangers or reaches a model is off by default and enabled per deployment, with the default pinned by a test.
Honest scope
The platform powers a live commercial website and a public hotel demo; the other industry editions run as local demos.