
Tri Do
Final year CS and Statistics at Purdue. I build LLM systems, agents and the plumbing that keeps them honest: tool gating, retrieval, cost accounting, evaluation.
I work on the layer between a model and the people who depend on it: retrieval, serving, evaluation, and the telemetry that makes all three defensible. Every system here was built against a ceiling I could not raise. A 6GB GPU picked the quantization, the reranker, and the vector store. $290 of secondhand homelab hardware picked the cluster topology. mitya's zero dollar API budget picked the rate limiter before it picked the provider.
A fixed ceiling also turns most design questions into arithmetic. On mitya, a six arm retrieval ablation moved recall by one or two rows per stage, and a larger rerun put every delta 3 to 7 times below the smallest effect it could detect, so I withdrew the per stage claims. The numbers on this site are the ones that survived.
Projects
christina
An agent that answers from a hub of research papers, citing the exact characters each claim came from, or says the hub does not know. Every tool call passes one gate; in a honeypot test all 17 calls outside the agent's declared tools were denied. On open weights models it showed no detectable difference from Claude Code on Sonnet at answering or declining (0.850 vs 0.867, n = 30), though behind on citation validity, at $0.19 actual against $2.43 list.
mitya
Question answering over Dostoevsky, in his voice, with sources built in code from retrieval metadata. Hybrid retrieval, a two provider gateway and a promotion gate that blocks on cost and recall regressions. Bounded admission took p99 latency from 64 s to 4.4 s; the evaluation found at least 13 defects in its own instruments and 2 in the product.
homelab
Self hosted services on a $290 box, reachable only through a WireGuard tunnel, mutual TLS against a private CA, and a second factor.
other
kurono, better-ls, better-library. Smaller things, built because the existing tool annoyed me.
Background
I came to Purdue for statistics and added computer science in my second year. I liked the math and I liked the systems, and AI is where those stop being two separate interests. I moved toward it later that year and have not looked seriously at anything else since. Infrastructure came later, from somewhere else entirely; that story is on the homelab page.
The domain name, pure-white-ash.com, comes from volume 14 of Ashita no Joe:
That burning sense of worth and completeness is something I've only tasted on a bloodied ring. And this burning sensation isn't a momentary sputtering that other people my age might feel. It's so bright it burns your entire body up in an instant. And when it's over, only white ashes remain. Not even any tiny cinders. Only white ashes.
Stack
- Languages
- Python, Java, SQL, C
- AI and ML
- PyTorch, Hugging Face, LangGraph, MCP, scikit-learn, llama.cpp, Qdrant
- Backend and cloud
- Spring Boot, FastAPI, PostgreSQL, Redis, ActiveMQ, AWS, Kubernetes, Docker
- Observability and CI/CD
- OpenTelemetry, Prometheus, Grafana, GitLab CI/CD, Git
Muay Thai
Two years of Muay Thai and kickboxing. I came for the conditioning, stayed for the intellectual game, and keep going for reasons I have stopped examining.
Literature
I read mostly Russian and French classics. It is where mitya got its name, and most of what I think about outside work.

Manchester United
Thirteen years a United fan. I arrived for Ferguson's last title and got the decade of despair that followed. Still counting.
