Best way to handle Complex Forms for data Ingest

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!

Hey Jose,

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:

  1. Single application with django-plotly-dash – Easier to set up, keeps everything under one roof.

  2. 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.

@joseglego

Be sure to check out this awesome package for making forms with Dash:

Hey! Thanks so much for your answer!

I like this architecture! I’ll take a look!

Yes, def Dash Enterprise is out of our possibilities right now :frowning:

This looks pretty amazing! Thanks so much for the suggestion!