Ankush BL — Portfolio
ANKUSH BL
ML Engineer · 24 · Chapter 01 @ Catapult (Mar 2024 — present)
I solo-built Catapult's entire production AI stack — the models, the pipelines, the infrastructure, and the human-in-the-loop UIs around them. MLOps, software, DevOps, AI: one engineer, end to end. Now: what's next.
Projects — 15 systems engineered, solo-built
#1 · DOCUMENT AI · KAFKA CAPABILITY
IDP Engine
WHATStateless intelligent document processing engine — three Kafka capability stages: source intake, invoice understanding, invoice matching — calling a Qwen2.5-VL-7B extraction route over mTLS.
IMPACTDocuments become structured, matched records as messages flow — no state, no babysitting.
SCALE328 test files · golden + adversarial eval harness · 5 CI workflows.
#2 · RECONCILIATION · DETERMINISTIC
Recon-Engine
WHATDeterministic reconciliation: a compiler turns config into a canonical plan — formula engine, weighted disambiguation, exact one-to-many collection search, allocation proposals with full evidence.
IMPACTEvery allocation ships with its proof — reconciliation you can audit, not just trust.
SCALE109 test files · mechanically enforced layer order · client wheels pinned by SHA-256.
#3 · DATA PIPELINES · KAFKA
Transaction Preparation
WHATThe stage upstream of matching — extraction, fallback, validation, enrichment, so every transaction arrives canonical.
IMPACTGarbage never reaches the matcher.
SCALE16 test files · 8 CI workflows · import-linter enforced architecture.
#4 · NLP · KAFKA WORKER
JE Classification
WHATJournal-entry GL classification as a closed deterministic pipeline (S1–S7) — embedder, reranker and LLM dependencies behind per-dependency bulkheads over mTLS.
IMPACTA daily accounting bottleneck becomes a message; failures stay in their bulkheads.
SCALE95 test files · golden eval gate · 3 CI workflows.
#5 · ENTITY RESOLUTION · 1:N
Name Match Algorithm
WHATDeterministic, config-driven entity-name matcher — Kafka capability AND library — with a baked-offline all-MiniLM-L6-v2 CPU encoder pinned by HF revision and weights SHA-256.
IMPACT"Tech Pvt Ltd" meets "Technologies Private Limited" — deterministically, offline, auditable.
SCALE31 test files · private mTLS scoring server · client SDK pinned by consumers.
#6 · STRING ALGORITHMS · 1:N
Reference Match System
WHATThe reference-string sibling: deterministic 1:N matching of messy payment memos to invoices — same capability+library architecture.
IMPACTFreehand memo fields stop breaking automation.
SCALE38 test files · released as a digest-pinned image on GHCR.
#7 · ADE v2.2.0 · TEMPORAL
Anomaly Detection
WHATPassive, post-custody anomaly analysis as a single Temporal activity — six deterministic detector families (numeric series, contextual, categorical, integrity, sequence, relational graph).
IMPACTSuspicious patterns surface with evidence — and "insufficient_evidence" is an honest answer.
SCALE8-service docker-compose · 3-outcome contract · 2 SDDs.
#8 · MLOPS · AWS SAGEMAKER
Model Hosting
WHATThe AWS model plane, designed and declared in Terraform: six SageMaker inference routes (idp-vlm, llm-email, llm-tm-extraction, je-reranker, je-embedder, je-llm) behind an mTLS + SigV4 gateway, with a vLLM GPU serving image.
IMPACTOne authenticated front door for every model in the estate.
SCALE22 Terraform files · scale-to-zero autoscaling · 102 test files.
#9 · DEVOPS · DIGITALOCEAN
Estate Hosting
WHATThe DigitalOcean substrate, declared as code: DOKS clusters, Linkerd mTLS mesh, OpenBao secrets (5-of-3 Shamir), Argo CD GitOps, Kyverno admission.
IMPACTThe whole estate is one repository — versioned, reviewable, reproducible.
SCALE32 test files · sha256-pinned Helm charts.
#10 · PLATFORM · KAFKA
The Capability Plane
WHATThe wire and runtime authority: versioned execution contracts (canonical JSON + SHA-256 digests, AsyncAPI) plus a one-attempt Kafka worker runtime — transactional exactly-once results, Postgres attempt ledger with RLS tenant isolation, fencing.
IMPACTEight topic pairs, one discipline — every capability speaks the same language, or doesn't speak.
SCALE8 Kafka topic pairs · immutable wheels with hash manifests.
#11 · FULL-STACK · TEST HARNESS
Platform Simulator + IDP UI
WHATA staging double of the external platform — operator UI (React + Radix + Vite), tenant/identity, Temporal orchestration, Kafka publication, custody receipts, deterministic failure injection — home of the human review screens for IDP and TM.
IMPACTThe whole estate can be rehearsed end-to-end before it touches anything real.
SCALE138 OpenAPI paths · 194 test files · 15 CI workflows.
#12 · FINE-TUNING · PYTORCH
Model Training
WHATThe models themselves: Donut trained OCR-free, and three vision-language models fine-tuned from Qwen2.5-VL for invoice extraction.
IMPACTTemplates died here — pixels in, JSON out.
SCALE4 models trained · custom invoice corpus · served via the model plane.
Stack & keywords
Contact — let's write Chapter 02
Response latency < 24h. Catapult was Chapter 01 — an entire AI stack, solo. Now looking for the problem worth the next one.