Fintech · AI, Data and Analytics

Production AI for invoice finance.

Grapple runs an invoice finance platform. We designed and built its AI layer: the systems that draft its documents, score its risk signals and answer its staff, live in production.

The engagement

Grapple engaged us to build the platform's AI capability from the ground up. The brief had two audiences: staff who needed help with risk analysis, document handling and daily decisions, and clients who needed a clear view of their own position. The system now serves both, and has grown into a multi-role platform used by lenders, brokers and small businesses.

Live in production

Automated document generation

Offer letters and facility documents produced from templates, tied directly to the credit assessment workflow.

Admin AI assistant

A role-aware assistant that helps staff with procedures, risk questions and next actions, grounded in company policy and live platform data.

Entity risk and adverse-signal engine

Monitors news and reviews about directors, owners and businesses, scores every item against a defined risk lens, and surfaces it on a dashboard.

Online entity assessments

Structured assessments of people, businesses and debtors, built up progressively from incoming documents.

How it's built

Multi-model routing. Each task goes to the model that fits it on quality, latency and cost. Document extraction, long-document analysis and conversation each use a different model, with fallbacks, so no single provider dictates the system.

Retrieval augmented generation. The assistant answers from a curated, embedded knowledge base via semantic search, so responses stay grounded in Grapple's own policies rather than model guesswork. MCP extends its reach to live platform data, not just static documents.

Incremental assessment architecture. An early design forced every document type through one large assessment flow. It was hard to trace and it duplicated work, so we replaced it. Each document now yields structured data into a shared, persisted history per entity, and assessments get richer and more accurate with use.

Structured LLM scoring. Adverse signals are scored by an LLM that returns structured JSON with a score and a reason against a defined risk lens. The output is machine-usable and auditable, not free text.

Cost, latency and observability. LLM results are cached. A dedicated analytics lakehouse powers dashboards without loading the primary store, and every LLM call is tracked and debuggable in production.

The stack

LangGraph and LangChain orchestration. FastAPI back end, Next.js front end. Models routed across OpenAI GPT-4.1 and GPT-5-Mini, and Google Gemini 2.5 Flash, 2.5 Flash Lite and Gemini 3, with OpenAI Text Embedding 3 Small. Data on DynamoDB, a managed Weaviate vector store, Redis caching and a StarRocks lakehouse. Langfuse for observability. Deployed on AWS ECS Fargate in the Australia region, with ECR, Route 53, ALB, CloudFront and CloudWatch.

LangGraph FastAPI Next.js Weaviate DynamoDB StarRocks Langfuse AWS

Security and data residency

Hosted only in the AWS Australia region. Isolated VPCs with private subnets, with public exposure limited to CloudFront behind a web application firewall. Per-container IAM roles, no static credentials, and secrets held in a managed vault. SSO and MFA via Cognito with least-privilege access. KMS AES-256 encryption at rest, TLS 1.2 and above in transit, with GuardDuty and CloudTrail monitoring. Model inputs are validated against prompt injection, and customer data is never shared with AI providers for training.

Tell us what you are building.

This is production engineering. The right model for each task, grounded in the client's own data, on a design that improves with use, under enterprise security and Australian data residency.