Sofvie launches a production AI data agent 28 days early on Amazon Bedrock

Production MCP-tool-orchestrated natural-language chatbot on Amazon Bedrock Nova 2 Lite — wrapping 800+ Django REST endpoints as agent tools for the Sofvie multi-tenant SaaS platform.
The customer
Sofvie Inc. is a North-America-headquartered SaaS provider focused on industrial and mining safety analytics, serving industrial-safety customers across multiple geographies. Their multi-tenant SaaS platform consolidates safety, incident, and operational data with a database-per-tenant isolation model on MariaDB.
The challenge
End-users across Sofvie's customer base were repeatedly bottlenecked by a single pattern — needing structured analytical answers from their operational data but lacking SQL expertise. Support escalations grew with the customer base; time-to-insight stayed slow. Sofvie brought in VeUP to architect and ship a natural-language chatbot embedded directly in the SaaS product.
The solution
VeUP architected and shipped a production chatbot anchored on Amazon Bedrock with Amazon Nova 2 Lite as the production primary foundation model and Amazon Nova Pro as the fallback, with Anthropic Claude on Bedrock evaluated as the tool-call-accuracy alternate. The load-bearing engineering decision: pivot away from raw NL→SQL synthesis toward MCP-tool-wrapping over Sofvie's 800+ existing Django REST endpoints. The foundation model selects the correct pre-built MCP tool for the user's intent; the tool encapsulates query construction internally; the model never writes SQL.
The chatbot cut over to production in mid-May 2026, four weeks ahead of the contracted date — with a deterministic per-question call signature, token budgets committed in code, and full per-tenant isolation via JWT-driven MariaDB routing.

Production outcomes — customer-business KPIs
| KPI | Result |
|---|---|
| Time-to-market for Sofvie's new NL SaaS feature | Live in production in mid-May 2026 — four weeks ahead of the contracted date, delivered inside budget. |
| Per-question cost predictability (SaaS unit economics) | Deterministic per-question call signature: 2 Amazon Bedrock LLM invocations + ~42 MCP server tool calls per user question. Converts inference cost from an unbounded prompt-size variable to a bounded per-call constant. |
| Per-tenant infrastructure cost ceiling (in code) | Four code-committed agent-runner controls: MCP client singleton, system prompt trimmed to 219 characters, output cap of 512 tokens/turn, ReAct recursion bound at 8 steps. |
| Multi-tenant scalability | 100% schema-from-prompt elimination: 0 schema tokens injected into LLM prompts vs the ~5,000–10,000 tokens/question PoC baseline. Schema lives in the MCP tool surface (800+ Django REST endpoints wrapped as MCP tools). |
| Multi-tenant isolation | Zero cross-tenant data-access incidents at production go-live; JWT-driven per-tenant DB routing — isolation by construction. |
Architecture

