I understand your concerns, and honestly, I think you’re pointing at something real.
At the same time, Flarum’s architecture already nudges developers in a certain direction. A lot of things are, in practice, quite “hardcoded” in terms of UI patterns. If you’ve noticed, almost every extension ends up using the same modal structure. Just yesterday, while working on my Rewind extension, I tried to build a full-screen modal—and it was surprisingly difficult to go beyond those established patterns.
So in a way, Flarum both encourages consistency and limits flexibility at the same time.
I also don’t think it’s fair to criticize free extensions by saying things like “this feels AI-generated” or “vibe-coded.” Every project starts somewhere. A small, rough idea—sometimes built quickly or imperfectly—can grow into something widely used. And when that happens, it often gets revisited and refined by more experienced developers. That’s just part of the natural evolution of open-source software.
That said, I do get what you mean about design quality and consistency. For example, in my own work, I treated the Modern Footer extension almost like a personal challenge. Its LESS file is actually smaller than many extensions that do far less. I spent weeks refining it, avoiding unnecessary complexity, and trying to stay true to a clean, minimal approach—no shortcuts, no “vibe coding.”
But if you look at the broader ecosystem—especially in places like the WordPress plugin space—you’ll see that this mindset is fading. In the past, plugins were built to blend seamlessly with popular themes. Now, many of them feel like they each bring their own separate UI, almost like mini themes inside a theme.
That’s probably the bigger trend we’re seeing reflected here too.
So instead of drawing a hard line, I think a more constructive approach would be to engage directly with extension developers. Reach out, share your perspective, and offer to help them make their designs feel more “Flarum-like.” Collaboration will likely get us much further than criticism.