For OmbuLabs · Software Engineer Contractor (Ruby on Rails)
Joel Gaff, Jr.
Rails developer, available for contract or full-time work. Remote, from Portland, Oregon.
OmbuLabs helps clients with Rails upgrades, feature work, and maintenance. I've spent four-plus years building and maintaining my own production Rails apps, and the newest run on Rails 8.
Why I'm a fit for OmbuLabs' Software Engineer Contractor (Ruby on Rails)
Here's what the posting asks for, and what I've actually done.
Ruby, Rails, Git, JavaScript
Four-plus years of Ruby on Rails across nearly a dozen production apps. Partita Doppia, Grateful Deploy, and Home HQ run on Rails 8 with Hotwire, and I've written a TypeScript phone web app.
Writing simple, clear code that is easy to maintain
I build in the 37signals style on purpose: one Rails monolith, Hotwire, and SQLite. Fewer moving parts means less to maintain.
Maintenance and keeping apps healthy
I maintain every app I've shipped myself, including migrations, DNS, and deploys, and I built Grateful Deploy to see each app's version, health, and memory and roll back with a button.
Testing
Partita Doppia and Grateful Deploy ship with Minitest suites (model, integration, and system tests) and a pre-push hook.
Code reviews on pull requests
I've had pull requests reviewed and merged into Omarchy, omarchy-time-machine, and omacaffeine.
Communicating with and demoing work to clients
I co-host The Pingback Podcast with Greg Molnar, talking about Rails and indie products, and I write at joelgaff.com.
Capable of making important decisions, both detail-oriented and practical
As a manager of one I make every product and technical call on my apps, and execute without supervision.
Remote
I'm in Portland, Oregon, on Pacific Time.
To be upfront: I write tests with Minitest rather than RSpec, and I deploy with Kamal rather than Heroku.
About
I'm a self-taught Ruby on Rails developer in Portland, Oregon. Over the past four-plus years I've designed, built, and run nearly a dozen production Rails apps, solo. I handle every migration, the DNS records, and the deploys.
I borrow a lot from 37signals: a single Rails monolith, Hotwire on the front end, and almost always SQLite. I deploy with Kamal, including to my own home server through a Cloudflare tunnel.
I'm looking for a full-time full stack or backend role, open to remote or Portland, Oregon.
I'll be at SF Ruby, Nov 10-11, 2026. If you're there too, come say hi.
A local dashboard for apps deployed with Kamal: deploy, roll back, and read logs with a button, and see each app's version, health, and memory. Every button runs one fixed, allowlisted command. Source
Open-source double-entry bookkeeping for small businesses: invoices, bills, bank reconciliation against a SimpleFIN feed or uploaded statements, standard reports, PDF invoices, and a Xero import over the API. Source
A results platform for clubs and teams: race schedules, results, and real-time points standings. The Traverse City Track Club uses it for its Grand Prix series.
I co-host The Pingback Podcast with Greg Molnar. We talk about Ruby on Rails, building indie products, and the people doing it. Recent guests include Sam Ruby and Josef Strzibny.
Also a guest on Omarchy Stories, episode 009: "AI Coding: Are We Shipping Faster and Learning Less?"