Building Rails apps should feel smooth, fast, and focused—but for years, my local development setup felt like controlled chaos. RubyEnv.app is the tool I built to fix that.
My Setup Was Functional, but Fragile
For a long time, I used a mix of asdf, direnv, and a few Docker-based projects. It worked... technically.
asdf
handled Ruby and Node versionsdirenv
loaded environment variables per project- Some projects were containerized, some weren’t
- I used
tmuxinator
to wrangle processes across panes
But as someone who regularly spins up and tears down multiple apps, often running several at once, the cracks started to show.
The Pain Points Piled Up
Even when things were working, they never felt easy:
- I always forgot
bundle outdated
existed—and with it, which gems were stale - Managing
.env
files was messy. I’d forget keys, misconfigure secrets, or break staging setups - Local HTTPS and
.test
domains required manual Caddy setup - Email previews? Only if I remembered to install
letter_opener
- Debugging meant juggling multiple terminals or switching tmux panes mid-thought
For a while, it was just my problem. But when I started working with a team, every friction point got worse.
Onboarding was fragile. Syncing tools was inconsistent. And switching between apps was like stepping into a different minefield each time.
What I Really Wanted
Eventually I stopped and asked:
What if Rails was treated as a first-class citizen by my environment tools?
Not just "it's a Ruby project"—but something that understands Rails conventions, workflows, and developer expectations.
In my head, I imagined:
- A native macOS app that launched instantly
- Automatic
.test
domains with SSL handled for me - A UI that visibly showed what mattered:
- Logs
- Routes
- Schema
- Rake tasks
- No more forgetting which terminal had which task
- No more guessing why mailer previews weren’t working
And most importantly: I wanted a tool that reduced mental overhead. Something I could trust every morning to just work—so I could focus on writing code.
RubyEnv: A Focused, Opinionated, and Omakase Dev Tool
I built RubyEnv.app to be that tool.
It’s opinionated, but in an omakase kind of way—if you’re used to Rails, it will feel natural. But it’s also flexible enough to work the way you want.
- You can bring your own stack and ignore features you don’t need
- Or let RubyEnv do the heavy lifting: SSL, emails, logs, schema views, gem updates, and more
It's designed to disappear when you don’t need it—and give you clarity when you do.
Why asdf, rbenv, and Docker Weren’t Enough
Don’t get me wrong: I loved asdf
. It served me well for a long time. But it didn’t give me the Rails-specific visibility I needed. It didn’t help me:
- Run Rake tasks from a UI
- Understand schema drift
- Capture local emails
- Switch between multiple apps with confidence
And Docker? Great in theory, but too much overhead in practice—especially when the goal is fast iteration and local trust. I didn't want containers; I wanted clarity.
Who RubyEnv Is For
I built RubyEnv for myself. But now, I see who it’s really for:
- Solo indie hackers managing multiple projects
- Freelancers shipping apps for clients
- Rails teams onboarding developers or syncing environments
- Beginners who shouldn’t have to discover
rails stats
after 3 years of using Rails
It’s for anyone who loves Rails and wants their development environment to feel as elegant as the framework itself.
My Workflow Now
With RubyEnv:
- I can switch between apps instantly—and know I haven’t broken anything
- I don’t forget environment variables anymore
- SSL setup is automatic
- I spot outdated gems before they cause issues
- I see errors clearly, preview emails instantly, and can run tasks with one click
RubyEnv isn’t just faster—it’s calmer. It removes the little stresses that add up.
What’s Next
I’m working on collaboration features next—ways for teams to share project settings, onboarding flows, and maybe even snap-ins for shared environments.
But above all, I want developers to feel empowered. I want RubyEnv to disappear when you're in flow, and be there the second you need help.
Because shipping apps should be joyful. And your tools should help you get there.
👉 Learn more at RubyEnv.app