freshly ground, lightly roasted, mildly over-steeped, dangerously over-caffeinated — have a brews.

things i've studied

2020-2025

PhD in Applied Mathematics (NLP)

The University of Adelaide

Thesis: NLP Reveals Patient Reported Experiences. Bayesian network-based topic modelling for healthcare narratives, with Q1 publications.

2019

BMathSc (Honours), Statistics

The University of Adelaide

First Class Honours · University Medal · GPA 7.0. Thesis: Uncertainty in Deep Learning.

2015-2018

Bachelor of Mathematical Sciences (Pure Mathematics)

The University of Adelaide

jobs jobs jobs

2025 - Present

AI Engineer | Tech Founder

Kathaivazhi (Through Story) · Tamil EdTech & Neuro-Symbolic AI

Built the first working computational morphological analyser for spoken Tamil — a neuro-symbolic agentic system grounded in a Neo4j knowledge graph via custom MCP, plus a full-stack EdTech platform for diaspora learners.

Feb 2024 - Jul 2025

Clinical NLP Engineer & Research Fellow

RMIT · Honorary, University of Melbourne

Built a RAG pipeline for clinical entity linking (DrugBank, RxNorm) that outperformed ClinicalBERT and direct LLM generation on F1 by constraining outputs to real ontology candidates, and added LLM-driven query reformulation for hard cases.

Nov 2022 - Jun 2023

Solutions Engineer

Energy Exemplar

Pre-sales technical role building PLEXOS optimisation models (Gurobi backend); led a green/blue hydrogen model that closed a $600k software licence sale to a government customer.

Jan 2021 - Mar 2022

Research Assistant — Health Surveillance NLP

The University of Adelaide

Applied topic-model time-series analysis to adverse device-report narratives for early signal detection.

2019-2022

Mathematics Tutor & Teaching Assistant

The University of Adelaide

Walk-in help-room tutor and TA across undergraduate mathematics; explained technical concepts to mixed audiences and gave structured feedback on student work.

things i paid someone so you could pay to read them*

First-author work from the PhD — Bayesian topic models and emotion modelling on patient-reported experiences, including extracting early COVID-19 symptom signals from social media before they were widely recognised clinically.

2025IF 6.2 · Q1

Probabilistic emotion and sentiment modelling of patient-reported experiences

Curtis Murray, Lewis Mitchell, Jonathon Tuke, Mark Mackay

Artificial Intelligence in Medicine, 139, 103178

DOI: https://doi.org/10.1016/j.artmed.2025.103178live dashboard
2024

Revealing patient-reported experiences in healthcare from social media using the DAPMAV framework

Curtis Murray, Lewis Mitchell, Simon Tuke, Mark Mackay

Digital Health, 10

DOI: https://doi.org/10.1177/20552076241229933
2021AAAI · CORE Rank A

Symptom extraction from the narratives of personal experiences with COVID-19 on Reddit

Curtis Murray, Lewis Mitchell, Jonathon Tuke, Mark Mackay

Proceedings of the International AAAI Conference on Web and Social Media (ICWSM)

DOI: https://doi.org/10.36190/2021.71talk from a different (recorded) conference
2026IF 3.9 · Q1

Signal detection of adverse events in medical devices using natural language processing: a case study in pelvic mesh

Thu-Lan Kelly, Ty Stanford, Curtis Murray, Lewis Mitchell, Indu Bala, Nicole Pratt, Tobin South, Renly Lim, Marianne Gillam

Scientific Reports

DOI: https://doi.org/10.1038/s41598-026-50950-z

*okay, actually lewis paid. thanks lewis. also they're open source — you don't have to pay anything.

some cool things

2025 – Present · AI Engineer | Tech Founder · Neuro-Symbolic Agentic AI

Spoken Tamil Morphology Analyser

The first working computational morphological analyser for spoken Tamil. Spoken Tamil is highly agglutinative and non-standardised across dialects, with no canonical rules to unpack surface forms — a setting where direct LLM generation is unreliable. It runs a ReAct loop: the agent proposes a segmentation hypothesis, validates it against a ~1,000-node Neo4j knowledge graph via a custom MCP server, observes the structured feedback, and refines — iterating until the segmentation grounds to verified graph entities, reducing hallucination by constraining outputs to the graph.

The MCP server exposes 12 Zod-validated typed tools that return structured prose with embedded scores and IDs, roughly 3–5× cheaper per call than the JSON equivalent. It runs as a multi-agent system with agent-to-agent (A2A) delegation across non-overlapping roles — analyst, validator, and grammar-reference sub-agents — where the validator fans out to N parallel analysts. Every tool call is written to a structured trajectory stream with automated graph-health invariant checks, giving per-run observability without an external eval framework.

Stack: Python · TypeScript · Custom MCP server · Neo4j · LLM agent orchestration

i wrote a series of posts on this.

2025 – Present · Tech Founder · Full-Stack EdTech

Kathaivazhi: Tamil Language Learning Platform

EdTech platform for Tamil diaspora learners. Click-to-analyse words with morphological breakdown via the analyser above, spaced repetition, and learner progression tracking. Pre-launch.

Stack: React · Express · PostgreSQL · Neo4j

2024 – 2025 · Clinical NLP at RMIT / UoM

RAG Pipeline for Clinical Entity Linking

Mapped free-text clinical mentions to ontology codes (DrugBank, RxNorm) by embedding ontology entities, retrieving candidates via similarity search, and adjudicating with an LLM. Direct LLM generation hallucinated codes about half the time — unacceptably dangerous in clinical settings. The retrieval-plus-adjudication pattern outperformed string matching, ClinicalBERT embeddings, and direct generation on F1, because constraining the LLM to choose between real candidates prevents it from inventing codes that don't exist.

Added an LLM-driven query reformulation loop (e.g., brand → generic drug name) that measurably improved hit rates on hard cases. Built inside a regulated clinical data environment with governance and privacy constraints; presented to clinical stakeholders at MCBK 2024.

Stack: Python · ClinicalBERT · Vector search · LLM adjudication · Slurm HPC

watch a conference talk i presented on this.

the toolkit

tech stack

PythonTypeScriptClaude CodeMCPPyTorchHuggingFaceTensorFlowNeo4jAWS BedrockGCPDockerPostgreSQLSQLRBashGitSlurm HPCLaTeX

domains

Agentic AILLMsMCPRAGKnowledge GraphsClinical NLPBayesian InferenceStatisticsNetwork ScienceApplied Mathematics