Open to work — Vancouver, BC · local

Machine Learning Engineer

Ankur Batta

I build ML and LLM systems that run in production, and hold them to the numbers.

Ankur Batta on the viewing deck at the Sulphur Mountain summit above Banff, Alberta, the Bow Valley and Rocky Mountains behind him Sulphur Mountain, Banff

QuizMark, a retrieval-augmented exam platform I built on AWS, graded real quizzes for about 150 students on $22 of model spend. Checked against the instructor's own grading, it landed within one mark 92.5% of the time. There's also a neural network running right on this page — draw a digit and watch it think.

0
students in the QuizMark pilot
0
reduction in LLM calls · QuizMark
0
MNIST accuracy · the demo below

About

From threat
models to
ML models.

I started in cybersecurity at Nebero Systems — network-security infrastructure, and machine learning aimed at catching the traffic the rule-based alerts missed. Detecting an attack is a prediction problem, and that realisation pulled me into ML for good.

I've since graduated with distinction from Langara College's Data Analytics diploma in Vancouver — Dean's Honour Roll three semesters running, 4.11 CGPA — and taken a genomics microcredential to support the clinical work. The security mindset never left: I build assuming someone will try to break it, and I measure the thing rather than trust that it works.

Selected work

Six projects,
end to end.

Production ML and LLM systems, the infrastructure around them, and the measurement that tells you whether any of it is real. One is live in production; the rest are open source.

RAG · LLM · AWS — capstone

QuizMark

A textbook PDF becomes a marked exam. An end-to-end RAG platform that ingests 600-page textbooks, drafts exam questions, and auto-marks student answers with written feedback.

  • Ran a real graded quiz for ~150 students across five classes on a single EC2 box — 14 Docker services, 8 Celery workers — for $22.40 of model spend.
  • Marking runs as four-tier triage, so most answers never reach an LLM — 67% of one exported sitting was marked with no model call.
  • Retrieval from scratch: five indexes fused with Reciprocal Rank Fusion and re-ranked, scored offline on Recall@k / MRR / nDCG@k.
  • Agreed with the instructor's own grading of 91 students at r = 0.80, within one mark on 92.5%. Shipped behind a large automated test suite and 3-provider failover that fired mid-pilot when one provider's credits ran out.

Classical ML · Healthcare

Clinical Multiclass Classification

Three-class parkinsonism on a 3,433-patient, 163-feature clinical dataset — project lead.

  • 0.899 macro one-vs-rest AUC (CatBoost), benchmarked against five models under stratified 5-fold CV, every run tracked in MLflow on SageMaker.
  • Found and removed a feature that gave away the diagnosis — left in, the numbers would have been meaningless.
  • Handled 16:1 class imbalance; reported calibration curves, Brier scores and per-class sensitivity/specificity, not one accuracy figure.

Security × AI · MCP

AI-Driven Penetration Testing

An MCP server that exposes seven real security tools as typed tools, so a language model plans the assessment and runs each one itself.

  • Guardrails in the server, not the prompt: strict allowlists on model-chosen arguments, pattern-validated ports, every tool through a controlled wrapper.
  • Runs in a Dockerised Kali image that drops root. Authorised testing only.

Geospatial · Reproducible pipeline

CNV GIS Analysis

A research-grade geospatial study of the City of North Vancouver, built to be re-run from raw data.

  • Staged pipeline over 72 audited public sources, each SHA-256 hashed with a provenance sidecar; the run halts at the first failing stage.
  • 110 pytest checks — CRS consistency, geometry validity, privacy rules — that also reconcile small-area population to the 2021 Census total of 58,120.
  • Derived 503 street intersections, 91% validated against an independent layer. Outputs an interactive Leaflet atlas.

Full-stack · Live in production

Malivor

A luxury-fragrance storefront I designed, built, and still run — real customers, real payments.

  • Checkout recalculates every price server-side and verifies PayPal on amount, currency, session and merchant identity before an order is written.
  • One atomic transaction guarantees exactly-once orders and prevents overselling. Serverless on Firebase — no backend to operate.

Time series · Healthcare

Blood Glucose Forecasting

Forecasting blood glucose one hour ahead for people with Type 1 diabetes.

  • Engineered 254 time-series features across 20 patients, handling irregular sampling and missing readings, validated on a time-ordered split so no future data leaked in.
  • Ran the cluster-analysis side in R — implemented the gap statistic from first principles to choose how many patient sub-groups the data supports.

Also on the bench

Case studies

Slide by slide.

Three projects, taken apart one decision at a time — the same slide decks I publish, in full. Swipe through, or click any slide to open it full-screen.

QuizMark

A textbook PDF becomes a marked exam — the system-design walkthrough.

Repo ↗

City of North Vancouver GIS

Reading a city from open data — reproducibly.

Repo ↗

Malivor

A luxury fragrance storefront, designed and built from a blank page.

Live ↗

The demo

A neural network,
running in this page.

Written by hand in plain JavaScript — no libraries, no API calls. The forward pass is about 60 lines. Draw a digit and it classifies the strokes in real time.

Draw a digit, 0–9.

How it works — full disclosure

A 196→48→10 multilayer perceptron: 9,946 weights, ReLU, softmax. Trained offline on MNIST with scikit-learn; 97.25% accuracy on the test set. The weights ship as a 70 KB JSON file.

Your drawing gets cropped, centred by mass, and pooled to 14×14 — similar to how MNIST normalises its digits. Handwriting with a mouse is messier than MNIST, so it will get some wrong. The confidence bars are the honest part.

Read the source ↗ — the whole thing, preprocessing included, fits on one screen.

The path here

Where I've
worked.

Jan 2026 – Apr 2026 · Vancouver, BC

Full-Stack Developer · Langara College

Built and deployed internal full-stack web applications over relational databases — running requirements sessions with non-technical staff, writing REST APIs and database-backed services, then profiling and tuning the slow queries and endpoints.

Jan 2024 – Jul 2024 · Mohali, India

IT Infrastructure & Cybersecurity Intern · Nebero Systems

Built anomaly-detection models on the company's own live network and server data to catch behaviour the rule-based alerts missed. Ran it end to end — pulling and cleaning data, building features, comparing models — and tuned the alert threshold around what a false alarm actually cost the security team rather than chasing raw accuracy.

Jun 2020 – Jul 2023 · Remote

Web Developer & Designer · Freelance

Delivered full-stack applications with REST APIs and ETL ingestion for small-business and individual clients — owning build, deployment and client hand-off, and the data plumbing underneath: ingestion, transformation, validation, error handling. Also handled the brand and UI design.

Volunteer

Giving time
back.

Community safety, innovation, and leading a developer team.

Oct 2025 – Present · Vancouver, BC

Volunteer

Chinese Community Policing Centre

  • Greet and assist visitors at the front desk, providing clear information and support.
  • Join neighbourhood patrols to support community safety and awareness.
  • Help with graffiti removal to keep the community space clean and welcoming.

Aug 2024 – Jul 2025 · Remote

Co-Designer

IDP Education — Student Innovation Labs

  • Contributed to IDP's Student Innovation Labs.
  • Co-designed solutions for a global community of student peers.

Aug 2022 – Jul 2023 · Punjab, India

Web Development Team Lead

Google Developer Student Club — BBSBEC

  • Led development of user-centric web applications focused on data handling and integration.
  • Worked with a team of 12 developers to build efficient, scalable web solutions.
  • Pushed for user experience and technical efficiency across the club's projects.

Writing & research

Notes on how
computers think.

From the blog — fundamentals, networks & machine learning

The full record

Education,
skills, the rest.

Education

Post-Degree Diploma, Data Analytics

Langara College · Vancouver, BC · May 2025 – Aug 2026

Graduated with distinction · 4.11 CGPA · Dean's Honour Roll three consecutive semesters. Coursework in machine learning, cluster analysis, statistical inference and data mining, plus a microcredential in Genomics & Transcriptomics.

B.Tech, Computer Science & Engineering

IK Gujral Punjab Technical University · India · Aug 2020 – Jul 2024

Graduated with distinction · 85.2%.

Certifications

  • Model Context Protocol — Introduction & Advanced Topics (Anthropic)
  • Deep Learning Onramp & Reinforcement Learning Onramp (MathWorks)
  • Generative Models for Developers (Infosys)
  • Career Essentials in Data Analysis (Microsoft)
  • CS50’s Computer Science for Business Professionals (Harvard)
  • SQL Intermediate (HackerRank)
  • CCNA 200-301 — complete course with practical labs

Languages

English, Punjabi, Hindi.

Technical skills

Languages
Python, SQL, R, JavaScript / TypeScript, C++, C, Swift
Machine learning
TensorFlow / Keras, Hugging Face Transformers, scikit-learn, XGBoost, CatBoost, pandas, NumPy; BERT fine-tuning, deep learning, gradient boosting, feature engineering, time-series forecasting
Statistics & evaluation
Hypothesis testing (Kruskal–Wallis, chi-square, Cramér's V), stratified k-fold CV, class-imbalance handling, calibration curves & Brier scores, ROC / PR AUC, sensitivity & specificity, retrieval metrics (Recall@k, MRR, nDCG@k), importance sampling
LLM, RAG & agents
Retrieval-augmented generation, embeddings & vector search, multi-index retrieval, Reciprocal Rank Fusion, hybrid reranking, semantic chunking, confidence routing, LLM-as-judge evaluation, prompt-injection defence, Model Context Protocol, tool use / function calling, LLM cost optimisation; OpenAI, Anthropic & Gemini APIs, LangChain
Data & MLOps
MongoDB Atlas Vector Search, PostgreSQL, Firebase / Firestore, ETL & ingestion pipelines; MLflow, Docker & Compose, Kubernetes, Celery with Redis, FastAPI, REST APIs, AWS (EC2, SageMaker), GitHub Actions, pytest, Linux; reproducible pipelines, data validation & provenance, model serving, GeoPandas / Leaflet / QGIS
Domains
EdTech & assessment · clinical & health data · civic & geospatial analysis · cybersecurity & LLM agent safety · bioinformatics
Download résumé (PDF)

Contact

Open to work.
Vancouver or remote.

ML engineering, applied research, or anywhere security thinking is an asset. I reply within a day. Also open to freelance web work — Malivor is the kind of thing I build for clients.