Show one honest claim:
- a bounded React Server Components via React on Rails Pro surface can beat a matched
Inertiacontrol on user-visible metrics
Do not claim:
- a universal RSC win
- that the full dashboard is already faster
- that
Rspackis responsible for the route-level runtime gain - that the current Lighthouse fallback replaces PageSpeed API or field-data proof
- short version:
90to120seconds - full version:
4to6minutes
- open the VP Engineering summary at
https://gumroad.reactonrails.com/rsc-demo - have the detailed logged-out lab at
https://gumroad.reactonrails.com/rsc-demo/evidenceopen in another tab - have docs/public-buyer-page-performance-results.md open in another tab
- keep the repo README open in another tab
- optionally keep the product and Discover route pairs open in separate tabs
This is a Gumroad public-page rendering experiment from ShakaCode.
The question is simple: can React on Rails Pro plus React Server Components make buyer-facing product and Discover pages faster than a matched Inertia control enough to justify the extra complexity?
This route is the control: `/public_product/discover_inertia_demo`.
It uses the same synthetic production-shaped Discover fixture as the experiment route.
This route is the experiment: `/public_product/discover_rsc_demo`.
Same public marketplace data, different rendering model.
On the current stable media-bearing ShakaPerf run, the Discover RSC route cuts combined-median navigation duration from about 1098ms to 630ms.
The product detail route shows a larger win: about 1124ms to 575ms combined-median navigation duration.
The same run keeps the direction honest: JavaScript requests drop from nine to one, while response-end is about the same on Product and inconclusive on Discover.
The PageSpeed links are still useful, but the current live-versus-demo Lighthouse fallback is diagnostic only because the pages did not load equivalent media and production chrome.
That is not a universal win, but it is a real buyer-page win on bounded public surfaces.
That makes this interesting for product positioning and for a narrow upstream discussion.
The next honest proof gates are defining production parity, validating mobile-throttled behavior, and rerunning after React on Rails Pro 17.0.0 final. PageSpeed or field-data corroboration still requires documented media, chrome, CDN, cache, and third-party parity, especially for INP.
We are not trying to prove that every Inertia page should be replaced.
We are trying to identify whether some read-heavy Rails surfaces cross the line where a richer React rendering model becomes worth it.
This repo tracks Gumroad and keeps the work bounded:
first a public product page, then a public Discover page, each with a matched Inertia control and React Server Components route.
That keeps the review surface understandable and focused on buyer-page performance.
Here is the Inertia control route.
Here is the RSC experiment route.
Both use the same production-shaped synthetic fixture, so we are measuring rendering architecture rather than content differences.
Both public RSC routes win on combined-median navigation duration in the stable media-bearing run, and route JavaScript requests drop from nine to one.
Product detail improves median LCP from 662ms to 602ms; Discover improves from 768ms to 648ms, with more run-to-run noise.
The tradeoff is a larger encoded HTML body. Response-end is about the same on Product and inconclusive on Discover, not an RSC win.
Rspack is the build-speed and dev-loop story.
RSC is the route-level runtime story.
If we blur those together, we weaken both claims.
The repo includes the current status, the hosted public buyer-page results, the public performance evaluation notes, and the positioning notes.
So this is not just a demo branch.
It is meant to help decide what should be positioned, what should be optimized next, and what should never be over-claimed.
If PageSpeed API or field data corroborates the media-bearing same-fixture result after production-equivalent media and CDN parity, especially for INP, this becomes a credible Gumroad-facing proposal.
If not, it is still valuable because it tells us where the tradeoff actually lives.
- README top section with the hosted public result
/rsc-demo/rsc-demo/evidence#current-shakaperf-result/public_product/discover_inertia_demo/public_product/discover_rsc_demodocs/public-buyer-page-performance-results.mdmetrics tabledocs/current-status.mdshort answer and current result- optional PR stack view on GitHub
bounded comparison surfacematched Inertia controlpublic buyer-page winreduced client JavaScriptmobile proof gatepromising, not universal
RSC is obviously betterInertia is obsoletethis proves Gumroad should migrateRspack made the page faster