We have been building a dashboard! Which is getting bigger and bigger lately.
Now, we want to continue growing our application. It won’t be only a dashboard but also an Admin for the back office team.
I’ve noticed that there are components for forms inside Dash. But I think most of them are to interact with Dashboards, filter, etc.
My question is:
Would it be better to use Flask and any other third-party app for our bug/complex forms and back office app, or handle it also with Dash? Option 1: Make a bigger Flask App with Dash dashbaords and backoffice Option 2: Use dash forms for Back office app too
Sometimes I feel like I’m using a hammer for a screw and using Dash for something it wasn’t designed for!
I’ve spent a lot of time building software applications that rely heavily on the Dash framework, so hopefully my experience can help guide you as you expand what sounds like a very successful dashboard (congrats, by the way!).
I like to think of development in terms of a restaurant: there’s a “front of house” (servers) and a “back of house” (cooks). The front of house covers UI/UX design and frontend development, while the back of house handles the database, authentication, admin portals, and other core infrastructure. In this analogy, Dash is like a food truck — it can handle a lot of both the frontend and backend in one package. It’s great for full-stack developers and enables rapid development and deployment. Under the hood, you get a React-based frontend, a Python backend, and a Flask server all in one framework.
That said, while Dash is excellent for data apps, sometimes a dashboard alone isn’t enough to support a larger digital infrastructure. In my experience (10+ years in tech), I’ve found that combining Django + Dash is a very powerful approach. Django offers built-in authentication, a robust database layer, APIs, Celery for background tasks, and an admin portal — all of which scale well and integrate nicely with a Dash frontend.
There are two main ways to combine the two:
Single application with django-plotly-dash – Easier to set up, keeps everything under one roof.
Separate applications connected via API – More flexible and scalable, but requires more architecture planning.
Personally, I run a Docker-based stack with Django APIs that multiple Dash applications can connect to. This allows me to keep services modular and scale them independently.
The trade-off is that you’ll need to learn and maintain two frameworks, and there’s less of a “one-size-fits-all” community example for this setup. An alternative is Dash Enterprise, which provides workspaces, quick deployment, built-in databases, Redis, Celery, and authentication. It’s a solid option, though it can be costly if you’re just starting out or working with a limited budget.
I’ve been fortunate to work with both Dash Enterprise and custom-built stacks in sectors like mining, medical, e-commerce, and trading systems. Dash has been a core part of most of my projects, but it’s never been my only tool. Combining frameworks — whether it’s Django, Flask, or others — opens the door to building a back-office system alongside your dashboard without feeling like you’re “using a hammer for a screw.”
In short: Dash can absolutely be part of your back-office app, but pairing it with a more full-featured web framework will give you a more scalable, maintainable foundation for complex forms and administrative tools.
Some of my personal work for context:
This is a dash application that connects to my Django Application, user facing.
This is my Django application thats more Admin / API focused than a real frontend app.
This is my new shop / place to host tutorials imo some of my best ui ux design.
This is a point of sale system I built for a food truck.
This is my open source dash components I’ve built and their associated documentation.