About
I build the parts of an ML system that aren’t the model.
I’m an AI Engineer at TitanCloud, working on a document intelligence pipeline that filters and routes uploads before any LLM token is spent. I hold an MS in Data Science from Gannon University, completed in December 2025 with a 4.0 GPA.
I care about the layers of a production ML system that nobody talks about — the rule pre-filter, the calibrated confidence score, the trace command that walks a single request through every step. Most of what’s broken in a real ML system isn’t the model. The model is the last 5%. The other 95% is where I spend my time, and where I think most of the leverage lives.
What I’m doing now
At TitanCloud I designed and built a four-layer gatekeeper in front of a three-agent IDP pipeline on Amazon Bedrock. It rejects roughly 92% of upload volume before the LLM sees anything, and the remaining traffic arrives with calibrated quality and confidence scores so the downstream agents can decide how much to trust their own outputs. I’ve written about that design at length in the gatekeeper pattern and the routing decisions in the cheapest token.
Before this
Two years at BitsKraft as an ML engineer, shipping computer-vision models on iOS and Android, plus a document-region detector for an OCR pipeline. The model work was always the easy part; the hard part was getting matched numbers out of two runtime stacks that quantize differently. That experience is most of what I know about reproducible builds.
At Gannon I was a graduate assistant for a research group of seven faculty, maintaining a shared Postgres + Airflow stack and a small FastAPI service in front of the model registry. The research result I’m proudest of is a hybrid classical-and-CNN defect-detection pipeline that ran on a Jetson Nano at 24 ms p99, published at NAMRC/MSEC 2025.
How I work
- I build the trace command first. If you can’t walk a single request through every step of your system in one command, you’re going to spend two-hour debugging sessions that should have been five minutes.
- I treat eval sets like code. Version them. Replace them on a schedule. If your eval set hasn’t changed in six months and your workload has, your numbers are lying to you.
- I make failures loud. Silent retries are kindness to the on-call rotation that becomes cruelty to the team trying to diagnose a real problem.
- I write things down. Most of the writing on this site is field notes from real systems — not because the field needs more thought-leadership, but because the things that actually broke in production are the things worth remembering.
What I’m looking for
A full-time AI / ML engineering role starting mid-2026 (F-1 OPT, open to relocation). I’m most useful on teams building production ML systems that already have users and need someone who cares about the boring layers as much as the interesting ones.
Best way to reach me: [email protected]. Or LinkedIn (/in/rojandahal), GitHub (DahalRojan), or grab my resume.