Lobsters is a real, community-run Rails application — the link-aggregation site, not a scaffold. It's Roundhouse's proving lane: a substantial, un-contrived codebase that pushes ingestion and inference past the tidy shape of the reference blog.
Status: work in progress — most of it transpiles; the constructs not yet modeled surface as diagnostics you can read live, rather than as a hard stop.
Why Lobsters
A transpiler that only handles a generated blog hasn't proven much. Real apps carry accumulated idiom: hand-rolled scopes, concerns, callbacks, view helpers, and query patterns that no scaffold produces. Lobsters is large enough to expose those, small enough to reason about whole — the right size to drive Roundhouse's coverage toward real-world Rails and keep an honest ledger of what's left.
It's also a known quantity in the Ruby world. The Ruby core team
turned Lobsters into a representative benchmark for YJIT precisely because
it stresses a real Rails request the way a microbenchmark can't — see
We
turned Lobsters into a Rails benchmark for YJIT. Roundhouse ingests it
from that same benchmark, pinned to a fixed
ruby/ruby-bench
commit, so what you see here tracks a well-understood reference workload.
The honest ledger
Open it in the IDE and every unmodeled construct is a diagnostic on the exact line — the coverage gap made legible. Open it in the Playground and it transpiles to any target, emitting what it can and annotating what it can't. This is the same bar the blog meets perfectly and Mastodon is climbing toward: show the work in progress with the gap described, don't pretend the gap isn't there.
Further reading
- We turned Lobsters into a Rails benchmark for YJIT — why Lobsters is the reference real-app workload
- The Ruby JRuby Was Built to Run — the 2×2 performance experiment
- Numbers Without Conclusions — benchmark methodology and honest caveats
Source: ruby/ruby-bench
(upstream: lobsters/lobsters).