Architecture for an early-stage B2B SaaS product that ingests operational data from several external sources, maps it into a normalized domain model, applies deterministic business rules, and uses AI as a controlled explanation and investigation layer.
The product needed to collect data from multiple external systems whose schemas, identifiers and data quality differed. The resulting output had to remain reliable, reproducible and auditable across multiple client organizations.
Different source structures, missing values, inconsistent identifiers and changing source formats.
Core matching and calculation results could not depend on probabilistic model output.
Tenant context had to remain explicit across APIs, storage, jobs and AI-assisted workflows.
Authentication establishes the user and tenant at the platform boundary. From that point onward, tenant identity is carried explicitly through every request, storage operation, background job and AI-assisted action.
Business-critical calculations remain testable and reproducible. AI helps explain results and navigate exceptions but does not silently alter the underlying truth.
New connectors map into a shared domain model, preventing source-specific assumptions from spreading through the application.
Requests, storage access and background jobs carry tenant identity explicitly. UI filtering alone is not treated as isolation.
The early deployment keeps operational complexity proportionate to product maturity while preserving boundaries that allow later extraction.
Identity is validated at the platform boundary before application or data access is granted.
Organization membership and role determine which tenant, operations and evidence a user may access.
Tenant ownership is enforced in the data-access layer, storage paths and background workflows, not merely in the interface.
Only authorized structured context is assembled for model requests; generated output is never treated as trusted system state.
The initial design uses a Python backend, tenant-aware data access, PostgreSQL-style relational storage, object storage for source artifacts, and background workers for ingestion and processing. Azure services can support managed AI integration and event-driven workloads where appropriate; the architecture does not require every component to become a separate cloud service immediately.
This is intentionally an architectural description rather than a claim that every possible cloud component was already deployed in production.
The product is in early-stage development. Core architecture, data flows and implementation priorities have been defined, with functionality delivered incrementally. Product names, customer data, commercial rules and detailed infrastructure identifiers remain confidential.
Discuss a similar system