What Makes an AI App Different from a Script
By the end of this module you can name what makes an AI application harder than a script: an output you cannot fully predict, a cost per call, and a failure mode that returns confident nonsense.
A small AI assistant app with structured input, structured output, one safe tool, mock mode, tests, and a release checklist.
By the end of this module you can name what makes an AI application harder than a script: an output you cannot fully predict, a cost per call, and a failure mode that returns confident nonsense.
By the end of this module you can set up keys and environment variables safely, estimate what a feature will cost per call, and avoid the mistake that puts a secret in version control.
By the end of this module you can structure messages and system instructions deliberately, and handle a response as data to be checked rather than text to be trusted.
By the end of this module you can build prompt templates with validated inputs, so user text cannot silently rewrite your instructions.
By the end of this module you can request structured output against a schema, and handle the case where the model returns something that does not match it.
By the end of this module you can let a model call your functions, and design each tool so that a wrong call is cheap, reversible, and visible.
By the end of this module you can manage conversation state deliberately, deciding what to carry forward and what to drop before the context window decides for you.
By the end of this module you can build summarisation and extraction workflows over real files, and check the output against the source rather than against how good it sounds.
By the end of this module you can handle rate limits, timeouts and failures so that a degraded provider produces a useful message rather than a stack trace.
By the end of this module you can put a usable interface on an AI feature with FastAPI or Streamlit, and choose between them on what the application needs.
By the end of this module you can test AI behaviour with deterministic fixtures, so your suite is fast, free, and fails for a real reason.
By the end of this module you can decide what must never be logged, what must never leave your infrastructure, and how to deploy an AI feature without leaking either.
In this capstone you will ship a genuinely useful AI assistant with structured outputs, real error handling, a deterministic test suite, and an evaluation checklist someone else can run.
This is a text-first course shell. Leonardo/image creation, image QC, dependency-heavy runtime QA, external review, and learner pilot evidence remain separate later quality steps.