RubyEnv Logo

Why I Built RubyEnv Instead of Using asdf, rbenv, or Docker

by Andrea Fomera, RubyEnv Creator
Why RubyEnv.app over asdf, rbenv, or Docker?! Those tools work don't they?

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 versions
  • direnv 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