Avo is a Ruby on Rails admin panel framework that generates customizable CRUD interfaces, dashboard widgets, and internal tools directly from your Active Record models using Ruby code.
What is Avo?
Avo is an open-source Ruby gem that turns a Rails application into an admin panel and internal tool builder. You define resources in Ruby files, and Avo automatically produces the controllers, views, and routes needed for those screens. It runs on Ruby on Rails, is maintained by Avo HQ (the avo-hq GitHub organization), and has a public demo app at main.avodemo.com.
Key Features
- Powered by Hotwire — Avo uses Rails' Hotwire stack (Turbo and Stimulus) to deliver a fast, modern interface without writing custom JavaScript.
- Code-driven configuration — The entire admin panel is configured in Ruby: resource classes, fields, actions, and filters are all plain Ruby code, with no separate templates or config files.
- Resource Management — Generate a full CRUD interface for any Active Record model with a single command, eliminating copy-pasted views and controllers.
- Dashboard widgets and metrics — Create charts, metrics, and custom cards for your dashboard with dedicated Ruby APIs, documented at docs.avohq.io/4.0/dashboards.html.
- Resource Search — Search across one or multiple resources at once, including fuzzy-searchable associations so large dropdowns are replaced with typeahead lookups.
- Active Storage support — Attach single or multiple files to records with a one-line field integration using ActiveStorage.
- Actions and Filters — Define custom actions that run on selected records and custom filters that segment data, both exposed through the UI.
- Authorization — Leverage Pundit policies to control access to resources, with a documented integration for building scalable authorization.
Who is Avo for?
Rails developers who need to build an admin backend without writing repetitive controller and view code. Startups that need an internal tool or content management system quickly, using the same models as their main Rails app. Teams that want an interface for their data that is fully customizable in Ruby rather than through a drag-and-drop builder.
What can you do with Avo?
- Create a CRUD admin panel — Define a resource per model and get index, show, edit, and create screens with forms, validations, and associations wired up automatically.
- Build dashboards — Use the dashboard DSL to add metrics and charts, then arrange cards on a grid.
- Add custom business logic — Write actions (e.g. bulk update or export) and filters that appear as buttons and dropdowns in the admin UI.
- Manage file uploads — Take advantage of the one-line ActiveStorage field to handle single or multiple file uploads on any record.
How does Avo work?
Installation is a single command: rails app:template LOCATION='https://avohq.io/app-template' uses a RailsBytes template to scaffold Avo into your app. After installation, you define resources in Ruby (e.g. a user resource) that map to your models, and Avo generates the corresponding admin screens on the fly. The framework also ships with a menu builder, tabbed interface, and grid view for arranging content.
Alternatives
ActiveAdmin and Rails Admin are also open-source admin panel solutions for Ruby on Rails.
