Search how to make a chatbot in python and you get a fifteen line script that prints the whole answer after nine seconds of nothing. What it does not tell you is that a sync gunicorn worker is held hostage for the length of every open stream, that a Flask generator loses the request context the moment it yields, that the conversation cannot live in the session cookie, and that an in memory rate limiter counts separately in each worker.
This is a build guide, not a system prompt. Put the file in your project, open it with Claude Code or Cursor, and it works through the design with you: the Flask route and the Django view side by side, server sent events because WSGI blocks, when ASGI or Channels is the honest answer instead, conversation storage in the ORM, Celery for the slow work and never for the tokens, per user rate limiting, retries with backoff, pydantic for structured output, and a gunicorn or uvicorn deploy that does not swallow the stream.
One purchase and it stays yours. Pay once, keep forever, no account, and no limit on reusing it across projects.