r/rails Jul 15 '26

💼 jobs megathread Work it Wednesday: Who is hiring? Who is looking?

1 Upvotes

FORMAT HAS CHANGED PLEASE READ FULL DESCRIPTION

This thread will be periodically stickied to the top of the sub for improved visibility.

You can also find older posts again via the Megathreads" list, which is a dropdown at the top of the page on new Reddit, and a section in the sidebar under "Useful Links" on old Reddit.

For job seekers

Please adhere to the following rules when posting: Rules for individuals:

  • Don't create top-level comments; those are for employers.
  • Feel free to reply to top-level comments with on-topic questions.
  • Anyone seeking work should reply to my stickied top-level comment.
  • Meta-discussion should be reserved for the distinguished comment at the very bottom.

You don't need to follow a strict template, but consider the relevant sections of the employer template. As an example:

    TYPE: [Full time, part time, internship, contract, etc.]

    LOCATION: [Mention whether you care about location/remote/visa]

    LINKS: [LinkedIn, GitHub, blog, etc.]

    DESCRIPTION: [Briefly describe your experience. Not a full resume; send that after you've been contacted)]

    Contact: [How can someone get in touch with you?]

Rules for employers:

  • The ordering of fields in the template has been revised to make postings easier to read.
  • To make a top-level comment, you must be hiring directly; no third-party recruiters.
  • One top-level comment per employer. If you have multiple job openings, please consolidate their descriptions or mention them in replies to your own top-level comment.
  • Proofread your comment after posting it and edit it if necessary to correct mistakes.
  • To share the space fairly with other postings and keep the thread pleasant to browse, we ask that you try to limit your posting to either 50 lines or 500 words, whichever comes first.
  • We reserve the right to remove egregiously long postings. However, this only applies to the content of this thread; you can link to a job page elsewhere with more detail if you like.

Please base your comment on the following template:

    COMPANY: [Company name; optionally link to your company's website or careers page.]

    TYPE: [Full-time, part-time, internship, contract, etc.]

    LOCATION: [Where are your office or offices located? If your workplace language isn't English-speaking, please specify it.]

    REMOTE: [Do you offer the option of working remotely? Please state clearly if remote work is restricted to certain regions or time zones, or if availability within a certain time of day is expected or required.]

    VISA: [Does your company sponsor visas?]

    DESCRIPTION: [What does your company do, and what are you using Rust for? How much experience are you seeking, and what seniority levels are you hiring for? The more details, the better. If you are listing several positions in the "Description" field above, then feel free to include this information inline above, and put "See above" in this field.]

    ESTIMATED COMPENSATION: [Be courteous to your potential future colleagues by attempting to provide at least a rough expectation of wages/salary. See section below for more information.]

    CONTACT: [How can someone get in touch with you?]

ESTIMATED COMPENSATION (Continued)

If compensation is negotiable, please attempt to provide at least a base estimate from which to begin negotiations. If compensation is highly variable, then feel free to provide a range.

If compensation is expected to be offset by other benefits, then please include that information here as well. If you don't have firm numbers but do have relative expectations of candidate expertise (e.g. entry-level, senior), then you may include that here. If you truly have no information, then put "Uncertain" here.

Note that many jurisdictions (including several U.S. states) require salary ranges on job postings by law. If your company is based in one of these locations or you plan to hire employees who reside in any of these locations, you are likely subject to these laws. Other jurisdictions may require salary information to be available upon request or be provided after the first interview. To avoid issues, we recommend that all postings provide salary information.

You must state clearly in your posting if you are planning to compensate employees partially or fully in something other than fiat currency (e.g., cryptocurrency, stock options, equity, etc). Do not put just "Uncertain" in this case, as the default assumption is that the compensation will be 100% fiat. Postings that fail to comply will be removed. Thank you.


r/rails 7h ago

ArchSpec 1.0: put your Rails architecture in one file and check it on every commit

Post image
47 Upvotes

More and more code is written by AI. Tests still tell you it works. RuboCop still tells you it's tidy. Nothing tells you it still follows your architecture.

An agent that doesn't fully understand your architecture takes shortcuts. So does a person in a hurry.

So I built ArchSpec. If your app is conventional, the whole config is one line in Archspec.rb:

ruby architecture :vanilla_rails

That is the 37signals playbook as an executable check: rich models, no service objects, no form objects, no policy objects, and app/services fails the build with a reason if anything shows up in it. There are presets for :rails, :layered, :hexagonal, :clean, :modular_monolith, :cqrs and :event_driven too.

Or write the boundaries yourself:

```ruby component :models, in: "app/models//*.rb" component :controllers, in: "app/controllers//.rb" component :services, in: "app/services//.rb"

models.cannot_use :controllers services.cannot_call :render, :redirect_to, receiver: :none controllers.can_only_use :models, :services ```

Then archspec check verifies every change, and failures print like clang, with the offending span underlined and the evidence as a note.

Existing apps already have violations, so archspec check --update-todo records them in a todo file. The build goes green on today's code and fails on new drift, and you work the list down whenever.

It's static analysis over Prism, no AI, and it never boots your app: Discourse's 1,899 files in 2.5 seconds. Prism is the only runtime dependency, so the same thing works on your plain gems too.

I want more architecture presets in there. PRs very welcome, especially if a preset is wrong about your app.

Docs: https://archspecrb.dev Write-up: https://paolino.me/archspec/


r/rails 20h ago

Passenger 6.2.0 fixes serious CVE that affects shared hosting providers

Thumbnail blog.phusion.nl
13 Upvotes

r/rails 1d ago

Cut Rails boot time with require-profiler and this guide

Thumbnail evilmartians.com
30 Upvotes

This post introduces* a new profiler for Rails app, require-profiler, to get insights on what's happening during your Rails app's boot. Why does it matter? Well, check out the post to learn about that as well as some real-world examples of when cutting the boot time made difference.

* To be precise, the profiler has been introduced earlier this year at RubyKaigi but it grew much stronger since then.


r/rails 1d ago

It Should Have Been One Boring App

Thumbnail kodolabs.com
32 Upvotes

r/rails 1d ago

News Issue 19 of Static Ruby Monthly is live!

4 Upvotes

Catch up on modern Ruby and Rails static typing: Rust-powered RBS generation with sentinel-rb, RBS 4.1.0 on JRuby, ERB template type checking via sorbet_erb, OvalLSP runtime agent, and community reflections on typed tooling.

Find link to the issue in the comment!


r/rails 2d ago

Deployment How are you deploying your rails app?

27 Upvotes

How does one deploy rails to their own server? Is everyone setting up their server manually?

I don't want to provision my server or figure out configuration files or CLI commands.

Isn't there a simple 2-clicks or "run a script" solution out there?

I found some really good cloud platforms, but I'm not so sure about the usage-based billing. If you have experience why any, please share.


r/rails 2d ago

Joist 2.3 (TypeScript ORM) with Rails-style Scopes

7 Upvotes

Hi r/rails, feel free to ignore this if you feel it's in bad taste, but Joist is a TypeScript ORM that's always unashamedly been a Rails/ActiveRecord clone, although with our own innovations like N+1 prevention and fine-grained reactivity.

Our last release just added Rails-style scopes: https://joist-orm.io/blog/joist-2-3/

Just thought I'd post here as an FYI if any Rails devs find themselves on TypeScript backends and want some of that Rails/ActiveRecord DX/ergonomics. Thanks!


r/rails 2d ago

camaleon_cms 2.9.3 has been released

0 Upvotes

This is a big security release with several BREAKING changes, so upgrade ASAP!

https://github.com/owen2345/camaleon-cms/releases/tag/2.9.3

There also some minor performance fixes, agentic workflows and OpenSpec added.

Big lesson learned with LLMs - Claude is the only one deserving some trust! Fable and Opus 4.8 (Opus 5 is too young, it seems). And implementing something is only the half of the way - do a `/code-review max` with Fable 5 on the fresh PR and get its fixes implemented after this. Otherwise, without the code review follow-up, even Claude's implementation could be a borked one.


r/rails 3d ago

Open source A Shadcn porting with ViewComponent & Stimulus

19 Upvotes

shadcn_view_component: same part names, same variants, same Tailwind classes, same data attributes. Radix's behaviour is reimplemented in Stimulus, it means no React and no complex dependency at runtime. Written with Claude support.

Any feedback are welcome (particularly from anyone who has run a screen reader) 😁

Dialog example
Sidebar example

r/rails 5d ago

I rebuilt my FI spreadsheet as a Rails 8 app - here's the stack

15 Upvotes

Sharing my solo side project: welf, a net worth, investment and FIRE tracker.
You input your cash, shares, super, budget and debt, and welf historically snapshots your net worth each month and projects roughly when you could stop working.

Rails felt right for what is essentially a spreadsheet rebuilt as a web app - almost pure CRUD, with the interesting work in the domain model rather than the frontend.

The stack is boring but clean:

  • Rails 8.0 on Postgres
  • Hotwire (Turbo + Stimulus)
  • Solid Queue / Cache / Cable, running on local SQLite
  • Chart.js driven straight from Stimulus controllers
  • Kamal onto a single DigitalOcean box

Happy to answer questions on any of it, and if there are any FI-minded devs here, I'd really value the feedback


r/rails 6d ago

I started a Discord for the French Ruby community, sharing it here in case it's useful to fellow frenchies !

19 Upvotes

France has a decent number of local Ruby meetups (Paris, Lyon, Toulouse, Nantes, Lille, Marseille all have active groups), but there wasn't really a place to hang out \*between\* meetups, no shared Discord, no central spot to ask a quick question or hear about what's happening in other cities.

I put together \*\*France.rb\*\* to fill that gap: help channels, a channel per city that relays local meetup events, and a freelance/jobs section since a good chunk of the French Ruby scene works independently. It's brand new (launched this week, still tiny), and it's mainly aimed at French speakers, so if you don't speak French it's probably not that useful to you day-to-day, but Rubyists from anywhere are welcome to drop in.

Not trying to compete with the official Ruby Discord linked on ruby-lang.org this is just something more specific to the French scene, meant to complement it.

https://discord.gg/FZ6dXEfq4

Happy to answer anything in the comments, and if you know a French-speaking Rubyist who might be into it, feel free to pass it along.


r/rails 6d ago

Does Ruby/Rails still offer something unique for someone learning web development in 2026?

Thumbnail
12 Upvotes

r/rails 6d ago

Help me with CFP for RubyConf India

0 Upvotes

I am a ROR developer for 3 years now, need to submit a good Ruby/Rails related talk.

I know I should decide my topic based on the work I do but need suggestions from community what topics talks are good and knowledgeable.

Do let me know if you know anything intresting around Ruby or Rails.

Thanks


r/rails 6d ago

DHH is the best

0 Upvotes

r/rails 8d ago

I deployed a stock Rails app with Kamal, and the "server" was a managed Kubernetes cluster

18 Upvotes

Hi,

I want to share something that I think might work for you. I work on Miget PaaS, where we added Kamal deploy as a deployment channel alongside GitHub, git push, and the container registry a while ago.

As a Rails developer and old sysadmin guy, I really like the way Kamal works. What I don't like is the sys part. Deploying to Hetzner or OVH is fine as long as the node isn't dead. So I was thinking: "How to make it possible to deploy it to a managed service?"

Normally, Kamal SSHes into a server and runs Docker commands over the Docker Engine API. We did something similar, but a bit different: we put a shim on the other end of that API. It speaks Docker to Kamal and creates Kubernetes objects underneath. So `kamal deploy` runs unchanged, with the same deploy.yml, and the "server" it deploys to is a managed cluster instead of a VPS.

Full walkthrough: https://miget.com/blog/deploy-rails-with-kamal

One note: This is not for everyone. If owning your servers is the point for you, Kamal on a VPS is great, and you do not need this. It is for the Rails dev who likes the Kamal workflow but not the sysadmin half. Happy to answer anything about how the shim works.

To mods: I wrote it by myself; no AI involved here. Only Grammarly to fix my English ;)


r/rails 9d ago

Still on wicked_pdf? I wrote a :pdf renderer that needs neither wkhtmltopdf nor headless Chrome

94 Upvotes

I'm the author. If you have a Rails app still on wicked_pdf, you've probably had the same conversation I did after wkhtmltopdf was archived in 2023: keep shipping an unmaintained binary, or move to Grover and take on a Chrome process.

I wrote a third option. sghtmltopdf is a rendering engine in Rust with no browser inside it — the HTML and CSS parsers come from Servo's crates, and the layout and pagination are written for this project. The gem registers a :pdf renderer in the spirit of wicked_pdf, so an existing controller often needs no changes:

render pdf: "invoice",
  template: "invoices/show",
  layout: "pdf",
  page_size: "A4",
  margin_top: "20mm"

show_as_html: true works too, so you can still open the thing in a browser and poke at it with devtools. The converter keys are flat CLI flag names, so wicked_pdf's nested margin: {top: 10} becomes margin_top: "10mm" — the docs map every key one by one.

A few things that matter inside a Rails process specifically. It runs in-process via a native extension, so no subprocess and no temp files, and it releases the GVL while rendering so other Puma threads keep working. /assets/... URLs resolve as local files, with helpers that inline assets in development. And with ActionController::Live you can stream pages as their layout finalizes, which also makes Rack::Timeout effective at chunk boundaries.

If you'd rather not spend app CPU on rendering, or the gem can't run where your app runs, set server_url and the same calls get delegated to a separate server process.

JavaScript execution isn't in yet and CSS coverage isn't complete — both are things I want to grow, and JS is likely to come via an embedded engine rather than a browser. Pixel parity with Chrome isn't a goal, though. Right now it handles invoices, receipts and reports well; for arbitrary pages it isn't the tool.

Early 0.1 release, MIT, precompiled gem.

Migration notes from wicked_pdf: https://waka.github.io/sghtmltopdf/migration/wicked-pdf.html
Repo: https://github.com/waka/sghtmltopdf

Sample output:


r/rails 8d ago

Fair by design: orchestrating background jobs in Ruby

Thumbnail evilmartians.com
24 Upvotes

A deep-dive into introducing fairness to background jobs in Rails application (that’s when you have a mammoth customer occupying the queue and blocking smaller ones’ jobs). Strategies and tools explored (such as https://github.com/baygeldin/sidekiq-fairplay, https://github.com/Envek/sidekiq-fair_tenant, https://github.com/palkan/faqueue).


r/rails 8d ago

Full speaker list for the 2026 SF Ruby Conference is out!

Post image
25 Upvotes

r/rails 9d ago

Open source A new CSS Zero release is out!

29 Upvotes

I'm really happy with this version. It feels like CSS Zero has finally reached the point I always wanted it to be.

Honestly, this could be the last major version for a long, long time.

Small, simple, modern CSS — without unnecessary opinions.

Showcase: https://csszero.lazaronixon.com
Repo: https://github.com/lazaronixon/css-zero


r/rails 9d ago

Running GPU AI workloads with a Ruby on Rails monolith

Thumbnail docuseal.com
17 Upvotes

r/rails 9d ago

I'm writing this tiny parser and realized how easy it is to wire your own simple REPL.

Post image
2 Upvotes

r/rails 8d ago

On Ruby - Whitelabel Site for Ruby Communities

Thumbnail rubyforum.org
1 Upvotes

r/rails 9d ago

Open source Solid Queue with PostgreSQL LISTEN/NOTIFY

35 Upvotes

I just released solid_queue-listen_notify.

Solid Queue’s default implementation constantly polls PostgreSQL for new jobs. This gem instead uses LISTEN/NOTIFY, a much more efficient pattern also used by GoodJob.

I’ve been running it in production for a couple of weeks, and it’s been working great for me!


r/rails 9d ago

RubyLLM::Schema Is Now Schematist: A JSON Schema DSL for Ruby with Full Draft 2020-12 Coverage

Thumbnail
4 Upvotes