Skip to main content

A note from the author

Why this course exists

I made this course because most AI tutorials stop before the decisions that make a feature trustworthy in production: output contracts, tool boundaries, cost visibility, evaluation, and what happens when the system is wrong.

A course built around consequences

The Northwind scenario exists so these decisions have stakes. It is not a generic chatbot exercise: a badly routed support message can delay an injury report, misstate a policy, or leave a customer with no useful answer. The course uses one coherent service so each technique has a reason to exist and can be tested against the next.

Independent work

This is an independent personal educational project. I work at Cursor, but this course is not affiliated with, sponsored by, or endorsed by Cursor. The views expressed here are my own.

Why the course uses Claude—and where Cursor fits

The course teaches the Claude API because the example service is built on that API. That is a technical teaching choice, not a claim that one product is universally better than another.

A backend model API and an agent runtime often solve different parts of the stack. This course uses a model API for a customer-support service; Cursor's agent tools are designed for developer workflows and workspace-based tasks. Where the project discusses Cursor, the aim is to make that architectural distinction clear and reproducible, not to publish a vendor scorecard.

Read the architecture note

How to use this material

Take the ideas into your own stack, measure the outcomes, and adapt the controls to the consequences your system carries. If something is unclear or you build on it, join the discussion.