Show HN: Django Control Room – All Your Tools Inside the Django Admin
134 points| yassi_dev | 4 days ago |github.com
- Redis inspection - cache visibility - Celery task introspection - URL discovery and testing
All of these tools have been built inside the Django admin.
Instead of jumping between tools like Flower, redis-cli, Swagger, or external services, I wanted something that sits where I’m already working.
I’ve grouped these under a single umbrella: Django Control Room.
The idea is pretty simple: the Django admin already gives you authentication, permissions, and a familiar interface. It can also act as an operational layer for your app.
Each panel is just a small Django app with a simple interface, so it’s easy to build your own and plug it in.
I’m working on more panels (signals, errors, etc.) and also thinking about how far this pattern can go.
Curious how others think about this. Does it make sense to consolidate this kind of tooling inside the admin, or do you prefer keeping it separate?
yassi_dev|4 days ago
I think that explains some of the value for this project a bit better
malux85|4 days ago
ramon156|4 days ago
ashwindharne|4 days ago
sort of a tangent, but quarkus also has a concept of "dev services" that are monitorable via the dev UI. It uses Testcontainers to start and autowire runtime deps (postgres, redis, keycloak, etc.). Pretty pleasant experience to get the whole stack spun up and observable alongside the dev server.
yassi_dev|4 days ago
I think there is a strong case for officially expanding the django admin to other use cases. I suppose this is a topic for another time
rtpg|4 days ago
The Django admin is really great. I do wish there could be a bit more extensibility hook points to hook into existing stuff, but I know a loooot of projects that hack stuff into the admin despite that (I think in particular it's a bit futzy to have things like confirmation screens on custom actions).
I think the real power of Django comes from not only having the batteries included, but almost always having the right kind of extension points in terms of methods (or template overrides) that really give you ways to quickly insert the right kinds of customization for your project. The admin existing and working so well for so long is proof of that IMO
yassi_dev|4 days ago
I am hoping this work makes it easier for people to start extending the admin in a normalized way.
simonw|4 days ago
yassi_dev|4 days ago
blorenz|4 days ago
yassi_dev|4 days ago
nehalem|4 days ago
yassi_dev|4 days ago
giancarlostoro|4 days ago
I like the spirit of this, and could see Django heavy shops wanting to add bits and pieces that display tooling / services they care about in Django admin.
yassi_dev|4 days ago
I think its good advice to avoid the admin for customer facing use cases. But for internal facing tools It seems pretty wasteful to not use the built in admin - it has all the bells as whistles to build upon (auth, permissions, etc.)
josecapurro|4 days ago
I believe keeping the tooling separate and enabling them on demand totally makes sense.
yassi_dev|4 days ago
zackify|4 days ago
yassi_dev|4 days ago
drchaim|4 days ago
yassi_dev|4 days ago
butterlettuce|4 days ago
yassi_dev|4 days ago
jnpnj|4 days ago
yassi_dev|4 days ago
dec0dedab0de|4 days ago
I used to have flower at myapp.com/flower using an auth redirect in nginx to a simple view in django that made sure it was an admin user. I think if you can make that setup easier to leverage existing tools that would be nicer than rebuilding everything.
yassi_dev|4 days ago
What I'm aiming for here is slightly different - keeping everything inside Django so there are no extra services to run or configure or proxy. As long as you surface the admin somewhere, then that is the place to find your tooling (including celery monitoring)
There will always be room for both approaches. A lightweight proxy/redirect could be something to explore in the future.
izzie1234|4 days ago
1. Build X with pure <language of choice>. Why? LLMs will have less context needed, and onboarding engineers would be easier since there’ll be less overhead and opinionated frameworks knowledge required
2. Build X using well establish frameworks. Painful in the beginning since you’ll not only need language knowledge, but framework knowledge. The upshot, is scaling and maintainability
I love that this ecosystem will heavily pressure teams to consider (2) more and more — solving the very real “AI slop” problem
yassi_dev|4 days ago
In my view. Building things with AI creates the need for common patterns and guardrails (i.e. frameworks) Then as these new apps become productionalized - tooling that fits your framework starts to become more important.
In that sense, AI increases the need for good patterns around observability. This project aims to make this a little easier to do for Django right from inside the framework as opposed to an external service.
johsole|4 days ago
greenie_beans|4 days ago
dzonga|4 days ago
yassi_dev|4 days ago
HFerrahoglu|4 days ago
rick1290|4 days ago
raphaelmolly8|4 days ago
[deleted]
raphaelmolly8|4 days ago
[deleted]
genie3io|4 days ago
[deleted]
FEELmyAGI|4 days ago
[deleted]
yassi_dev|4 days ago
I think even if AI handles more of the CRUD side, you still need to understand what’s happening in the system once it’s running - this is where this project fits in.
To your point about framework use because of AI: As more applications are being built because of lowering barriers, I think it makes sense for full stack monolithic frameworks to be used more frequently.
jefurii|4 days ago
cruffle_duffle|4 days ago
Just like rolling your shitty homebrew framework is a bad idea because only you understand it, the same is probably true with LLMs. Sure they’ll scan the bejesus out of your codebase every time they need to make a change and probably figure it out eventually… but that is just a poor use of limited context. With something mainstream, the LLM already has a lot about the universe in its training. Not to mention an ecosystem of plugins, skills, mcp servers, wizbango-hashers, and claberdashers. All there for the LLM to use instead of wasting tons of time, tokens and money perpetually relearning your oddball, one-off, rat infested homebrew framework.
Nothing has changed really…