How Noviz is built — and how it keeps getting better
Three diagrams, from three different angles: the components that make up the system,
what happens when an admin changes a setting or uploads a document, and the full path
a single chat prompt takes on its way to becoming a validated answer. Each one ends the
same way — every turn is logged with its rule outcome, rated with a tap, and rolled back
into the pipeline as a sharper model or a fixed rule. Noviz isn't a static integration;
it's a Pro agent that learns from its own operating history.
Diagrams are wide — scroll horizontally on a narrow screen, or view on a larger one for the full picture at once.
What this shows: a chat/admin client talks only to the backend's request pipeline over an authenticated session. That pipeline — auth, context assembly, reasoning, a role-and-business-rule gateway, then a system connector — is configured entirely by a flat grid of per-module folders (no per-module code inside the engine itself), backed by one shared Postgres/pgvector database, and reaches exactly two external systems: an LLM provider for reasoning and vision, and the ERP system of record for real business data — both swappable behind one interface each. The band at the bottom is what makes it a Pro agent rather than a static integration: every logged turn and rule outcome becomes a labeled example, gets curated, and either fine-tunes a small routing model or patches a rule/policy doc — then rolls back in behind the exact same interfaces, so the pipeline above never has to change shape to get sharper.
What this shows: nothing an admin does is a special case — a saved setting is just a row the pipeline re-reads (cached 15s), an uploaded policy document is just another embedding the context assembler can retrieve, and a provisioned credential is just what the system connector uses to impersonate that person. The fourth flow is what turns admin work into the same learning loop the architecture diagram closes with: interactions flagged by a 👎 or a blocked business rule surface here, an admin fixes the actual rule or policy document behind it, and that fix re-enters through the console exactly like flows 1–3 — no separate "admin path," no redeploy, just a sharper pipeline on the next prompt.
What this shows: every hop a single chat turn takes, whether it started as typed text or a scanned photo — context is assembled once, the LLM reasons in a loop that can call more than one tool, but every single tool call is re-checked against that person's role and the module's business rules before it's allowed to reach the ERP, and nothing marked as needing sign-off (a status change, a send, a create) becomes real until the person clicks the confirm button rendered from step 6. Steps 7–8 are what a Pro agent adds on top of a plain integration: the turn isn't just answered and forgotten — it's logged with its rule outcome, rated with one tap, curated, and rolled back into steps 2–3 as a sharper model or a fixed rule, so the exact same 8-step path gets a little better every release, purely from being used.