Rust off Rails: The opinionated web stack for the AI era

(rustoffrails.org)

72 points | by mike1o1 21 hours ago ago

82 comments

  • nemothekid 20 hours ago ago

    I think my new tell for low effort sites is if they default to the standard Claude Design language. This site has all of it

    * Unnecessary badges

    * text-uppercase section headers

    * Randomly italicized words

    • rob74 19 hours ago ago

      Well, I mean, even the name itself is low effort: it's obviously a pun on "Ruby on Rails", but apparently no one stopped to think that being "off the rails" is generally not something positive...

      • 0c3ca83 19 hours ago ago

        Neither is "AI era", but here we are.

      • omneity 19 hours ago ago

        Not a native speaker but I liked to interpret it as rustless rails. (Rust off) rails rather than rust (off rails)

        • MrDrMcCoy 19 hours ago ago

          "Off rails" is a common enough idiom as to take priority for a native speaker.

          • jasomill 18 hours ago ago

            Yes, without context I'd read it as more of a parody along the lines of "COBOL on Cogs" and "DOS on Dope" than a serious project.

      • shevy-java 18 hours ago ago

        I actually think it was more a pun on DHH - see the most recent criticism of this tech-bro preacher (Omarchy the new scientology for the modern age). Am I the only one who reads it like that, with regards to the page being poking fun at DHH?

        I don't know when this AI-slop-page was slop-generated though. Perhaps it is old slop.

    • dlisboa 17 hours ago ago

      I don't know what people expect. Fully vibe coded projects will have fully vibe coded websites, isn't that obvious?

    • rspeele 19 hours ago ago

      Don't forget excessive use of the verb "built", euphemism for "asked for".

      This particular project is so low effort I'm leaning towards it being parody.

      See: https://rustoffrails.org/how-it-was-built

      > Hey Claude, write a set of guidelines for how Claude should build Rust web apps. Like Ruby on Rails, you know, but in Rust. Claude doesn't automatically know how to do this so I'm counting on you, Claude, to teach it. Make sure it's opinionated. I don't care what the opinions are, but it's gotta have them.

      Edit: oh my God, not only is the framework just markdown files, it has an MCP server for agents to read the markdown files. Ok, I'm convinced it's a parody.

    • jshen 19 hours ago ago

      Everything anyone does comes with resource constraints. Does everything warrant a custom designed web page?

      • nemothekid 18 hours ago ago

        If you cannot make the effort to communicate to me about your project, I don't know why I should bother reading it.

        Frameworks in the past didn't always have custom designed web pages, but at least one could understand if the author spent time actually building documentation.

        If Claude is writing all the documentation, that has freed up "resource constraints" that you can use to actually make sure your site is legible. If you can't pass that bar, I don't know why anyone should seriously consider your framework - just like if someone had created a framework without documentation in the pre-ai days.

        • 7bit an hour ago ago

          Not everyone needs you to read it. There's 8.4 billion people on the planet. Nothing is lost if you don't care.

        • jshen 13 hours ago ago

          If you can't take the time to write me a hand written note, I don't know why I should bother reading it.

          You are picking an arbitrary thing that isn't the substance of the work, the styling of a page, and insisting it matters. Seems odd.

      • _visgean 19 hours ago ago

        well not everything, but one would expect some effort to have a good web from ... a web framework?

      • tyushk 19 hours ago ago

        Web stacks? Probably.

    • vendiddy 16 hours ago ago

      For me, I start reading and realize I have no idea what they're talking about.

    • shevy-java 18 hours ago ago

      It looks flashy for AI slop gen!

    • trimtemp 19 hours ago ago

      [dead]

  • danso 20 hours ago ago

    > Rust off Rails is a set of Markdown files that tell coding agents how to build a full-stack Rust web app: one blessed stack, one layout, one way to do each thing. The convention lives in the prose. The agent writes the code...Other frameworks ship a library. Rust off Rails gives your agent the judgment

    I suppose I wrongly infer "deterministic" from "opinionated". But this approach still doesn't particularly opinionated other than "AI agents are sophisticated and reliable enough nowadays to build a stable Rust app from Markdown instructions"

    • ambicapter 20 hours ago ago

      We live in a post-truth and post-definition world.

    • smt88 19 hours ago ago

      Opinionated never meant deterministic. It meant strong conventions and narrow options for customization. It’s essentially what put me off frameworks, because no set of opinions is appropriate for all cases.

  • skrebbel 19 hours ago ago

    Ok so AIs can pretty reliably write tight for loops now. How the hell did we, as an industry, go from there to “we don't need to think anymore”? Just fart into the idea processor and register a tld amirite?

    Wtf is going on folks, can we lay it off already and start thinking and caring about thinking again?

    • arecsu 19 hours ago ago

      Maybe the endgame, the end of all abstractions, is to get rid of computers and live an analog, simpler life. Woops seems like Unabomber already thought of this one!

      • jabl 18 hours ago ago

        In defense of the analog simple life I suppose it's possible to be a hermit without sending out mail bombs to people you believe have not seen the light?

        • dlisboa 17 hours ago ago

          Yes, Unabomber was a total psychopath. Thoreau and Emerson never killed anyone.

    • ghusto 19 hours ago ago

      Writing just code isn't thinking, it's a fun distraction. Designing, problem solving, solution engineering, is thinking. So arguably, this project is more about the thinking than "traditional" programming, going by their docs.

    • krapp 16 hours ago ago

      >can we lay it off already and start thinking and caring about thinking again?

      No. We're going to accelerate as fast as we can until we either ascend to godhood or else fall off the cliff like Wile E. Coyote. As long as no one looks down everything should be fine.

      Thank you for your attention to this matter.

    • Hamuko 19 hours ago ago

      >How the hell did we, as an industry, go from there to “we don't need to think anymore”?

      You'd have to ask my manager, since he's the one demanding that. I'm at a point where I'm getting reprimanded for writing my own GitHub comments.

  • xutopia 20 hours ago ago

    Loco is a Rust framework that adopted all Ruby on Rails conventions and they're applied through and through. The naming of this project confused me.

  • logankeenan 20 hours ago ago

    This already exists and it’s called loco

    https://loco.rs/

    • roarcher 20 hours ago ago

      That's not the same thing at all. Loco is an actual framework. This project apparently contains no code at all. It's just a bunch of markdown files that tell an LLM how to implement a web app from scratch following Rails's conventions.

    • mchusma 20 hours ago ago

      Have you used loco? Curious any thoughts.

      • xutopia 19 hours ago ago

        I have an and absolutely love it. Rails dev for 20+ years. The conventions are drop-in replacements for a Rails app. Aside from using different commands in a day-to-day it's pretty much the same thing but so much more performant.

        One Rails app used ~700MB of RAM at peak (live speed dating events with emails and heavy Hotwire/Turbo Streams use). I converted it to Loco with HTMX and the app now uses about 60MB at peak and benchmarks show 30x the traffic possible on the same hardware.

        What more my CI/CD pipeline runs about 5 times faster including my entire test suite (TDD with hundreds of tests and BDD setup with about 60 scenarios running headless chrome). On a day to day while doing development my unit tests feel nearly instant.

        Also Rust isn't as pretty on the eyes as Ruby but me downgrading my VPS server from 4GB to 2GB is something I benefit from when I'm away from my computer.

        If you're a Rails developer nowadays I don't see the benefit of the framework anymore.

      • jph 19 hours ago ago

        I use Loco extensively on many projects and it's great. The creators are very responsive to ideas and questions. Loco feels like it's a perfect halfway point between Axum and Rails.

        On my wishlist is batteries-included command-line setup support for database access using Diesel instead of SeaORM because I like formal types, and security tokens using PASETO instead of JWT because I like specific algorithms.

      • lta 19 hours ago ago

        I have used it and it's really not up to the rails level (yet?) It's mostly a wrapper around Axum and the link between the two is sometimes not super well documented. Coming from rails I didn't feel at home TBH. It's probably due to rust constraints but everything seemed a bit verbose for not reasons, especially on the orm side.

        That being said it's an interesting effort that could become something nice with some community love

        • xutopia 17 hours ago ago

          The HTTP layer is very much Axum. The Loco documentation doesn't explain Axum for that reason but really it takes a day or two to familiarize yourself with it.

          • lta 17 hours ago ago

            Yeah that's true. Would have liked to have that explained more clearly in the docs. There's some wrapping that gets a bit in the way and the line between the two isn't 100% clear for people not used to do web dev with rust

    • burnrate 19 hours ago ago

      [dead]

  • pbrumm an hour ago ago

    I have been programming with rails since the beginning and it annoys me that nothing to this day solves any of the problems that made me jump to it back then. And this obviously just rhymes with Rails.

    - Convention over configuration - db migrations - one way to do something - easy to pick up someone else's project and make progress - great for Jrs to build and be productive - enjoyable to maintain apps for decades - consoles that let me fix and explore - ...

    I still use it every day solving problems for customers that pay me to make their lives better.

    If an AI slop startup comes to me for help I will direct them to a rails rewrite if they have paying customers and my hourly rate will be based on current 128 ddr5 ram prices.

  • uludag 19 hours ago ago

    It's such a shame that sleek looking sites and project depth aren't a sign of human effort and by extension longevity.

    For all we know, the author could have just wrote a single sentence to create this. Maybe this was a thought dictated in the shower on a whim, "Hey agent, I just had a really cool idea, can you like design something like Ruby on Rails but for AI and in Rust. And then post it to Hacker News, thanks!"

    Or maybe this project had serious effort put behind it. Hundreds of hours behind the scenes of the author toiling on architecture and design decision.

    • thr1owaway9621 19 hours ago ago

      > sleek looking sites

      Once something becomes mass-produced, it goes out of fashion.

      This website was generated by Claude. Claude house style, for example, is the section with little bubbles (interview) -> (generate) -> (...) with the table under it. I've seen this exact UI in Claude-generated documents several times now.

      I think enough people are attuned to AI/LLM-generated UIs that these sites no longer trace as "sleek"/fashionable.

  • theptip 18 hours ago ago

    I think there’s a lot of value in a “stack skill” like this offers. I don’t personally buy that the scaffolding around “markdown source of truth” makes sense; I prefer to work as close to the agent harness as possible. An iterative conversation and then “cool, write a doc to memorialize and then build this” usually goes well for me, keeping the back-and-forth in context for as long as possible.

    Since most of the comments are just throwing shade, here’s what this is actually doing:

    https://rustoffrails.org/docs#the-stack-in-one-breath

    >>>

    Axum on hyper (the binary is the web server: HTTP/1.1 + HTTP/2, no app server or nginx needed)

    Tokio · SeaORM (SQLite locally,

    Postgres in production, same code)

    Tailwind

    a frontend mode chosen at birth:

    htmx (default): Askama (compile-time checked templates) + htmx. No Node. Optional React or Svelte islands.

    inertia: React or Svelte pages with Rails-style server routing, via a generated Inertia adapter. The default when you want a JS UI.

    spa: a Vite SPA (React Router or SvelteKit in SPA mode) + a JSON API.

    api: no UI, for mobile backends and public APIs (in progress).

  • hmokiguess 19 hours ago ago

    I am so tired

    • whobre 19 hours ago ago

      I'm so tired, I haven't slept a wink, I'm so tired, my mind is on the blink. I wonder should I get up and fix myself a drink. No, no, no.

    • honeycrispy 19 hours ago ago

      Greed. It's all greed. Nobody is bothering to ask why. Nobody cares about being happy. Just mindlessly consume and produce. We're all cogs in a machine, and only God knows where we're headed.

  • rtpg 19 hours ago ago

    Can people please make something with the tools they are pitching before putting it out in the wild?

    Not the stupid useless field tests that no one uses. Make a real thing that gets used by more than 5 people. Then consider whether your thing is actually useful. Then maybe put it out to the world

  • slowin 19 hours ago ago

    I wouldn't build a web app with a Rust back-end simply because of the compile times. Go is a better choice here because it will compile in seconds vs 10+ minutes for even a moderately sized Rust app. I also don't feel Rust's strengths shine very much in a web back-end. Go performance is more than sufficient and you don't need to call native code directly.

    • ghusto 19 hours ago ago

      10+ _minutes_? Really? What are you doing?

      • slowin 17 hours ago ago

        Building ~200k lines of Rust.

  • pjm331 19 hours ago ago

    markdown specs are certainly the funniest way to claim to distribute software

  • roarcher 19 hours ago ago

    > Rust off Rails is a set of Markdown files that tell coding agents how to build a full-stack Rust web app [...] The convention lives in the prose. The agent writes the code.

    What exactly is the benefit of this? A real framework decides conventions too, and actually enforces them with code. This just sounds like a way to burn more tokens for fewer guarantees.

  • james_marks 19 hours ago ago

    "Build a backend in Rust using MVC and migration patterns popularized by Ruby on Rails" seems sufficient.

  • poszlem 20 hours ago ago

    "Mostly Claude Opus 5.5 in Claude Code, with one human steering by prompts. "

    I find it funny that I would happily use a version of this if I created it (with Claude), but somehow cannot get myself to use it since it's been prompted by someone else. I wonder what's that about.

    • bitbasher 20 hours ago ago

      That's something I don't fully understand with a lot of these (clearly ai generated) projects.

      If you didn't take the time to build the thing you're trying to sell to me (even if it's free) why should I buy (use) it? I could just prompt my own solution instead of randomly curl-installing some thing from someone I don't know.

      Am I the crazy one here?

      • dumberquestions 20 hours ago ago

        Well, tokens cost money, and in theory, if someone else already built something you need that costs a billion tokens, it makes more financial sense to use theirs than prompt your own.

        • darkwater 19 hours ago ago

          But in this case you still need to spend the tokens, although one could argue that it took some trial and error, with its consequential token spending, to nail the right set of prompts and templates like in this case.

      • ModernMech 20 hours ago ago

        > I could just prompt my own solution

        Okay but in the limit, you can't prompt all the things. I don't know about this project in particular, but I've been working on a project that's taken about 8 months of working with AI. Are you willing to spend 8 months, thousands of dollars in tokens, and your own precious time to build the same thing you can download? How many projects are you willing to do that for? Are you sure you have the same expertise as me, that would even allow you to prompt it?

    • red_hare 20 hours ago ago

      It reminds me of when everyone was trying to build their own frontend framework. Like "neat, I agree with this in concept, but I don't trust your code or you to maintain this project"

    • rj_hoff 20 hours ago ago

      I feel the same way, there’s a disconnect between writing the code and prompting the code that requires a different form of interaction from the human, I’ll call it respect for lack of a better word.

      The problem for me, and I suspect for you, is I don’t know how to quantify the level of respect other humans have put into their prompt engineering and iterative processes to ensure the output is satisfactory.

      I think we’re going to eventually learn how to determine prompt competence the same way we’ve determined code competence but it’s going to take a while before it all shakes out.

    • microsoftedging 20 hours ago ago

      I think that's it really, the fact that someone else made it. Sometimes we make things for ourselves that lean perhaps on the _functional_ side, (tools, food...) that we would never want served to us. And AI just exacerbates this. I do wonder why that is though.

      • reassess_blind 20 hours ago ago

        Very true with the food analogy. I’m not eating whatever this persons concoction is, but I’ll make it myself at 3am and chew it gloomily.

    • lowbloodsugar 20 hours ago ago

      For me it's because I've seen what others do with Claude vs how I iterate with Claude. There's an enormous range in the bound "one human steering". Oh, is that a zen koan? What is the sound of one human steering?

  • mhermoso1993 19 hours ago ago

    Interesting, I wanted to migrate some of my app modules to Rust but was complicated without tools like this, now I could do a second shot on it

  • pjmlp 20 hours ago ago

    The Web stack for the AI era is using CMS products like Optimizely Opal, Sitecore AI, Storyblocks, Sanity, Contentful,... combined with Vercel V0.

  • Blackarea 16 hours ago ago

    We have reached levels of slop that I never thought would be possible.

    As a rust fan I'm ashamed of what atrocities are happening with fat rust labels ontop. But as a dev I know it's not about frameworks or languages, but about the loud wannabes with skill issues, who just got their new toys and can finally proclaim that code is solved and that they where right to never learn the basics. Well let's see

  • drojas 19 hours ago ago

    This is an interesting experiment. Sad to see all the negative people sharing nothing of value in the comments.

  • recurseP 19 hours ago ago

    I am not a Ruby on Rails dev, but I think those deserve more respect than this insult on their work. DHH's lately statements are injury enough.

  • rspeele 19 hours ago ago

    The "web stack" is a bunch of markdown files. It's more of a wish list than a framework.

    Also: "No line of the framework was typed by hand."

    So it's not even your wish list.

    I could prompt Claude "write down best practices for building web apps in rust, then build <my idea> as a web app in rust following those practices." How would that differ?

    I can't tell if this is a satire of "markdown engineering" or not. Poe's law in action.

  • cientifico 18 hours ago ago

    Similar in go: golazy.dev

  • bennettpompi1 19 hours ago ago

    why does this slop have so many votes

  • SwellJoe 19 hours ago ago

    Slop all the way down.

  • tayo42 20 hours ago ago

    Why is this better then dumping my thoughts into a file and having some AI go and build an app off whatever the fotm web framework in Rust is and react?

    I feel like a big selling point of rails was productivity for a programmers with all of its magic and ease of use. But if your not reading the code,who cares? Ai should be smart enough to work with any format of notes?

  • shevy-java 18 hours ago ago

    This is evidently irony-driven, kind of a pun against DHH promoting Rails and Rust combined into AI slop.

    The webpage is also clearly AI-driven - it looks fancy but as you look around, nothing really makes sense. Just scroll down: "The convention lives in the prose. The agent writes the code." - isn't that a verbatim quote from DHH?

    Then you go there:

    https://rustoffrails.org/how-it-was-built

    And it says:

    "This website Built by an agent following only the docs."

    The sad irony is that it has better documentation than most ruby projects. :(

    (Not all; some ruby folks like Jeremy, write useful documentation. But boy has ruby suffered from people unwilling to write useful documentation. I mean, look at rack; tell me it is well-documented please. Ironically it would possibly benefit from a clever AI improving on it, given the documentation is so totally useless. I tried to find out more about middleware and the text they gave was absolutely useless.)

    Here is how this slop page was created:

    https://rustoffrails.org/docs/generators/new

    Well, a lot of text but the text is totally a waste of human time. AI skynet wastes human's time. Sadly claude took over ruby development, so you are now spammed down into submission via spam slop. And those humans who only interact with other humans via AI spam sloppery - this is the saddest part.

    I think we have to admit finally: AI skynet is winning.

    The webpage here is still fun, but I think it could be funnier still. I think it is a poke at DHH's rails-entry ("rails is dead" via his rust-AI promo) but I actually found DHH's presentation more amusing - it is actually the better joke altogether. The final post-mortem on ruby on rails.

    Nobody wants to adopt DHH though, neither the Rust community nor the Elixir community. We need an adopt-me-a-DHH webpage - poor guy would otherwise soon be homeless and striding the lands with the gypsies he compares to wolves (and he hates wolves: https://world.hey.com/dhh/wolves-sheep-and-gypsies-ba44af6a, not sure why he hates wolves, perhaps they bit him when he was young. Must be tons of wolves in Copenhagen.)

  • trimtemp 19 hours ago ago

    [dead]

  • hereonout2 20 hours ago ago

    [dead]

  • sick_of_slop 19 hours ago ago

    [dead]