About

Who writes ai·toolstack, what it covers, and how to get in touch.

I'm Teja Sagiraju (Tej). I've worked in data science and machine learning for 14 years, and the problems I like most sit between a model and the people who have to trust what it says.

Background

My work has covered a fair range: insurance data and documents, IoT analytics on industrial data, and computer vision on problems where ordinary tools had little to work with. Along the way I've built machine-learning models, document extraction pipelines and, more recently, LLM workflows and agents.

The lesson that keeps repeating is that the model is rarely the hardest part. The hard parts are the input nobody cleaned, the case nobody tested, and showing someone else why an answer should be trusted.

What this site is

ai·toolstack is where I experiment in the open. I pick a real kind of problem, build a working system for it end to end on synthetic or public data, and write down what happened: what worked, what broke, and what I'd change. Every system has its code on GitHub and a demo on Hugging Face, and each one says plainly what it doesn't do yet.

The systems

  • PolicyTrace: a UK motor policy pack in, one checked record out, with each value traced to its line in the PDF. There's a live demo.
  • UK Company Pre-Screen: a first look at a UK company for a commercial underwriter. Rules decide the route, agents explain it, and every check it couldn't run is shown. In progress, with a write-up soon.

Planned next:

  • Paperlens: summaries, Q&A and entities across documents, including scans and forms.
  • Sidewall Reader: the characters on a tyre sidewall, read from a photo. Black text on black rubber, where ordinary OCR has little to work with.
  • Defect Check: defects on manufactured parts, found from photos, with the borderline cases sent to a person.
  • Chart Reader: a chart or dashboard screenshot turned into data, with the numbers checked against the image.
  • UI Test Agent: an agent that drives a web app like a user and shows exactly where a key flow broke.

Each one is built on open or synthetic data, so anyone can run it and check the results.

What you won't find here

No hype, no prompt tricks, and no screenshots without the code behind them. When something I built turns out to be wrong, I write that up too.

Get in touch

For a question about a post, leave a comment under it. For a bug in one of the systems, open an issue on GitHub. If you'd like to talk about this kind of work, message me on LinkedIn. To get new notes by email, subscribe; it's free.