Sign In

Gradio is not your Friend (Times Change)

1

[deleted]

May 9, 2026

(Updated: 4 months ago)

musing

Gradio is not your Friend (Times Change)

An introduction to the idea that not everything needs to be Gradio.

For more information and details on the future with screenshots go here: https://civitai.com/articles/29876/calling-comfyui-workflow-nerds

Section One: What is Gradio?

Oh, my sweet summer child you're expecting me to give you an AI generated article on the introduction of your first history class in AI? No. You'll get a RAW rough outline here, because its important to know the basics as if it were a conversation not an academic paper.

Gradio is a UI based system, it's core language driving it is python. It's not the ONLY python based UI system, but it's one of a couple of WEB based UI systems. It's sort of main focus was just in my opinion to bridge the gap between your terminal, CLI and having something to actually look at "aesthetically." The problem with that though, is that Gradio and Pytorch Lightning specifically are more geared towards simplistic, code forward toolkits rather than simplistic, UI focused and user friendly. While this is based out of opinion, I can promise you even though most developers would eye-twitch at you with that statement, there's a hint of truth in what i'm saying.

Gradio is not "bad" in the way you have a standardized ATM/Cash Machine UI that just literally is really bland, very unable to move into any sort of "MODERN FUTURE" - and makes you sort of just eye twitch while it glitches into the next planet and eats whatever you were working on.

That part's more opinionated than fact.

But i'll get into more on that in the sections that detail my experience in development with python. My background is largely in web design and graphic design, so my key point in everything is "IS IT ACCESSIBLE" and let me tell you most Gradio designs are NOT.

Section Two: What APPS have Gradio that anyone is using?

Ahem. Aka "What we all were using because there was not many other choices.".

So you have a LARGE list here, because not all of them are all related.

SD/Next (Vladmandic)
FOOOCUS
FORGE
Neo (Forge)
Classic (Forge)
Re:Forge (Forge)
Automatic1111
Oogabooga (I dont know if i spelled that right)

OK so the list is "SMALLER" because Gradio is used for a lot more, and there's apps i'm entirely unsure what they're using. Invoke, SwarmUI to name a couple.


Sure, also Huggingface demos, and spaces tend to use Gradio, because Huggingface literally maintains gradio. These are not "BAD" per se, as more that they're all DIFFERENT iterations of generative AI user interfaces. They're "WEB APPS", more so in my opinion of the truest "sense" based on how a programmer would see how a UI would work rather than a designer.

That's not a bad thing all the way either, the utilitarian nature of Gradio works really well for stupid simple apps that don't need a lot of hijacking. Single panel web UI's for Foocus, or even the ones for the LLM web UI's. Things that Gradio is really good at overall..


Section Three: My "GIVING UP PYTHON FOR LENT" Joke

So I promised you a small introduction to my "I spent time learning and giving up on python.". So often when we're getting thrown into developing things in the open source field related to Image gen (and early years of Stable Diffusion) - we were ONLY really doing PYTHON coding. Nobody really had an interest in saying "hey why don't we do this". Low scope, hobby coding really doesn't go into the focus usually of doing something larger: Unless in the case of Ktiseos Nyx Trainer OR Arc En Ciel's setup.

I dont have any coding or influence other than my own uploaded content on Arc En Ciel, but it is another example of people that while someone MIGHT be a programmer/dev by career: The product being "SHIPPED" is another open source site/app. A hobbyist one at that, but instead of it being in gradio it's in NextJS.

I spent the better part of a couple of years patching basic python, trying to make things that made no sense. By the time I got dataset-tools to a point that it was finally useable, I was so done with python as my main context language.

My background is in design: not main development. I'm used to art, design and how a UI is accesible and still damn pretty. I'm used to the old ways of internet by making a personal site with photoshop and hilariously breaking rules.

I've used Pyqt6, i've looked into Gradio - it's not that PYTHON is bad, it's that working with it as the frontend - is not EASY. I'd far rather in this instance write and design WRAPPERS/UI around existing pytorch/diffusion style applications with a CLI or an API system - than try Gradio or even Lightning.

QSS for QT in C and Python, is interesting sure - but it's like CSS for programmers, they clip and stretch how LITTLE you can do compared to what ACTUAL CSS does. It works well for things that DO need a standard UI in terms of using QT for C - or even Pyqt6/Pyside6.

I gave up on pure python, while I never will probably understand SYNTAX of any language per se - the idea that I understand more LOGIC behind Next/Node because it's used in a more web focused context.

Section Four: What are you gonna do about it?

This isn't entirely easy, because it wasn't something I really dreamed up until I started having large amounts of issues with Gradio apps. I was going to dedicate a whole section about my issues but it's the basis to WHY i'm moving to doing my own thing. You gotta understand: you don't tend to want to break things and make things yourself until you have a REALLY good reason to do so.
Forge was a fork of Automatic1111, just like SDNext and a couple other things were. But Forge was the only one that was the "MOST COMPATIBLE" Later on with a lot of things we all got used to. It advertised the "SPEED" and changes of ComfyUI at the time with the familiar ways of Gradio, and it did a lot of shaking in the field for a long time. The problem is: just like any other good app - development falls to the wayside and minor changes and security patches are the only things that spark any updates.

Forge has forks, of it's own, and while I have REALLY loud opinions about the whole thing about how forge didn't really sell on what it was meant to - the point is it worked. Until even these forks really don't. Why? I feel like personally it's because of Gradio. You're hijacking adding MORE and more "PLUGINS" that aren't even readily compatible with a system that's HTML+Python.

The problem i've had is we've barely had anyone wanting to make user focused apps that wrapped ComfyUI in a way that REMINDED us of the WebUI's of Moescape, Civitai, and other sites - it's always Next/Node for someone's onsite generator. SwarmUI was the first attempt, but I never got my head around how it looked, and being my whole ethos of design background - it just never sung out to me.

The idea is basically that I was originally thinking of ripping forge to shreds and making an A111 style interface, but i have 0 interest in ripping it now. Fighting the API changes in every fork, rather than trying to just make a wrapper around a fairly STANDARD API - means that we have a good dream on our hands.

I'm going to do what everyone else does, but make it so you have a choice. Being that local or remote isn't free, you'll always have sites like Arc En Ciel, Civitai and even Moescape to fall back on for your credit based generations. But having your own ecosystem to train, to merge, and to create in - it's like the old AOL adage with trying to wall the garden. Except that you literally are free to open a new tab and watch anime.

I'm fighting AGAINST the grain of plain gradio style interfaces, as well as fighting against the "VIBE CODED INTERNET THEORY" by designing something in mind. It's patchy sure, because I'm using an LLM to help me build it - and it costs me like 40 NZD a month to do it. But think of it this way: Over time i'll be making an extension based system that allows you to code Next/React components to work with comfyUI nodes. And plausibly other ecosystem components, which is the whole idea of the ecosystem.

It's like Auto, Comfy etc base -- but you get to do things in a whole new fashion. The reason i wanted a familiar interface? I am no good with the noodles, the flying spaghetti monster of node based traversal - it hurts my brain. I get the logic, it's neat and it's powerful - but after dealing with Dataset tools? I want something easy, something i can just slap the parameters on.

So while most people used to only know me for my random models and loras - i'm hoping you'll also know me for Dataset Tools and the KNX Trainer /Ecosystem. Not because i want fame, but because i want to stand proud next to my peers and share things that i'm passionate about.

Developing this wasnt' about breaking away and trying to bank it rich - it was to share a tool that works better FOR ME. Which means that it may work for more than just me. The trainer has minimal footprint, it's based on sd-scripts, the ram it takes in the browser is so much less than A1111. Most of the training bugs are now finally getting sorted, i'm able to finally experiment and do different things.

It means we have so much more we can do, and explode the future with different things and different options. We're no longer bound by the "just do what everyone else does." because saturation of the same thing is why A111/Forge have left me dry.

Nobody's been updating extensions, Neo's back end API is entirely different - i get it and I validate it but nobody wants to update extensions to work for it. If you don't have to "UPDATE" except for changes in Comfyui's ecosystem, and sure the shadcn/radix component system - and everything works out of the box instead of hijacking - why not?

So if you're curious about the progress go here:

https://github.com/Ktiseos-Nyx/Ktiseos-Nyx-Trainer

If you wanna come hang out, suggest changes to the trainer or yell at me for not getting loras done:

https://discord.gg/HhBSM9gBY

1