Hello everyone,
I’d like to open this topic to encourage a constructive discussion within the Django community about its role and usage in building modern applications.
Personally, I use Django primarily for backend management, as I prefer to handle the frontend using dedicated frameworks and libraries (such as React, Astro, Next.js, Expo/React Native, etc.).
Across various projects where I’ve integrated tools like JWT, Django REST Framework (DRF), Channels, Redis, Celery, WebSockets, Server-Sent Events (SSE), and more, I’ve consistently appreciated how Django enables rapid development. It’s particularly well-suited for startups or for quickly prototyping and validating new ideas.
Now, with the rise of AI-powered applications (e.g., chatbots, autonomous agents, etc.), I find myself wondering what the most effective and modern stack would be—one that embraces Django’s modular nature while covering the wide range of current development needs.
Recently, I came across Django Ninja (which I hadn’t used before) and noticed it shares many similarities with FastAPI, a popular choice for projects involving LangGraph and other tools used to build AI agents and chatbots.
This brings me to the core of my question:
In your opinion, what is the most comprehensive stack that allows Django to meet all the development needs of modern applications?
Does it make sense to integrate Django Ninja for handling SSE (for AI chat interfaces) and use DRF for CRUD operations, user authentication, and related functionalities within the same project?
In most of my recent work, I already rely on Django Channels and ASGI. I’ve tried DRF EventStream for SSE, but it doesn’t seem to offer the same level of flexibility or suitability for chatbot-style streaming responses as FastAPI does.
Given these considerations, for complex applications involving CRUD operations, user management, real-time chat, Stripe integration, and more—do you think it’s worth breaking away from Django’s monolithic structure in favor of a microservices-based architecture?
I’m thinking particularly in the context of startups that prioritize rapid development and future scalability (understanding, of course, that for projects that grow significantly in terms of user base, the architecture can be evolved at a later stage).
I’d love to hear your thoughts:
What’s your opinion and what would your ideal technological roadmap look like for building this type of application?