Skip to content

What we build

AI/ML Engineering, delivered as a working production system

Scoping, architecture, build, evaluation, deployment, monitoring and handover under 1 engagement, delivered by the engineer who designs it.

LLM fine-tuning and alignment

QLoRA, LoRA and DPO on your proprietary data. ROUGE, BERTScore, citation accuracy and human preference scoring before deployment. A 27B open-weight model fine-tuned on 400K legal documents replaced a general-purpose API at 60% lower cost.

Forecasting, scoring and anomaly detection

Gradient boosted models on clean tabular features for churn, demand, credit and fraud. Stable decision boundaries, explainable outputs and audit-friendly behavior where an LLM would be the wrong tool.

Computer vision and document AI

Detection, OCR and visual quality control for documents, products and production lines, with accuracy measured on your images rather than a public benchmark.

Recommendation and personalization

Real-time recommendations from behavioral signals that improve through reinforcement learning, served under 100ms on AWS Bedrock and SageMaker.

Evaluation frameworks

Held-out test sets, baselines and thresholds agreed in week 0, so the go-live decision is a number rather than a feeling.

Retraining and drift

Pipelines that detect drift against rolling baselines and retrain on schedule, so the model gets better over time instead of quietly going stale.

Data engineering and analytics

Pipelines, warehouse integrations and dashboards that feed models clean, structured data. Snowflake, Databricks, BigQuery, Kafka and Airflow, with feature stores and versioned datasets so every training run is reproducible.

Vision-language document extraction

Claims, invoices, forms and scans read by vision-language models, validated field by field against schema and policy, with only low-confidence documents routed to a person.

Architecture

The training and delivery loop

Versioned, labelled data feeds training. Nothing reaches the registry without clearing the held-out evaluation. Serving is drift-monitored, and the monitoring feeds the next retraining cycle, so accuracy is maintained rather than assumed.

retrain on driftProprietary datalabelled · versionedTrainingQLoRA · DPO · XGBoostHeld-out evaluationROUGE · BERTScore · F1Model registryMLflowServingdrift-monitored

Where these projects usually fail

The 4 mistakes we get called in to fix, and what we do differently

01

Fine-tuning when retrieval was the problem

If the model lacks facts, retrieval fixes it. Fine-tuning fixes tone, format and domain vocabulary. We test which one you have before spending on either.

02

Benchmarks that leak training data

An accuracy number is worthless if the test set overlaps the training set. We build and freeze the held-out set in week 1.

03

An LLM on a tabular problem

For churn, demand and risk, a gradient boosted model is more accurate, cheaper and easier to defend in an audit. We recommend it when it fits.

04

No plan for drift

Models degrade as the world changes. Monitoring, alert thresholds and a retraining pipeline are part of the delivery, not a phase 2.

Proof

Delivered systems in this practice area

Every figure comes from a system running in production for a real client.

Retail and E-CommerceUSA

2 compounding problems solved in one platform: conversion and inventory

1. Problem. Conversion was flat because the experience was identical for every segment. Inventory costs kept climbing because demand planning was reactive and manual. 2 problems feeding each other, neither one solved by the existing tools.

2. Solution. A dual-layer platform. The personalization layer generates real-time recommendations from live behavioral signals and improves through reinforcement learning. The supply chain layer predicts demand shifts and adjusts inventory planning before overstock or stockout hits. Both run through AWS Bedrock under 100ms.

AWS BedrockReinforcement learningSnowflakeSageMaker

3. Impact

14%
Increase in e-commerce conversion rate
31%
Improvement in inventory planning accuracy
62%
Improvement in demand forecasting accuracy
<100ms
Recommendation response time

Stack

What we build on, and why it is current

Model names and tooling are kept up to date with what we are shipping this quarter. The selection logic is simple: the option that passes your benchmark at the lowest cost wins, and that is tested rather than assumed.

Training

PyTorchHugging FacePEFTQLoRADPOUnsloth

Open models

Gemma 3Qwen 3.8Llama 4DeepSeek V4.1Mistral

Classical ML

XGBoostLightGBMscikit-learnProphetstatsmodels

Vision and documents

Vision-language modelsYOLOPaddleOCRDocument AIOpenCV

Data engineering

SnowflakeDatabricksBigQueryKafkaAirflowdbt

Platforms

Vertex AISageMakerAzure MLMLflowWeights and Biases

Questions

Before you book a call

When the model already has the facts but gets tone, format, vocabulary or jurisdiction-specific behavior wrong at scale. If the problem is missing or stale facts, retrieval is cheaper and safer. We test for this before recommending either.