Introduction
Welcome to RapidRails UI or 'Rapid UI' for short, production ready UI components built specifically for Rails developers.
What is RapidRails UI?
RapidRails UI is designed as a first class citizen component library for Rails applications to give Rails developers the UI components they wish Rails came with. Built with love for the Rails community.
Built with Rails frontend conventions in mind, ViewComponent and Tailwind CSS.
It provides beautiful, accessible, and customizable components that feel native to Rails, not like retrofitted JavaScript libraries.
Unlike generic component libraries that try to work everywhere, RapidRails UI embraces Rails conventions and integrates deeply with Rails' FormBuilder, Turbo, and ViewComponent architecture.
Why RapidRails UI?
Rails-First Design
Built specifically for Rails, not adapted from React or Vue. Works seamlessly with FormBuilder, auto-generates labels based on your models, and integrates with Rails conventions you already know.
ViewComponent Architecture
Server-rendered components using ViewComponent, the same technology used by GitHub. Enjoy better performance, testable and object-oriented components.
Pure Tailwind CSS
RapidRails UI components use only Tailwind v4 utility classes, making them lightweight, customizable, and compatible with your existing Tailwind v4 setup. RapidRails UI has zero JavaScript dependencies.
Accessible by Default
All components follow WCAG AA standards with proper ARIA attributes, semantic HTML, and keyboard navigation support built in.
Who is it for?
RapidRails UI is perfect for:
- Rails developers who want beautiful UI without wrestling with JavaScript frameworks
- Teams building MVPs who need to ship fast with production-ready components
- Developers migrating from Bootstrap looking for modern Tailwind-based alternatives
- Anyone who loves Rails conventions and wants UI components that feel like Rails
Key Features
Server-rendered, testable, with built-in caching
No custom CSS, works with v3 and v4
Dark mode support with theme switcher included
No JS dependencies, works with Hotwire/Stimulus
Auto-labeled buttons based on model state
Copy any component locally and edit as needed
Beautiful Lucide icons with size and color support
Full color palette plus semantic colors
Quick Preview
Here's a taste of how simple and Rails-like the API feels:
<%= rui_button("Click Me", color: :primary) %>
<%= form_with model: @post do |f| %>
<%= f.rui_button %>
<% end %>
<%= rui_button_to("Delete", post_path(@post), method: :delete, color: :danger) %>
<%= rui_social_button(:google, path: "/auth/google") %>
<%= rui_button("Save") do |button|
button.with_icon(name: :save)
end %>
Notice how it feels like Rails? No complex props, no JSX, just good old ERB with sensible defaults.