The interactive CV of

Shrinidhi KJ

I'm Shrinidhi, an AI and ML engineer in Glasgow. I build LLM applications, retrieval systems and computer vision models, and I test that they work before I trust them.

Open to graduate and junior roles in the UK

About

Shrinidhi KJ in a dark suit and blue tie, standing outdoors

I'm an AI and machine learning engineer based in Glasgow, with hands-on experience building LLM and RAG systems, computer vision pipelines and deployed AI applications. I have just finished an MSc in Artificial Intelligence at the University of Stirling, after a B.Tech in Computer Science at PES University, Bengaluru.

My dissertation asked whether RAG systems ground their answers in retrieved evidence or recite what the model memorised: a diagnostic study over a 501-paper corpus with human-validated evaluation. I'm a published researcher, with internships at Nestlé and Zidio Development.

I work on LLM applications, retrieval-augmented generation, agents and computer vision. What I care about most is evaluation: a model that looks right is not always right for the right reason, so I build the checks alongside the system.

I use Claude Code every day, and I review and test what it writes before I rely on it.

I've just finished an MSc in Artificial Intelligence at the University of Stirling, after a B.Tech in Computer Science at PES University, Bengaluru.

My dissertation asked whether RAG systems really use what they retrieve, or just recite what the model memorised. I'm a published researcher, with internships at Nestlé and Zidio Development.

What I care about most is evaluation: a model that looks right is not always right for the right reason, so I build the checks alongside the system.

Undergraduate

Dec 2020 to Aug 2024

B.Tech Computer Science and Engineering

PES University, Bengaluru

Thesis: Generating Images from Text Descriptions using Diffusion Models and CLIP.

Published in GRADIVA Review Journal, May 2024.

Experience

  1. Oct 2023 to Dec 2023

    Data Analyst Intern

    Nestlé, Bengaluru

    • Collected, cleaned and explored data in Python (Pandas, NumPy), improving the defect resolution rate from 30% to 40%.
    • Automated reporting workflows and dashboards, increasing reporting efficiency by 20%.
  2. Feb 2024 to Mar 2024

    Data Science and Analytics Intern

    Zidio Development, Bengaluru

    • Analysed large, multi-source datasets to identify trends and actionable insights that supported data-driven decisions.
    • Built and optimised Python data processing pipelines with Pandas, NumPy, SQL and R, reducing computation time by 30%.
    • Translated analytical findings into business-relevant recommendations, working with people across teams.

Postgraduate

Jan 2025 to Sept 2026

MSc Artificial Intelligence

University of Stirling, Scotland

Dissertation: Do RAG Systems Retrieve or Memorise?

Modules include

  • Machine Learning (Distinction)
  • Stochastic Processes and Optimisation (Distinction)
  • Deep Learning for Vision and NLP
  • Mathematical and Statistical Foundations

Graduation ceremony November 2026.

Selected work

What I built, how I checked it, and what the numbers actually show.

MSc dissertation, 2026

Do RAG systems retrieve or memorise?

When a retrieval system answers correctly, is it reading the documents or reciting what the model memorised? A five-condition experiment that changes only the documents the model sees.

  • Python
  • LangChain
  • ChromaDB
  • Llama 3.1 8B / 3.3 70B
  • DeBERTa NLI
  • Groq
  • GROBID
Built
501 open-access papers parsed with GROBID into 34,502 chunks in ChromaDB with BGE embeddings. A five-condition experiment that varies only the supplied documents, to separate retrieval-grounded answers from parametric memory, across 120 cells with two Llama models (3.1 8B and 3.3 70B) through the Groq API.
How I checked it
The LLM-generated questions leaked their answers, so I rebuilt the evaluation set by hand and the conclusion reversed. I validated the LLM judge against two blind annotators (0.975 agreement, kappa 0.95), with an NLI model from a different family as an independent check.
Result
Retrieval drives correctness, not memory: accuracy rose from 33% with no documents to 92% with retrieval (McNemar p = 0.0001, replicated across both model sizes). Giving the model the exact source paper showed no detectable further gain (p = 0.5). Both models adopted a fluent counterfactual in 24 of 24 tests. Limits: 12 questions, one topic, one model family.
Correctness by document condition, pooled
  • A: no documents33%
  • B1: standard retrieval92%
  • B2: the exact source paper100%
  • C: irrelevant documents17%
  • D: contradictory documents0%

Giving the model the exact source paper showed no detectable further gain over standard retrieval (p = 0.5).

Applied research, 2026

Evidence report drafting pipeline

An LLM pipeline that drafts sections of an expert evidence report from scientific papers, with a person reviewing the output.

  • Python
  • LLM APIs
  • Retrieval
  • Claude Code
Built
An LLM client with response caching, retryable versus fatal errors, and per-call token, latency and truncation logging, covered by a 50-check self-test. Built with Claude Code, reading and testing its output.
How I checked it
Froze a 38-finding gold set, with a recorded hash and a re-runnable regression check, before any generation ran.
Result
All 42 citations traced back to sources the model was given, but only 4 of 19 reachable findings were covered (11 counting partial matches). Well cited, but incomplete.

Open source, 2026

twin-api

Turns any OpenAPI 3.x spec into a running mock REST API, so integrations and AI agents can be tested without touching a live service.

  • Python 3.11
  • FastAPI
  • Pydantic
  • Faker
  • Prance
  • Docker
Code on GitHub (opens in a new tab)
Built
Dynamic route registration, recursive $ref resolution, schema-valid synthetic responses, authentication from securitySchemes, and route ordering so parameterised paths don't hide specific ones.
How I checked it
Ran it against large real specs: Stripe (414 endpoints, 7.6 MB) and the GitHub REST API.

Computer vision, 2026

Brain tumour segmentation

Fine-tuned YOLOv8n-seg and YOLO26n-seg to outline brain tumours on MRI scans from BRISC 2025 (4,793 scans, 3 tumour classes).

  • PyTorch
  • YOLOv8
  • Gradio
  • Hugging Face Spaces
Try the demo on Hugging Face (opens in a new tab)
Built
A training pipeline with a reproducible mask-to-polygon conversion, and an interactive demo on Hugging Face Spaces.
How I checked it
Compared both models on mask accuracy, parameter count and post-processing time.
Result
Mask mAP@50 of 0.905 and mAP@50-95 of 0.670. YOLO26n-seg used 18% fewer parameters and was 46% faster at post-processing.

B.Tech thesis, 2024

Text-to-image diffusion model

A text-to-image generation system using CLIP, a VAE, a UNet and diffusion models, trained on the Flickr30k dataset.

  • PyTorch
  • CLIP
  • Diffusion
  • AWS EC2
Built
Designed and trained the system, with training workflows deployed and scaled on AWS EC2. Published in GRADIVA Review Journal, May 2024.
How I checked it
Evaluated performance with FID and Inception Score.

Tools I work with

LLMs and RAG

  • Claude Code
  • Prompt and context engineering
  • Structured outputs
  • LangChain
  • ChromaDB
  • BGE embeddings
  • Vector databases
  • Hugging Face Transformers
  • Llama 3.1 / 3.3
  • Groq
  • DeBERTa NLI
  • GROBID
  • LLM-as-judge evaluation
  • Evaluation set design

ML and deep learning

  • PyTorch
  • TensorFlow
  • scikit-learn
  • YOLOv8
  • Computer vision
  • NLP
  • Supervised and unsupervised learning
  • Statistical validation

Programming and data

  • Python
  • SQL
  • R
  • JavaScript / TypeScript
  • Pandas
  • NumPy

Engineering

  • FastAPI
  • Pydantic
  • REST APIs
  • OpenAPI
  • Docker
  • Git
  • CI/CD
  • pytest
  • Linux
  • AWS EC2
  • GCP
  • Hugging Face Spaces
  • Gradio

Ready for my next quest.

I'm looking for graduate and junior AI / ML engineering roles in the UK. Email is the quickest way to reach me.

© 2026 Shrinidhi KJ

Built with Vite and GSAP