Forward SoftwareDevelopment & technical consulting

Case study/AI compliance automation

Checking a whole client file for compliance in about a minute

A proof of concept built for a client, tested on files from a large New Zealand financial advice firm. It reads a client file, checks it against each step of the advice process, and backs every finding with evidence quoted from the file.

I designed and built it end to end, and I own the code.

AI product engineer · Full-stack

File review findings for a sample client file: a summary of what the adviser did well and what's missing, 3 of 7 steps fully compliant, high overall risk with 2 critical gaps, and a status for each step of the advice process

The problem

Financial advisers in New Zealand follow a set advice process, and the firm they work under is accountable for every file. Checking a file by hand means reading the fact find, needs analysis, statement of advice and the emails around them, then confirming each step was done properly.

That takes hours per file, so firms review a sample and hope it's representative. Problems in the files nobody checks surface late, if at all.

What I did

  1. 01

    Turned the advice process into rules

    Each step of the advice process became a configurable rule with its own criteria, so the checks can change when the firm's policies or the regulations do.

  2. 02

    Read every kind of document

    Built ingestion for PDFs, Word documents and email content, so a whole client file can be uploaded and checked in one go.

  3. 03

    Used AI where it helps

    Gemini reads the documents against each rule and returns a pass, partial or fail, quoting the passage and document it's based on, so a reviewer sees why, not just what.

  4. 04

    Kept a person in charge

    It's a tool for the compliance team, not a replacement. Every result shows its evidence so a reviewer can check it, and the final call stays with them.

  5. 05

    Turned gaps into next steps

    Each gap comes with its impact on the client and a suggested fix, so the report tells the adviser what to do next, not just what's wrong.

  6. 06

    Packaged it to run anywhere

    A React front end and a Node and Express back end, shipped in Docker behind Nginx, so it can be deployed on a client's own servers.

How it works

A run on a made-up sample client file, from upload to the gaps it found.

  1. The upload screen: a drop zone for PDF, Word or text files, with a sample client's fact find, statement of advice, engagement letter and email thread listed below
    01Upload the whole client file at once: the fact find, statement of advice, engagement letter and emails, as PDF, Word or text.
  2. Findings for step 5, Implement the Plan, marked partial: one check passes with a quote from the client's email thread, and one fails because no evidence was found
    02Each step gets a pass, partial or fail. Every check quotes the passage and document it's based on, or says when nothing was found, so a reviewer can check the evidence.
  3. What needs fixing: two critical gaps, no documented review process and income protection not considered, each with its impact on the client and a suggested fix
    03Each gap comes with its impact on the client and a suggested fix.

Stack

React 19 and Vite
A simple screen to upload a file and read the results.
Node.js and Express
The API that takes the documents and runs the checks.
Gemini API
Reads the documents against each rule and explains its decision.
Multer, pdf-parse and Mammoth
Upload handling and text extraction from PDFs and Word documents.
Docker and Nginx
Packaged to deploy the same way anywhere.

Outcome

In the demo, it reviewed a nine-document sample file in about a minute. Done by hand, a review like this takes hours.

Its findings matched the issues the firm's compliance team had already flagged in the same files.

As a proof of concept, it checked the standard advice process only, not the firm's own policies on top. Adding those would be the next step in a full build.