Skip to content

Introducing Iridium

Iridium is a

, UI framework for building admin panels in Go. Built with HTMX, Alpine.js, & styled like Shadcn.

NOTICE

Iridium is pre-alpha currently.

The documentation, apis, and codebase are still unfinished and quite buggy hence why it is not publicly released yet. We are still a ways off to stability.

Start tuned for the public alpha soon. In the meantime, feel free to browse our docs (work-in progress) or join our discord.

What Iridium is

Iridium is a package to develop admin panels rapidly that perform well & look good. It lets you get resources, forms, tables, widgets, etc up and running quickly so you, the backend loving Gopher, can stay in the backend, yet still produce a quality interface.

This package is ultimately intended for solo go developers, small teams, and larger teams that need straightforward admin panels built quickly, would prefer to keep the entire stack in GO and avoid writing their UIs in another JS framework, and are comfortable with some basics around SSR.

What Iridium isn't

Iridium is not intended, nor is it recommended, as a general UI framework. For larger teams with dedicated front-end devs experienced with an SPA framework, or teams who need maximal flexibility for the future, Iridium is likely not a good fit - and that's okay!

Iridium's goal is to give you intelligent defaults and options for 95% of your admin panel's UI requirements, and a smooth experience extending or overriding that last 5%.

Just how much of a Framework is this?

Iridium is not a batteries-included, general application framework. We only take control over a section of your http/net router to display pages and handle requests. The rest of the application is built from your choices.

In other words:

We don't:

  • Enforce a particular ORM, database, logger, migration style, or router for your application
  • Require additional build steps
  • Take full control of your router
  • Have hidden, massive internal dependencies

We do:

  • Take control over sections of your net/http router, specifically routes under say /admin where your panel lives
  • Require the use of templ when extending or overriding Iridium's components
  • Encourage the use of HTMX, Alpine, and Tailwind when customizing Iridium

Internally Iridium only uses net/http which makes integration with your preferred router easier

Should I use Iridium for my project?

If you're looking for a Go based Admin Panel builder, Iridium may fit your needs!

Iridium is not perfect (and is still pre-alpha) however, even in it's final state it will have shortcomings you should think carefully about before investing your time and energy.

Customization

Iridium has many different paths to customize itself:

  1. CSS overridng
  2. Attributes
  3. View & Resolver overriding
  4. Using custom pages with our static components

That flexibility gives you a lot of power to account for unforeseen and unsupported functionality in Iridium while still reaping the benefits of rapid development. However, a lot of devs do not like working with Admin builders or UI frameworks because ultimately you need to buy into our way of doing things.

That "buy-in" takes your time and effort. We feel that within the bounds of Iridium's intended use case (Admin Panels) that commitment is worth the time saving you'll experience, but that is not always true, particularly if your app's requirements may vary widely in the future into areas Iridium does not have native support.

Before commiting

You should scan our documentation first and ideally run our demo locally, or build your own MVP. Imagine features Iridium does not have that may be asked of you or your team, and explore our customization and overriding sections to see how you can bend Iridium to your will.

You'll end up with 3 possible conclusions:

Iridium fits what I need, and I feel confident that I can override it for any edge case features I need.

Great! Get to work then 😃

Iridium could work, but doesn't have enough native features today to commit

This is likely the most common conclusion particularly in Iridium's (pre-)alpha phases. Still need an Admin Panel builder? See our alternatives section!

Just one (or a couple) things holding you back? Feel free to join our discord and share what you need!

Iridium doesn't work for me or my team.

That is totally cool! Thanks for considering it!

Iridium is MIT licensed, so if there are sections you'd like to take for your project, feel free to grab any (just include our license). Here is our Github.

Alternatives

Iridium is early in development and hence is probably not the right fit for a production application today.

  • Comfortable with some Laravel and need an excellent admin panel builder? Filament was our inspiration!
  • Want to build everything yourself?
    • Our style sheets are forked from the lovely BasecoatUI
    • We forked some prebuilt tailwind + alpine components from the awesome PinesUI

Released under the MIT License.