
Turning a trained churn classifier into a FastAPI service that other software can actually call.

I built a prompt dependency graph that separates everything a component can reach from the smaller set that actually needs targeted evaluation.

A practical framework for reducing uncertainty before agents accelerate implementation

I built a matcher meant to finish the cleanup that normalization left behind. Testing it against real data showed that no version of it could be made safe. What follows is the architecture that was left once the matcher was set aside.

Enterprise Document Intelligence [Vol.1 #B3] - A confident wrong answer is a bug. A bare “no answer” with no justification is almost as bad. Each of the four bricks has one piece of evidence to show

A visual guide to how graph neural networks work under the hood

Why the standard groupBy function isn’t enough

Five failure modes that survive constrained decoding, and why your schema validator will never catch them.

The hidden assumptions behind the data we observe.

More informed decision-making through uncertainty quantification

A visual guide to how graph neural networks work under the hood

The hidden assumptions behind the data we observe.

A framework for building RAG pipelines that introduces complexity in response to observed failure modes, from lexical and hybrid search to reranking and agentic information seeking

Quick and simple tips to help you write better agent instructions

How to apply the latest context engineering guidelines to your day-to-day data science work

As AI handles more of the execution, what work should belong to agents vs humans and why does that distinction matter?

Enterprise Document Intelligence [Vol.1 #B4] - A diagnostic and five composable operations, not a decision tree

I built a prompt dependency graph that separates everything a component can reach from the smaller set that actually needs targeted evaluation.

I built a matcher meant to finish the cleanup that normalization left behind. Testing it against real data showed that no version of it could be made safe. What follows is the architecture that was left once the matcher was set aside.

More informed decision-making through uncertainty quantification

What each one solves, and runnable code you can paste into a notebook.

Enterprise Document Intelligence [Vol.1 #B1] - Three sources of one problem. User typos, fast-typing transcription noise, OCR character errors. Classical spell-check handles one of them. Embeddings carry the rest