All case studies Case study · Industrial auditing

How to eliminate 160 hours of audit prep per cycle?

ClientSKC
SectorIndustrial auditing · B2B SaaS
ScopePre-audit questionnaire, drafted end-to-end
Delivered2026

Before every tier-1 analyst evaluation, the team went through 315 questions manually. Cross-referencing documentation. Formatting answers. Checking completeness. Rewriting for clarity. One question at a time. One hundred and sixty hours per audit cycle. A bad audit result cost sales, so the overhead had to disappear.

01 – The result
160h

Audit prep eliminated every cycle

315
Questions drafted before a human touches them
Reviewing
Replaces the writing-from-scratch task
Same voice
Across every answer, every cycle
Engineers in a modern industrial lab reviewing a component together on a laptop.
Where it lives

Industrial SaaS, evaluated every cycle.

SKC's customers are industrial B2B SaaS platforms. Every audit cycle, a tier-1 analyst decides whether their category leadership holds. The pipeline turns that overhead into a first draft the team reviews instead of writes.

02 – The problem

Bureaucratic work, but with the sales pipeline attached to it.

Audit questionnaires from tier-1 analysts look like admin. In practice they gate deals. Fail to answer a section well and the analyst rating drops, and that shows up months later as sales that didn't close. The team knew this, so nobody skipped the work. They just absorbed the hours.

We ran a root cause on why 315 questions took 160 hours. Four things came up:

1. Documentation was scattered across three source systems with no unified retrieval path.
2. Each answer required context from multiple documents that didn't reference each other.
3. There was no standard format. Every question got reinterpreted and reformatted from scratch.
4. Answer quality varied depending on who wrote it and when.

Every one of the four was an infrastructure problem. So we built infrastructure.

03 – What we built

A four-stage pipeline that ends with the team reviewing, not writing.

Each stage owns one of the four root-cause failures. Retrieval. Cross-referencing. Format. Voice. Together they take the 315-question document from empty to a full first draft, and hand it to the team for finalisation.

Stage 1

Extraction layer

A unified retrieval surface across the three source systems. Every question has a single place to fetch its evidence from, regardless of which system that evidence lives in.

Stage 2

Completeness check

Before any drafting starts, the pipeline verifies that the evidence needed to answer each question is actually available. Missing evidence is surfaced up front, not discovered mid-answer.

Stage 3

Voice-consistent generator

A draft answer is composed for every question in the company's own tone and terminology. The reviewer edits from an on-brand starting point, not from a bland template.

Stage 4

Review & finalise

The team reviews and finalises the 315 pre-drafted answers. Human judgement stays. The mechanics leave.

Architecture at a glance

Retrieval-first. Gate before generation.

SKC audit-prep pipeline architecture Three source systems feed a unified retrieval layer. A completeness check gates every question before drafting: only questions with sufficient evidence proceed to the voice-consistent generator. The reviewer sees 315 pre-drafted answers, and the team reviews instead of writing from scratch. SOURCES Source system 1 product docs Source system 2 security & compliance Source system 3 policies & runbooks STAGE 1 · RETRIEVAL Unified extraction RAG across 3 systems one path to evidence STAGE 2 · COMPLETENESS GATE Evidence sufficient? YES NO · GAP Surface the gap flagged for evidence owner STAGE 3 · GENERATOR Voice-consistent draft LLM · brand tone + terms 315 drafts · same voice STAGE 4 · REVIEWER Team reviews and finalises inline editor per question judgement stays Submit-ready pack 315 answers · same week was 160 hours per cycle LEGEND Pipeline step Gate · nothing drafts without evidence Reviewer + delivered pack Final delivery to auditor STACK · RAG (3 SOURCES) · PRE-GENERATION EVIDENCE CHECK · VOICE-TUNED LLM · REVIEWER APP RETRIEVAL DISCIPLINE MADE THE DRAFTS TRUSTWORTHY · 80%+ KEPT AS-IS BY THE REVIEWER
Delivery + learning

Answers reached the reviewer in Slack. Feedback lived there too.

Every draft answer was pushed to the responsible reviewer through their existing chat tool. Slack for one team, Teams for another. Reading the draft happened where the reviewer already worked, not in a new app they had to remember to open.

Approvals were a reaction or a short reply. Rejections were normal in-thread comments describing what to change. Each rejection reply was captured and fed back into a new generation for that specific question. No ticket, no separate review UI.

The system learned from every rejection. Feedback got compiled into the generation prompts and reference examples. Over a few cycles, the rate of rejections dropped, and the drafts got closer to what the reviewer would have written themselves.

SKC learning loop The draft generator pushes each answer to Slack or Teams. The responsible reviewer reads it in their existing chat, approves with a short reply or rejects with an in-thread comment. Rejections are captured, fed back into the generation prompts and reference examples, and trigger a new draft. Every cycle, the reject rate drops. FORWARD FLOW · ONE DRAFT AT A TIME STAGE 3 · GENERATOR Draft the answer voice-consistent LLM grounded by RAG DELIVERY Push to Slack / Teams to responsible reviewer DM · in-channel thread REVIEWER Read in existing chat no new app to open context in one place Approve the draft? YES Final answer short reply · reaction shipped as-is NO · REPLY RETURN FLOW · LEARNING CYCLE CAPTURE Feedback captured in-thread comment parsed what to change · why UPDATE Prompt + examples updated few-shot library grows generation contract refined TRIGGERS NEW DRAFT EVERY CYCLE Reject rate drops. Draft quality converges on what the reviewer would have written themselves. No fine-tuning, no ML training pipeline — just captured feedback becoming the new baseline. LEGEND Forward flow (per draft) Learning step / delivered output Reviewer decision Loop back · next-draft learning
04 – Before / after

Same 315 questions. Same voice. Same week.

Before, per question, ×315

  • Interpret the question.
  • Search three source systems for evidence.
  • Cross-reference the documents by hand.
  • Reformat the answer from scratch.
  • Rewrite for voice consistency.
  • Validate before moving to the next one.

After, per cycle

  • The pipeline drafts all 315 answers.
  • The completeness check surfaces gaps up front.
  • The team reviews and finalises.
05 – Under the hood

Retrieval-first, generation-second.

The critical work was upstream of the language model. Without a unified retrieval path and a hard completeness check, the same generation stack would have hallucinated, missed evidence, or answered inconsistently across the 315 questions. Retrieval discipline is what made the drafts trustworthy enough for the reviewer to keep 80%+ of them.

Orchestration n8n (self-hosted)

Runs the four-stage pipeline on a schedule and on-demand. Every retry, every escalation, every hand-off between stages is a versionable n8n node.

Retrieval layer RAG across 3 source systems

One unified retrieval path across all three source systems. Every question has one place to fetch its evidence from, regardless of where that evidence lives.

Completeness gate Pre-generation evidence check

Before any drafting starts, verifies the evidence needed to answer each question is actually available. Gaps surface up front, before the reviewer sees a blank answer.

Generation Ollama · voice-tuned local LLM

Composes a draft answer for every question in the company's own tone and terminology. Runs locally on Ollama so sensitive audit content stays on-prem.

Review surface · integration Slack + Teams push · inline reviewer app

Every drafted answer is pushed to the reviewer in whichever chat tool their team already uses. Slack for one team, Teams for another. A reply in-thread triggers a new draft, and every accept or rejection feeds the learning loop.

Delivered as Four-stage pipeline + reviewer app

The n8n pipeline runs headless in the background, cycle after cycle. The reviewer app is the one surface the team touches, and it's the same one every audit.

Same overhead, different form?

If your team is absorbing hundreds of hours on cyclical documentation, we can rebuild it as infrastructure.

Apply for a Free Build