Open source · MIT licensed · Free forever

The missing UI library
for Phoenix LiveView

21 accessible, composable components built for Elixir developers. Copy into your project. No paywalls. You own the code.

$ mix aven_ui.add --all

Built with actual AvenUI components — not screenshots

Button

Badge

Active Online Pending Expired v0.1.0

Alert

Progress

Storage 72%
CPU 45%
Tasks 91%

Avatar

KN
KN
KN
KN
AB
TH
+3

Toggle + Stat

Uptime

99.97 %
+0.02%

Built for the Elixir way

Designed around Phoenix LiveView's strengths — not fighting against them.

Zero JS by default

Every component works with pure LiveView server rendering. JS hooks are opt-in for dropdowns and modals.

You own the code

mix aven_ui.add copies source files into your project. No black boxes, no version lock-in.

Full dark mode

CSS variable tokens, not Tailwind class toggling. Zero flash of unstyled content on load.

LiveView streams ready

Table supports phx-update="stream" for O(1) DOM patching. Built for real production apps.

Accessible

ARIA roles, keyboard navigation, and focus management built into every component by default.

Form-native

Input and Select integrate directly with Phoenix.HTML.FormField and Ecto changesets.

Up in four steps

1

Add to mix.exs

elixir
{:aven_ui, "~> 0.1", github: "khemmanat/aven_ui"}
2

Install components

bash
mix deps.get
mix aven_ui.add --all
3

Import in web.ex

elixir
defp html_helpers do
  quote do
    use AvenUI, :components
  end
end
4

Add CSS + JS

bash
# assets/css/app.css
@import "./avenui.css";

# assets/js/app.js
import { AvenUIHooks } from "./hooks/aven_ui"

Start building today.
It's free.

21 components. MIT license. No subscription required.