Welcome to Jim in SF

2 minute read Published: 2025-09-19

I'm Jim—French, originally from Paris, now in San Francisco chasing the startup dream. I work at a fast-growing AI startup here. Can't name the company—you know how it is—but I can tell you what we're building: sales and back-office AI automation for highly regulated businesses.

What We Actually Do

Think insurance, finance, healthcare. Industries where you can't just ship fast and break things. Every AI interaction needs to be auditable, compliant, and actually reliable. It's a different beast from building a chatbot that summarizes Wikipedia articles.

This blog is where I'll share what we've learned building production AI systems in Python. Real code, real problems, honest takes on what works and what doesn't.

The Tools We Use

When we started, we reached for LangChain and LangGraph like everyone else. They got us off the ground, but as our agents got more complex, we needed something with better guardrails.

Earlier this year we switched to Pydantic AI. Three reasons:

Type safety that actually matters. When your agent is handling sensitive customer data, "it worked in my notebook" isn't good enough. Pydantic AI catches entire classes of bugs before they hit production. Your IDE actually knows what's going on.

Simpler mental model. Not everything needs to be a graph. Sometimes you just want to call an LLM, validate the output, and move on. Pydantic AI lets you start simple and add complexity only when you need it.

Better DX = better agents. This sounds soft, but it's real. When the framework gets out of your way, you spend more time on the actual agent logic. That translates directly to better experiences for our users.

What to Expect

I'll be posting about:

No hype, no "AI will change everything" hand-waving. Just what actually works when you're shipping AI to production.

Japanese whiskey

Allez, on y va. 🥃