Forest Admin alternative · for Rails
Your Rails admin, in your codebase.
Not on a platform.
Forest Admin keeps your data on your servers, and that is a real strength. But the admin itself, its layout, fields, and configuration, lives in Forest's hosted editor. Avo is a Rails engine in your Gemfile, so the whole admin is Ruby you review in pull requests and deploy with the rest of your app.
Forest Admin
Your admin's UI, layout, and config
[ lives on their platform ]
Avo
Your admin's UI, layout, and config
[ lives in your repo ]
01 · credit where it's due
What Forest Admin gets right
Forest Admin is a serious product, and it solves a real problem well. If you are weighing it against Avo, start from what it does genuinely better than most hosted admin tools.
Your data stays on your side
Forest's agent (the forest_liana gem) runs inside your own app and generates
an admin API on your servers. Records are read straight from your database to the browser, so your
data does not transit Forest's servers. That is a meaningful advantage over admin tools that proxy
everything through a vendor.
Non-developers can shape the UI
Layouts, fields, and views are arranged in Forest's web editor, so an ops or support lead can rearrange a screen without opening the codebase or waiting on a deploy. For some teams that is exactly the workflow they want.
It is not tied to one backend
Forest connects to Rails, but also to other frameworks and data sources. If you need a single admin over a mix of databases and services, that breadth is a real reason to pick it.
02 · the structural difference
The data path stays yours. The admin does not.
Here is the distinction worth being precise about. With Forest, your data path stays on your infrastructure, but the admin that reads it is a product hosted on Forest's platform. Your app exposes data through the agent gem; the interface, the layout, the fields, the segments, the dashboards, is configured in Forest's web editor and stored on their side. When someone on your team opens the admin, it fetches its UI configuration from Forest and your records from your app.
With Avo there is no other side. The admin is a Rails engine in your Gemfile, and every resource is a Ruby class in your repository. Nothing about it lives on a server you do not control. That single difference is what this whole page is about, and it is the same argument the homepage makes about the two apps every product ships: the internal tool should be part of your codebase, not a second system you rent and report to.
03 · the cost of a hosted admin
An admin your app reports to is an admin you don't fully control.
The agent keeps your data close, but the configuration that decides what your team can see and do lives somewhere your normal workflow can't reach.
01
Config outside your diff
A teammate changes which fields are visible or what an action does in a web UI. There is no pull request, no review, no line in git blame explaining why.
02
No clean rollback
A bad layout change is not a git revert. Your admin config and your app
version drift apart, and undoing a change means clicking back through a UI.
03
A hosted frontend in the path
Your data may sit on your servers, but the tool your team opens every morning is hosted elsewhere. Its availability, and your access, depend on a service outside your stack.
04
Priced per person
Forest bills per user, last publicly listed at $60 per user per month (May 2026) and now quote-based. Every teammate who needs the admin is another seat on the invoice, so the cost scales with your headcount rather than your usage.
05
An agent to keep in step
The agent gem sits between your models and their UI. It is actively maintained, but it is still a dependency whose upgrades have to line up with the hosted platform.
06
Two systems, one team
Your app and your admin evolve on separate tracks with separate release flows, so the people who own both carry two mental models instead of one.
04 · where Avo comes in
With Avo, the admin is part of the app
Avo is a Rails engine you add to your Gemfile. Your resources, fields, actions, and
permissions are Ruby classes that live in app/avo, right next to the rest of your code. That
one fact changes how the whole admin behaves.
Reviewed and versioned like everything else
Admin config is committed to git, shows up in the diff, and goes through the same pull request review as your product code. You roll it back the way you roll back anything: revert and redeploy.
No external frontend to depend on
The entire admin is served by your own Rails app. There is no hosted editor and no vendor UI in the path, so the only thing that has to be up is your own infrastructure.
Per app, unlimited users
Avo 4 is priced per app with unlimited seats. Add your whole team, support, ops, finance, without watching the bill climb with every person you invite.
A real escape hatch
When you reach the edge of the DSL, you drop to plain Rails and ViewComponent in the same repository. No feature request, no waiting on a vendor roadmap.
A resource is just a class. This one gives you a full CRUD screen for your users, filtered, searchable, and ready to extend:
# app/avo/resources/user.rb
class Avo::Resources::User < Avo::BaseResource
self.title = :name
def fields
field :id, as: :id
field :name, as: :text
field :email, as: :text
field :plan, as: :select, options: { free: "Free", pro: "Pro" }
field :created_at, as: :datetime, sortable: true
end
end
That file is reviewed in a pull request and deployed with your app. Building your admin in your resource Index view and its fields is the whole configuration, in code you already know how to read. Already running a hosted admin? Here is how teams move their admin back into their codebase.
05 · side by side
Avo and Forest Admin, in one view
Same job, two different places for the admin to live. Here is where they diverge.
If a hosted admin is what you are set on, it is worth reading the Retool comparison too, and the full list of Avo alternatives.
06 · when to pick Forest instead
When Forest Admin is the better fit
Avo is not the right answer for everyone, and pretending otherwise would waste your time. Reach for Forest Admin when:
Your backend isn't Rails, or you need one admin spanning several databases and services. Avo is built for Rails and ActiveRecord; Forest's reach across data sources is the point of it.
You want non-developers editing layouts in a UI, on their own, without a deploy. Avo config is code, which is a feature for engineering teams and a friction for teams that would rather not touch the repository.
You specifically want a managed, hosted admin and are happy to trade git-based configuration for that. That is a legitimate choice, just a different one from what Avo offers.
But if you are a Rails team that wants the admin to be code you own, review, and ship like the rest of your app, that is exactly what Avo is for.
Frequently asked questions
- Is Avo a good Forest Admin alternative for Rails?
- Yes. Both give a Rails team a working admin without building CRUD by hand. The difference is where the admin lives: Avo is a Rails engine in your Gemfile and its configuration is Ruby in your repository, while Forest Admin's UI and layout configuration live on Forest's hosted platform. See the full list of Avo alternatives for more comparisons.
- Does my data pass through Avo's servers?
- No. Avo runs entirely inside your Rails app as an engine, so there is no external service in the path between your team and your database. Forest Admin also keeps your data on your side through its in-app agent, but its admin frontend is hosted on Forest's platform, whereas Avo has no hosted component at all.
- Does Avo have per-user pricing like Forest Admin?
- No. Avo 4 is priced per app with unlimited users, while Forest Admin charges per user (per seat), last publicly listed at $60 per user per month in May 2026 and now quote-based. With Avo you can add your whole team, support, ops, and finance included, without the bill scaling with headcount.
- Where does Avo store the admin configuration?
-
In your codebase. Each resource is a Ruby class in
app/avo, so the configuration is versioned in git, reviewed in pull requests, and deployed with the rest of your app. Forest Admin's layout and UI configuration is edited in its web interface and stored on Forest's platform, outside your repository. - Do I need a hosted frontend to run Avo?
- No. The entire admin is served by your own Rails application, so there is no external editor or vendor UI to depend on. The only thing that needs to be running is your own infrastructure, which also means the admin works on your infra end to end.
- Can I customize Avo beyond what the DSL provides?
- Yes. When you reach the edge of what Avo provides, you drop to plain Rails and ViewComponent inside the same repository, with no feature request to a vendor and no waiting on a roadmap. You can read more in the Avo resources documentation.
- Is the avo gem actively used in production?
- Yes. Avo powers the internal tools of 250+ paying companies, the gem has been downloaded more than 2.7 million times, and the project has around 1,800 GitHub stars. You can try it on the live demo apps before installing anything.
Make the admin yours
Put your Rails admin back in your codebase.
Start free, define your first resource in Ruby, and ship an admin you review and deploy like the rest of your app. No per-seat pricing, no hosted frontend to depend on.