7 ms·
Show HN: Django Control Room – All Your Tools Inside the Django Admin
Over the past year I’ve been building a set of operational panels for Django:
- 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 7mo agoI've built an official website for this project here: https://djangocontrolroom.com/ https://djangocontrolroom.com/ I think that explains some of the value for this project a bit better
- malux85 7mo agoGreat project, Django admin totally needs some love! You rock!
- yassi_dev 7mo agoThank you. I wholeheartedly agree; The Django admin a great surface to stand up tooling
- ramon156 7mo agoA vibe-coded website built on a vibe-coded README, can't get any better than this
- yassi_dev 7mo agoFair. README and site were definitely optimized for speed over perfection. The panels themselves got a bit more attention. Curious what you’d want to see improved on the docs/site side.
- parham 7mo agoIt’s the initial starting point, calm down. I like the idea it can help for initial inspection and smell detection
- seyz 7mo agotoxic.
- Eldt 7mo agoNot all negativity is toxic. My sense of hunger is unpleasant but it keeps me healthy.
- cruffle_duffle 7mo agoI mean docs are largely written for an LLM-in-a-harness. That’s how it goes! If the LLM bootstraps with the right understanding of the universe and knows how to quickly build specific context flavors… life is good.
- UqWBcuFx6NV4r 7mo agoDo you have any actual critiques?
- genie3io 7mo ago[dead]
- dec0dedab0de 7mo agoi like it, but I think i would rather have a proxy, or atleast an auth redirect to those different tools. 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 7mo agoTotally understand - I am a long time flower user for example, and I am familiar with having to harden that installation a bit. 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.
- dec0dedab0de 7mo agoThat definitely makes sense. But as it stands it's more of a multi-tool than a toolbox. I'm definitely going to check it out though.
- stuaxo 7mo agoAh, flower. Useful but I always hit little holes in it, maybe next time I'll set an LLM on it and try and fix them.
- drchaim 7mo agoGood idea. If you add a kind of skill/prompt you’ll get a lot of other components from the community ;)
- yassi_dev 7mo agoThats an interesting idea. One of my next steps is to create a tutorial on how to make your own panel. I'll think on this.
- FEELmyAGI 7mo ago[flagged]
- jefurii 7mo agoGo do something ueful.
- FEELmyAGI 7mo ago> Go do something [r]ueful. Does browsing this website not qualify?
- yassi_dev 7mo agoI get your point 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.
- FEELmyAGI 7mo ago>I think it makes sense for full stack monolithic frameworks to be used more frequently. Why? I believe full stack frameworks solved a problem for human coders, not AI coders. In fact they are only a limitation for AI going between programming language and runtime.
- cruffle_duffle 7mo agoI mean for one thing your garden variety LLM had been substantially trained to handle Django. That is less context for it to bootstrap every time you summon it. 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…
- dzonga 7mo agothis is pretty dope
- yassi_dev 7mo agoThanks. I hope you find it useful
- raphaelmolly8 7mo ago[dead]
- raphaelmolly8 7mo ago[dead]
- izzie1234 7mo agoI love this idea. I see the AI era having 2 competing views when building something new: 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 7mo agoThats an interesting way to frame it. 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.
- simonw 7mo agoI like the way each panel is its own separate package on PyPI and the system picks them up via setuptools entry points. It's a neat implementation of a plugin pattern.
- yassi_dev 7mo agoThanks. Part of the reason this exists is simply wanting to toy around with the entrypoints system
- butterlettuce 7mo agoTell your parents i said thank you for making you exist.
- yassi_dev 7mo agoThey said your welcome
- jnpnj 7mo agoLovely. I wonder how many people did similar things in their own django instances because the lack of embedded monitor is often a source of friction.
- yassi_dev 7mo agoI think any large enough django project has toyed around with extending the admin in some way. Hopefully this project can help establish a standard to make this sort of thing easier.
- giancarlostoro 7mo agoDjango Admin definitely needs extensions like this. I hope someday they make it a stronger more capable Admin UI. Their own docs if I remember correctly tell you to build your own UI if you're hitting limits with the admin UI itself, which is fine, but there's so much OOTB that works nicely for the admin UI. 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 7mo agoThank you. 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.)
- blorenz 7mo agoI love the sentiment and ambition in this! The Django admin is a core reason why I still choose Django over other solutions. I tell my team that the Django admin CRUD is our backstop when we encounter issues in our frontend UI. Thank you for tooling it out more!
- yassi_dev 7mo agoI'm glad you feel that way. The django admin has saved my day many times.
- ashwindharne 7mo agoLooks great -- always wished the admin panel came with more configurable bells and whistles. I've been exploring Quarkus recently (https://quarkus.io/ https://quarkus.io/), and it has a Dev UI with a similar extensible "panels" pattern. It's a bit different than Django since it's not for running in prod, but nonetheless it's pretty helpful. 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 7mo agoquarkus looks interesting, I'll have to check it out. 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
- johsole 7mo agoNice work.
- HFerrahoglu 7mo agolooks good.
- rick1290 7mo agolove it
- greenie_beans 7mo agolove this!! thanks for sharing. this might help me a lot.
- nehalem 7mo agoI like this a lot. What I would love to see is a panel to run management commands and see their output. Would be great in services like Google Cloud Run where you cannot access a shell anymore like you could on Heroku.
- yassi_dev 7mo agoThats the spirit. I built this to unlock the django application from platforms in such a way
- josecapurro 7mo agoThis is fantastic! Keep on the good work! I am looking at this with great interest. I believe keeping the tooling separate and enabling them on demand totally makes sense.
- yassi_dev 7mo agothank you for the kind words. Hopefully you get to try it out.
- zackify 7mo agoThis is great, just installed this on our huge django app because I sent to another dev and claude put the pr up immediately. then i followed up and had claude add our 50 (ok not quite that many) redis instanced to it lol. So fast so easy, can't wait to see what is next
- yassi_dev 7mo agoAmazing. glad you're making use of dj-redis-panel. let me know if I can assist you.
- rtpg 7mo agoNeat! 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 7mo agoIf you work with Django long enough, and at significant scale, you live long enough to b̶e̶c̶o̶m̶e̶ ̶t̶h̶e̶ ̶v̶i̶l̶l̶a̶i̶n̶ make hacky extensions to the admin. I am hoping this work makes it easier for people to start extending the admin in a normalized way.