Mouhib Chatti logo

Open to relocation

Mouhib Chatti

AI Engineer - document AI and LLM systems on Azure

I build document-understanding systems for banking and financial services, and run the Azure infrastructure underneath them.

Based in Tunis. Open to relocation - EU, Canada, Gulf - and to remote roles.

Recent

96.1% field-extraction accuracy on banking forms

document AI that runs fully offline, no GPU and no internet

multi-region Kubernetes deployed from code in under an hour

Selected work

Client names anonymised. Every number below is read from a committed scorecard.

Banking / compliance · Veganext · Jun-Jul 202696.1% extraction accuracy

On-premise document verification & field extraction

On-premise service for a Tunisian bank's securities-order and fund-subscription forms. Given a scanned PDF, it verifies the four mandatory marks - agency stamp, bank signature, "signature conforme," client signature - extracts around 30 structured fields, and returns a verdict with an explainable 0-100 trust score.

  • 96.1% extraction accuracy on the demo set and 91.3% on a held-out 115-document test split, reached over six hardening rounds - each one required to show zero regressions against the previous scorecard before it could merge.
  • Combined a trained detector for the mandatory marks with schema-driven zone OCR for the form fields. The hybrid recovered fields that pattern-matching alone had never handled at all, without losing accuracy on any field that already worked.
  • Built the evaluation harness that produces those scorecards, plus a synthetic document generator - so every number published traces back to a committed file.
Stack
PythonPyTorchOpenCVTesseractFastAPIPydanticStreamlitpytest
Read the case study

Client work, code is private. The architecture and the evaluation method are covered in the case study, and I'm happy to walk through the code in an interview.

Identity & document AI · GTI · Jun-Jul 2026Fully offline, no GPU

Offline document extraction for Tunisian Arabic & French

Extracts structured data from Tunisian identity and business documents by reading the image directly with a small vision-language model - no traditional OCR engine involved. Designed to run inside a bank's network with no connection to the outside world.

  • Runs fully offline on CPU - no GPU, no internet, no cloud API - small enough to deploy on ordinary office hardware.
  • Ships two interchangeable models behind one interface: a larger one with stronger Arabic, and a smaller one around five times faster. A benchmark script picks between them on the actual target machine rather than on assumption.
  • Rebuilt the ground-truth dataset from scratch after finding the supplied labels were machine-generated guesses - only 13 of 48 entries had a valid number, because 120 of 201 cards were rotated in their source photos. Hand-transcribed against a resumable runbook with a skip-rather-than-guess rule, then generated a 5,000-document synthetic corpus.
Stack
Pythonquantised vision-language models (Qwen2-VL, SmolVLM)llama.cppOpenCVFastAPIDocker
Read the case study

Client work, code is private. The architecture and the evaluation method are covered in the case study, and I'm happy to walk through the code in an interview.

Cloud / platform · Veganext · May 202630-45 min end-to-end deploy

Multi-region Azure platform for document processing

Active-passive, multi-region Azure deployment of an intelligent document processing platform replacing a legacy OCR product.

  • Complete deployment written as repeatable infrastructure-as-code, runnable end to end in 30-45 minutes: network, secrets, data, compute, validation.
  • Two Kubernetes clusters - autoscaling primary, warm standby secondary - with a private-only data plane and no secrets in code or container images, using workload identity federation instead.
  • Documented cost/risk trade-off on the messaging tier that saved around $1,330/month on one environment, with the manual failover procedure written up as a runbook.
Stack
Azure (AKS, Key Vault, Front Door + WAF, Service Bus, PostgreSQL, ACR, Log Analytics)Bicep / ARMPowerShellKubernetesHelmDocker
Read the case study

Client work, code is private. The architecture and the evaluation method are covered in the case study, and I'm happy to walk through the code in an interview.

Payments / SWIFT · GTI · Dec 2025 - Feb 202616-field ISO 20022 schema

Structured address extraction for ISO 20022 payments

Converts free-text addresses in SWIFT payment messages into ISO 20022 structured postal-address components - the migration every bank faced ahead of the structured-address mandate.

  • Modelled the full 16-field ISO 20022 schema against the payment-message specification, then bootstrapped a seed corpus of around 8,000 auto-labelled addresses with a validation pass before human review.
  • Benchmarked spaCy pipelines against a multilingual transformer across three corpus generations up to 41,000 samples, and shipped an ensemble extractor.
  • Built an augmentation toolkit that beat naive scaling, and a companion country matcher covering 2,532 name variations across 248 country codes in six languages.
Stack
PythonspaCyHuggingFace TransformersXLM-RoBERTaPyTorchseqevalLabel StudioDocker
Read the case study

Client work, code is private. The architecture and the evaluation method are covered in the case study, and I'm happy to walk through the code in an interview.

Enterprise security · Veganext · Jun-Jul 2026, ongoingNo TLS interception

Shadow-AI discovery & DLP platform

Multi-tenant, on-premise platform that discovers, classifies and controls AI-tool usage across managed company devices.

  • Six-service backend: a latency-critical policy engine, batched telemetry ingestion, a signed tool catalogue, tenant and device control, DLP, and a stream processor.
  • Cross-platform desktop agent written in Rust, plus a browser extension built with deliberately minimal permissions to pass store review.
  • Detection built on network and process signals with no TLS interception - an explicit privacy boundary, documented in architecture decision records rather than left implicit.
Stack
RustPython + FastAPITypeScriptNext.jsPostgreSQLRedis StreamsClickHouseAuth0TerraformSemgrepTrivy
Read the case study

Client work, code is private. The architecture and the evaluation method are covered in the case study, and I'm happy to walk through the code in an interview.

Engineering standards

How I build

01

Evidence over assertion.

Every accuracy figure I publish is read from a committed scorecard file, not from memory. Where a model is calibrated on synthetic data only, the documentation says so plainly rather than implying real-world performance.

02

Regression gating.

Extraction hardening ran in numbered rounds, each one required to show zero regressions against the previous scorecard before it could merge. Improving one field at the cost of another isn't an improvement.

03

Fail loud, never guess.

Missing fields come back empty, never invented. A document that can't be read is skipped, not guessed at. A service with no model available refuses to start rather than degrading quietly.

04

Measured constraints.

Where a system has to fit a hardware budget, that budget is held by specific technical decisions and verified by a benchmark on the target machine - not assumed and hoped for.

Security & privacy

Privacy boundaries that are written down, not implied.

No TLS interception

Shadow-AI detection is built on network and process signals with no TLS interception - an explicit privacy boundary, documented in architecture decision records rather than left implicit.

No secrets in source

Kubernetes workloads reach secrets through workload identity federation, so nothing sensitive lives in code or in container images.

Hashed-only API keys

API keys are stored as hashes only, so the database never holds a credential that can be replayed.

On-premise deployment

Document extraction runs inside the client's own network, so client documents never leave the building.

Skills

Depth in one cloud, not breadth across five.

Azure first, because that is where the work actually runs.

Azure

  • AKS
  • Bicep / ARM
  • Workload Identity
  • Private Endpoints
  • Key Vault
  • Front Door + WAF
  • Azure OpenAI
  • Entra ID
  • PostgreSQL Flexible Server
  • Log Analytics

AI & LLM

  • Azure OpenAI
  • Anthropic Claude API
  • vision-language models
  • local inference & quantisation
  • RAG with Qdrant
  • HuggingFace Transformers
  • XLM-RoBERTa
  • spaCy

Document AI

  • PyTorch
  • OpenCV
  • Tesseract
  • custom detectors
  • skew & orientation handling
  • MRZ validation
  • synthetic data generation

Evaluation

  • Evaluation harness design
  • golden datasets
  • scorecard-gated releases
  • regression testing
  • model calibration
  • pytest

Backend & platform

  • Python
  • FastAPI
  • TypeScript
  • Node.js
  • PostgreSQL
  • Docker
  • Kubernetes
  • Helm
  • Terraform
  • GitHub Actions
  • Semgrep
  • Trivy

Every line here is a promise I can be interviewed on. Anything I have only read about is not on this list.

Professional Journey

Career Experience

Most of my work has been for banking and financial services.

AI Engineer

VeganextRemote
May 2026 - Present
Remote

Build on-premise document-understanding systems for banking clients, and the Azure infrastructure they run on. Own extraction accuracy end to end - dataset construction, evaluation harness, deployment runbook.

  • Built an on-premise document verification and field-extraction service for a bank's securities-order and fund-subscription forms, reaching 96.1% extraction accuracy on the demo set and 91.3% on a held-out 115-document split across six regression-gated hardening rounds.
  • Authored a multi-region Azure deployment as repeatable infrastructure-as-code, runnable end to end in 30-45 minutes, with dual Kubernetes clusters, a private-only data plane and no secrets in code or container images.
  • Building a multi-tenant shadow-AI discovery and DLP platform: a six-service backend, a cross-platform Rust desktop agent, and detection on network and process signals with no TLS interception.

Data Scientist - document AI & NLP extraction

GTIFull-time
Oct 2025 - Present
Tunis, Tunisia

Own extraction accuracy end to end for banking document and payment-message pipelines - dataset construction, evaluation harness, deployment runbook.

  • Built a fully offline document extraction pipeline for Tunisian Arabic and French identity documents, reading images directly with a small quantised vision-language model on CPU inside the client's network, with no GPU and no internet.
  • Modelled the full 16-field ISO 20022 schema and shipped an ensemble NER extractor that converts free-text SWIFT addresses into structured postal-address components, benchmarked with seqeval across corpus generations up to 41,000 samples.
  • Trained a Machine Learning model and developed a Python API for Trade Finance risk assessment, analyzing transaction data to generate real-time risk scores and automated recommendations.
  • Engineered advanced pre/post-processing pipelines using RapidFuzz and reference datasets to ensure high data accuracy and standardized outputs (ISO country codes), fully containerized with Docker.

Data Science Intern - NLP & structured data extraction

GTIInternship
Feb 2025 - Aug 2025
Tunis, Tunisia
  • Improved the banking transaction system by developing a machine learning model to detect and score threats, integrating it into a scalable data pipeline using Apache Kafka and Apache Spark.
  • Enabled processing of heavy data flows for accurate fraud detection and real-time monitoring.

IT Intern

Sopra HRInternship
Jul 2024 - Sep 2024
Lac 2, Tunisia
  • Collaborated closely with the ProdOps team on server migration projects, ensuring smooth transitions with minimal downtime and high client satisfaction.
  • Configured and managed CSR certificates, significantly enhancing the security and compliance posture of client systems.

Software Engineering Intern

CCN ServicesInternship
Feb 2024 - Jun 2024
Tunis, Tunisia
  • Engineered a fully integrated system for automated Active Directory scans, including a robust web application and desktop agent.
  • Enabled streamlined security and compliance audits across hybrid cloud environments.

Web Development Intern

3SInternship
Jul 2023 - Aug 2023
Lac 1, Tunisia
  • Contributed to the full lifecycle of web development using ASP.NET, from initial design through to deployment on Azure, ensuring seamless UX and performance optimization.
  • Played a key role in debugging and refining code based on user feedback, enhancing overall system functionality.

About

AI Engineer - document AI and LLM systems on Azure

I'm an AI engineer working on document understanding - OCR, mark and layout detection, vision-language models, entity extraction - with a focus on systems that have to run on-premise or fully offline. Most of my work has been for banking and financial services, where extraction has to be auditable and "roughly right" isn't a result.

I came into AI from network and IT engineering, and I still build and run the infrastructure underneath: Kubernetes from code, private networking, identity-based access to secrets, deployments reproducible from a runbook rather than from memory.

Diplôme d'ingénieur - Network & IT Engineering, INSAT, Tunis, 2020-2025.

Arabic (native) · French (C1) · English (C1).

Based in Tunis. Open to relocation - EU, Canada, Gulf - and to remote roles.

Education

  • 2020 - 2025Diplôme d'ingénieur - Network & IT EngineeringINSAT (Institut National des Sciences Appliquées et de Technologie), Tunis
  • 2016 - 2020Baccalauréat - Technical SciencesTechnical High School of Farhat Hached Rades

Languages

  • ArabicNative
  • FrenchC1
  • EnglishC1

Get in Touch

Let's build something intelligent.

Open to opportunities, collaborations, and a good conversation about AI.

© Mouhib Chatti 2026. All rights reserved.