About

I'm Shashi Jeevan M. P., and I build AI agents the way I'd want someone building anything that touches production: understand the mechanism before you trust the abstraction.

Why this site exists

Most “AI agent” content today is a framework quickstart wearing a trench coat. Install a package, copy five lines, get a working demo, and walk away having learned nothing about what actually happened. That's fine if all you want is the demo. It's not fine if you're the person who has to explain why the agent did what it did, six months later, in production, to a compliance team.

So I build things twice. First entirely by hand, raw model calls, hand-written tool schemas, a hand-written agent loop, hand-written memory and retrieval, so I understand exactly what's happening at every step. Then, once that version works end to end, I rebuild it with a framework and compare the two piece by piece. That comparison is the actual content. Not “here's a framework,” but “here's exactly what it replaced, and here's what it didn't touch.”

What backs this up

I'm VP of Delivery & Deployment at TekFriday, a fintech GIC, where I lead a ~30-engineer organization building lending platforms for regulated markets. Around three decades in software engineering, most of it spent in environments where “trust me, it works” isn't an acceptable answer, has shaped how I evaluate every new tool, AI included: does it hold up under real constraints, not just a demo.

A few specifics, since credentials are supposed to be checkable, not just claimed:

What I actually build

Every system I write about here runs locally first: Ollama, open models, and my own GPU, before any cloud API enters the picture. That's not a purity test, it's because the environment I work in, regulated fintech lending, means “send the data to a third-party API” often isn't an option, and I wanted to know what's actually achievable without it.

Recent example: a full agent built from scratch, tool calling, an agent loop, long-term memory, retrieval-augmented generation, live web access, session persistence, then rebuilt in LangGraph specifically to show what the framework automates versus what it doesn't. Read that build → The code for both versions is public: github.com/truepythoneer

What you can expect from this site

Real builds, real bugs included, and framework evaluations grounded in something I actually built by hand first. If you're trying to tell the difference between an abstraction that's genuinely saving you time and one that's just hiding a decision you don't understand yet, that's the specific problem this site is for.