Hello
I am Mohan
AI/ML Engineer
AI/ML engineer based in Surrey, UK. I don’t stop at the notebook — I own the whole path, from the first experiment to the RAG pipeline running in production under 200 ms.
// About me
The person behind the pipelines
--:-- in Surrey · —
Building an in-house agentic GenAI sales assistant — LLM APIs wired into market-research tooling, with progress reported straight to the CEO.
Workforce Training & Development · London// Featured works
The ones that taught me the most
Explainable fraud detection over unstructured text
Guardian AI needed fraud scenarios classified from free-text reports without the model inventing anything. I built a RAG pipeline over FAISS with structured output validation, then served it through FastAPI microservices for high-throughput, low-latency inference.
Alzheimer’s biomarkers from 73GB of single-cell data
MSc dissertation, graded Distinction. An end-to-end framework over scRNA-seq: 97.96% Random Forest accuracy, a spatial GNN for cell-to-cell interaction, and SHAP analysis that surfaced APOE and TREM2 as drivers. Fourteen age-matched files, 73GB, processed in under an hour.
An agent that sources candidates 10× faster than a human
Recruitment automation built on async multi-platform sourcing — LinkedIn, GitHub, Stack Overflow — scored against a six-dimensional match rubric. 94% matching accuracy, 100+ concurrent searches. Runner-up at the Synapse AI hackathon.
A virtual fitting room built on GANs
Hyper-realistic eyewear simulation for fashion e-commerce, with AR integration across mobile and web. Better product visualisation cut expected return rates by 35%. The work was published.
// Open source
Fixing gradients in other people’s repositories
Every pull request and issue I have filed to repositories I don’t own. The bulk is
numerical-correctness work in differentiable computer vision — defects that pass every test and every
eyeball: a forward value that is exactly right while the backward pass returns nan, an
eps floor that underflows in half precision, a torch.where that differentiates the
branch it discards.
18 entries, newest first
-
kornia #4184 Merged 04 Sep 2026
Restored
Boxes3D.to_tensorgradients after a four-year false positiveThe guard had raised on any input requiring grad since 2021, blocking all differentiable use of
Boxes3D. The original report was agradcheckartefact — a genuine kink where numerical and analytical gradients both hold and disagree. -
kornia #4158 Merged 03 Sep 2026
Guarded
distance_transformagainst kernel underflowWhen the farthest taps of
exp(-dist/h)underflow to exactly zero, the convolution drops them and the function returns a wrong — or silently all-zero — distance field. Reachable from the documented defaults. -
kornia #4156 Merged 02 Sep 2026
Largest-remainder apportionment for
MultiResolutionDetectorquotasFeature quotas were split proportionally across pyramid levels then truncated independently, so a small
num_featurescollapsed onto a single scale. Largest-remainder apportionment spends the whole budget. -
kornia #4124 Merged 31 Aug 2026
Documented
match_fginn’s unusedlafs1argumentA required positional parameter the body never reads, kept for API symmetry with
match_adalam. Closed the remaining half of a docstring report. -
kornia #4246 Approved 05 Sep 2026
Corrected
quaternion_to_axis_angle’s identity gradientAt the negative unit identity autograd returned
+2where central differences give-2. Fixed to the2/wlimit with theatan2backward shielded across the whole zero-vector branch. Maintainer-approved on the exact head, CI green. -
kornia #4228 In review 04 Sep 2026
Finite gradients at the rotation singularities of the quaternion conversions
Both differentiate an inverse trig function at its domain boundary and multiply the infinity by an exactly-zero vector part, so every gradient through them was
nan. What changed in torch 2.14 isclamp’s backward, which only masks the defect. -
kornia #4405 In review 10 Sep 2026
Finite gradients at the identity for every Lie group
expandlogSo3,Se3andSe2all returnednangradients at the identity on every dtype — the standard initialisation for pose optimisation. One mechanism throughout:torch.wheredifferentiates the branch it discards. Forwards verified byte-identical againstmain. -
huggingface/peft #3706 Pooled 09 Sep 2026
RoAdcorrupts the base weight beforesafe_mergecan rejectmerge(safe_merge=True)commits the merged weight and only then validates the bias — the exact outcomesafe_mergeexists to prevent. Filed with a reproduction, then fixed. The maintainer pooled seven concurrentsafe_mergePRs into one fix; a queue decision, not a rejection. -
huggingface/lighteval #1371 In review 30 Aug 2026
Honour
concurrent_requestsfor the OpenAI and TGI judge backendsThe litellm backend read the option; the path shared by
openaiandtgihard-codedThreadPoolExecutor(10)and never looked atbackend_optionsat all. -
huggingface/lighteval #1352 In review 22 Aug 2026
Fixed broken code examples in the custom-model docs
Re-verifying a stale report found the reported breaks already fixed, but two new ones in the same file: an unquoted task string that is a
SyntaxError, and a CLI example with an unclosed quote. -
torchmetrics #3474 In review 20 Aug 2026
Documented
BinaryAUROC’s per-batch logit detectionupdate()decides per batch whether predictions look like logits. With small batches, some are treated as probabilities and others as logits in the same run. Documented rather than changing logic other metrics depend on. -
langchain #38817 Policy-closed 12 Jul 2026
Pydantic schema support in HuggingFace
with_structured_outputThe method raised
NotImplementedErrorfor Pydantic schemas under its own default method, contradicting its docstring. Auto-closed by the repository bot, which requires external PRs to link a pre-approved issue — never reviewed on merit. -
agent-inbox #185 In review 22 Aug 2026
Superhuman-style hotkeys for thread navigation
ecloses the current thread, arrows move between them — suppressed inside inputs, textareas and contenteditable, and while a modifier is held. Scoped to the two shortcuts the issue specified. -
griptape #2290 Changes requested 27 Aug 2026
Enabled Ruff
B009across the codebaseRemoved
B009from the ignore list and reviewed all 15 resultinggetattr(x, "const")rewrites across drivers, memory and mixins. -
outlines #2025 In review 27 Aug 2026
Noted the local-runtime exception bypass in
llamacppEvery other local-runtime model file carries a docstring note explaining that it intentionally bypasses provider-error normalisation.
llamacpp.pywas missed when the hierarchy landed. -
openGym #23 In review 24 Aug 2026
Live pose overlay for form checking
A Form check button opens the front camera and overlays a live pose skeleton using on-device MoveNet via tfjs — no video frame leaves the browser. Scoped as the MVP the issue asked for.
-
openGym #24 In review 24 Aug 2026
Stopped tracking
data/, which held a live session secretThe directory was committed with a real session secret, a user database with passkey credentials, and VAPID keys. The server only generates a fresh secret when the file is absent, so every deployment built from the repo shared one attacker-readable signing key.
-
openGym #25 In review 24 Aug 2026
Fixed the web service’s stale Dockerfile path
docker-compose.ymlpointed at a path that does not exist, sodocker compose up --buildfailed immediately for anyone building from source.
// Experience
Where I’ve worked
-
Workforce Training & Development
AI Engineer & Automation Consultant
Jun 2026 — Present London, United Kingdom Full-time · 4 mosBuilding the company’s in-house agentic GenAI sales assistant while delivering its Level 4 AI apprenticeship, with progress reported straight to the CEO.
- Build an in-house agentic GenAI sales assistant that wires LLM APIs into market-research tooling, reporting progress directly to the CEO.
- Deliver the Level 4 AI & Automation Practitioner apprenticeship as trainer — ML principles, automation tooling, data handling and responsible AI governance, to cohorts across industries.
- Contribute training content to the Level 5 AI Leadership programme, translating AI capability and limitation for business owners, CEOs and directors.
- Mentor the team’s intern through implementation and debugging while staying hands-on across the build; own project scope and documentation.
- Guide learners end to end — from analysing a business process to deploying the AI workflow that replaces it.
- Programme delivered by an Ofsted Good and ISO 9001 certified training provider.
Python LLM APIs Agentic AI n8n Zapier Make RAG AI governance -
Guardian AI
AI Developer
Oct 2025 — Jan 2026 Remote Contract · 4 mosRAG pipelines over FAISS that cut hallucination on enterprise document classification.
- Architected agentic workflows and RAG pipelines for unstructured text analysis, tuning FAISS vector retrieval for relevance.
- Implemented fine-tuned LLM logic for document classification, holding high-fidelity, compliant outputs inside an Agile innovation lifecycle for enterprise clients.
- Built scalable model-serving on FastAPI microservices, targeting low-latency inference under high throughput.
- Engineered a Python fraud-detection interface classifying fraud scenarios from free text, using prompt engineering and structured output validation.
Python FAISS RAG FastAPI Docker Fine-tuning Agent tooling -
Soft4Hire
Machine Learning Engineer — Intern
Mar 2024 — Nov 2024 Chennai, India Internship · 9 mosHybrid recommender that lifted engagement 40% and cut the cold-start problem by 60%.
- Built a hybrid recommendation engine combining collaborative filtering (LightFM) with content-based filtering (TF-IDF + BERT).
- Deployed real-time inference on AWS Lambda with S3, holding <200 ms latency for personalised recommendations.
- Implemented an A/B testing framework — 40% increase in user engagement metrics.
- Containerised ML services with Docker for consistent development-to-production workflows.
- Content-based fallback for new users drove 25% of all platform content consumption.
Python LightFM BERT AWS Lambda AWS S3 Docker scikit-learn -
DLK Technology
Machine Learning Engineer — Intern
Jun 2023 — Aug 2023 Chennai, India Internship · 3 mosForecasting and anomaly detection running live on a B2B analytics platform.
- Developed sales forecasting models using time-series analysis for a B2B analytics platform.
- Implemented anomaly detection algorithms to flag unusual sales patterns.
- Deployed predictive models on AWS infrastructure for real-time business intelligence.
- Built data pipelines for processing and analysing large-scale B2B sales data.
Python pandas scikit-learn Time series Anomaly detection AWS -
Acmegrade
AI Research Intern
Mar 2023 — May 2023 Bangalore, India Research · 3 mos100,000+ movie reviews processed into a hybrid recommendation engine.
- Researched and implemented recommendation algorithms for a movie platform using NLP-based content analysis.
- Developed content-based filtering systems over textual reviews and movie descriptions.
- Improved recommendation accuracy through a hybrid collaborative and content-based approach.
- Processed and analysed 100,000+ reviews with natural language processing techniques.
Python NLP scikit-learn pandas MongoDB
53 tools I reach for
// Education
Where I learned it
-
University of Surrey
MSc Artificial Intelligence
2025 — Feb 2026 Guildford, United Kingdom Education · CompletedDissertation graded Distinction: hybrid deep learning and graph neural networks for Alzheimer’s prediction on scRNA-seq data.
- Modules: Deep Learning, Natural Language Processing, Computer Vision, Machine Learning.
- Built a spatial GNN for cell-to-cell interaction and a CVAE over single-cell genomics; SHAP analysis surfaced APOE and TREM2 as biomarkers.
- Processed 14 age-matched files, 73GB, in under an hour; 97.96% Random Forest accuracy.
- Separate Distinction (90%) for AR/VR coursework — a Meta Quest 2 game built in Unity with OpenXR and real-time mesh slicing.
PyTorch Graph Neural Nets CVAE SHAP scikit-learn Unity OpenXR -
Anna University
B.Tech Artificial Intelligence & Data Science
2021 — 2024 Chennai, India Education · First ClassFinal-year project published: an AI-driven virtual fitting room built on GANs.
- Modules: Machine Learning, Deep Learning, Numerical Methods, Data Analytics, Statistical Analysis.
- Built hyper-realistic eyewear simulation with AR integration for fashion e-commerce, cutting expected return rates by 35%.
- Certified in Python for Data Science, Fundamentals of Data Science (Phases 1 & 2) and R for Statistical Computing.
Python TensorFlow Keras OpenCV GANs AR
// Services I provide
I can help you with these things
- 1.RAG & agentic systemsRetrieval that actually retrieves, agents that finish the job, evals so you know when they don’t.
- 2.Production ML engineeringModel to endpoint: FastAPI serving, containers, AWS deployment, latency budgets you can hold.
- 3.Computer vision & NLPClassification, detection, token tagging, video understanding — benchmarked, not vibes.
- 4.Workflow automationMake, Zapier and n8n stitched to LLM APIs, so the boring half of the business runs itself.
- 5.AI training & consultingLevel 4 and Level 5 programmes delivered. I can explain this to your engineers or to your board.
// Receipts
Things that are on the record
// How it works
No agency in the middle — just me, in on your product
Hire me
I take a small number of projects at a time, so yours gets full attention rather than a slice of it.
Project or retainer
Scoped per project— tell me the problem first
- One workstream at a time
- Weekly shipping, not monthly decks
- Code and documentation delivered together
- Direct line to me, no account manager
- Pause or stop whenever it stops being useful
// Let’s talk
Pick the shape of the conversation
Choose the one that fits and it carries straight through to the message below — I reply with times the same day.