The full answer
FastAPI is lightweight and fast, with request validation and OpenAPI documentation generated from type hints. Creuto uses it to wrap AI models, serve embeddings and retrieval pipelines, and expose machine learning predictions to web and mobile apps.
Django brings a mature ORM, authentication, an admin interface and sensible security defaults out of the box. It suits products where much of the work is managing structured records, such as internal platforms, learning systems or booking back offices.
Most of Creuto's AI stack is Python-based: LangChain and LlamaIndex for orchestration and retrieval, TensorFlow and PyTorch for model training, Hugging Face for open models, and data tooling for cleaning and transforming training data.
Python services are built with the same engineering discipline as the rest of the stack: type hints, automated tests, linting, Docker containers and CI/CD pipelines that run checks on every change.
In many products Python sits alongside a TypeScript backend. A NestJS API handles users, billing and business rules while a FastAPI service handles AI and analytics, and the two communicate over internal APIs or message queues. Creuto designs that split during discovery.