Alistair Rodrigues
AI Engineer · Data · UX
Glasgow, Scotland · Open to AI engineering roles
I build LLM systems that survive contact with real use. Not demos — a LangGraph agent with human-in-the-loop safety controls, an eval pipeline that catches regressions before they ship, a hybrid-search RAG pipeline with its own evaluation suite.
I don't trust a system I can't measure. The model is an untrusted input source — the harness decides what's safe, records what happened, and a human holds the switch on anything expensive. I came here from data analysis and UI/UX design, so I'm comfortable across the data, the model and the interface.
Contact
Apps
The path here
Three disciplines, in the order I picked them up — each one still doing work in how I build.
-
Data analysis
SQL, Pandas, scikit-learn, R, and the dashboards that carry the result — Tableau, Power BI, Streamlit. This is where I learned that a number nobody can interrogate is a number nobody should trust. It's the same instinct behind writing an eval pipeline before claiming a model improved.
-
UI/UX design
Figma, React, Three.js, WebGL. Design taught me that the interface is where the product actually happens. A retrieval system nobody can steer is a research demo — so I build the front end with the same care as the pipeline behind it.
-
AI engineering
LangGraph, the Claude API, RAG, LLM-as-judge evaluation, agent regression testing and Ollama. Currently deepening this through a structured AI engineering course, with retrieval, agents and evals as the core focus — on top of an MSc in Advanced Computer Science with AI from Strathclyde.
Most people in this field arrive from one direction. Arriving from three is why I tend to notice when the model is fine and the retrieval is broken, or when the pipeline is correct and the interface is the thing failing the user.
How I work
Four things I believe strongly enough that they show up in every repository I own.
Measure it or don't claim it
Every AI system I build ships with an evaluation harness — a rubric, persisted runs, and a dashboard that catches regressions. Agent Evals exists because "it feels better now" is not a metric, and because version 2 breaking something version 1 handled is the failure nobody notices until a user does.
Retrieval beats a bigger prompt
Hybrid vector and keyword search, proper reranking, deterministic chunk IDs. Most "the model is wrong" problems are retrieval problems wearing a costume. And when retrieval genuinely can't answer, the honest move is to refuse — RAGStar says so rather than inventing something, and makes no model call at all.
The model is untrusted input
It can request an action; my code decides whether to run it. Consequential actions stop and wait for a human, prompt injection gets screened and logged, and everything lands in an append-only audit trail you can replay months later.
Local first, where it's possible
RAGStar and Zetsu both run entirely on your own machine — no API keys, no accounts, nothing uploaded. Partly cost, mostly privacy: the people who most need to ask questions of their own documents are often the least able to send them somewhere else.
Toolkit
Tools are cheap; judgement isn't. This is what I'm genuinely fluent in.
AI & LLM engineering
Backend & infrastructure
Data & analytics
Frontend & product
Working with people
Now
What I'm actually doing, as of right now. Updated this month.
Building
Agent tooling — orchestration with human checkpoints, and the evaluation pipeline that keeps it honest. Most recently a semantic caching layer that answers near-duplicate prompts from a vector cache instead of paying for the model call twice.
Studying
The MSc in Advanced Computer Science with AI at Strathclyde is done — awarded 2025. Since then, a structured AI engineering course focused on retrieval, agents and evals.
Open to
AI engineering roles and freelance work. If it involves retrieval, agents, evaluation, or making a model usable by people who didn't build it — I'm interested.