Settings

Theme

Bullet Train – Rails-based SaaS framework

bullettrain.co

418 points by bauerpl 3 years ago · 147 comments

Reader

aculver 3 years ago

Wow, hi everyone! Was just about to walk over for the first day of RailsConf when a friend let me know we were #1 here! Honored!

I'm the original creator of Bullet Train, although a number of people now work on it. It's been a fun journey to this point!

When I first started building Bullet Train, it was a relatively unique offering. There weren't that many full-featured "SaaS starter kits" out there, although there was some prior art. The biggest inspiration for Bullet Train was what Laravel Spark was at the time. In fact, one of the guys who had got me into Rails in the first place had started building his next product on Laravel so they could take advantage of Spark!

These days there are an abundance of SaaS starter kits available in most ecosystems. I've had the pleasure of meeting and interacting with the authors of a bunch of high-quality starter kits built in different languages and frameworks and some of them have told me they were inspired in part by Bullet Train. I love that.

If you're interested in Rails and SaaS, we're running a conference in Athens, Greece on June 1–2 this year and we'd love to have you! https://railssaas.com

Happy to answer any questions anyone may have!

  • creativedg 3 years ago

    It's so amazing to see how the tech community inspires and learns from one another. Laravel found inspiration from Rails. Then, seeing Bullet Train was inspired back from the Laravel ecosystem with Laravel Spark.

    In the past, I was jealous of the Ruby ecosystem with an extremely large community (the grass is always greener on the other side?). And, thinking the JavaScript ecosystem was left behind, but now I am hopeful that the JavaScript ecosystem has finally caught up.

    I can totally confirm Bullet Train is an inspiration for many SaaS Boilerplates. I was personally inspired by Bullet Train to build Nextless.js [1], a Next.js based SaaS Boilerplate, bringing SaaS starter kits in Next.js/React/JavaScript ecosystem.

    --- [1]: https://nextlessjs.com

  • michaelbuckbee 3 years ago

    I was privileged enough to attend Andrew's LA RailsSaas conference and it was outstanding.

    If you're in the EU running a SaaS or developing with Rails you should at the very least check out his upcoming one in Greece.

  • pc86 3 years ago

    I don't want to derail but have to ask, is the theme/template for your site custom? It's beautiful.

    Edit: To clarify I mean the marketing site linked here, not the starter template.

    • aculver 3 years ago

      Thank you! This was the work of Tamik Soziev, who also created the original theme for Bullet Train itself. I'll make sure to pass on the note!

    • plugin-baby 3 years ago

      > I don't want to derail

      Too late - that train’s already left the station.

    • yranadive 3 years ago

      yea @aculver, its really beautiful!

  • oriettaxx 3 years ago

    Hi we are exploring BT today

    I'm trying to move a company that is now selling simple wordpress websites (and doing actually pretty well, do to their super expertise with design/graphic and marketing) to a 'higher' step with RoR, and BT seems something that may help them a lot approaching Rails.

    Can anybody suggests resources, links, advice on how to start this new adventure?

  • rmason 3 years ago

    ColdBox is a seventeen year old open source ColdFusion framework originally inspired by Laravel. The parent company is Ortus and they have offices in North America, Central America and Europe.

    https://www.coldbox.org/

  • brightball 3 years ago

    The "Join the Mailing List" link on the home page is dead now btw.

rosszurowski 3 years ago

I haven't used Bullet Train, but I've found their "Teams should be an MVP feature" blog post [1] a really great overview of how to model team structures in relational databases before. Worth a read!

[1]: https://blog.bullettrain.co/teams-should-be-an-mvp-feature/

  • clairity 3 years ago

    nice! that's something i stumbled over when re-architecting a 2-sided marketplace (in rails) for one of my startups. the data model they describe is roughly what i ended up with, but it took some iterating to get there. the key understanding was that the relation table in a many-to-many relationship is not just a technical detail but encodes important information about real world systems, especially the human kind. as engineers, we get often get stuck on the entities being the important bits, but more often, the relations are where all the action is.

  • pibefision 3 years ago

    I'am using another framework, but this post about Teams was pure light to me. Tks

  • pythonaut_16 3 years ago

    Do you have any recommendations for more resources like this?

    I've had a hard time searching for patterns and tips for modeling common data/features for web applications.

kareemm 3 years ago

I evaluated Bullet Train last year when building an MVP for a client. Ended up using Jump Start Rails instead. Main reasons:

1. The hybrid approach to iOS and Android apps with JSR were better than what BT had to offer

2. There was a lot less to learn about the mental model of how JSR was built via Bullet Train. It was basically pay, pull down, configure, and get going with JSR. BT has things like SuperScaffolding, an abstraction layer on CanCanCan, etc. I didn't want to have to ramp up on those to decide whether they were better than the alternatives.

YMMV of course. JSR is a paid app and IIRC BT was at the time too... but looks like maybe not anymore?

  • andrei_says_ 3 years ago

    Did you end up using tailwind with jump start rails? Any way around it?

    I like the idea of jump start rails but would like to stay away from tailwindcss.

    • thih9 3 years ago

      Why?

      Note, Bullet Train also uses tailwind.

      • aculver 3 years ago

        Yes, this is true that we lean heavily into Tailwind CSS by default. However, when I implemented our "new" component system in 2021, I designed it so that there was a path forward for Bullet Train on vanilla CSS or Bootstrap if anyone wanted to implement it. I don't have any plans to do it myself, but people (including Tamik, the original theme author for Bullet Train) have expressed an interest. I'd love to see it happen. You can get a sense for how this would be possible from our theme docs at https://bullettrain.co/docs/themes.

    • minton 3 years ago

      I’ve only heard good things about tailwind. Did you have a bad experience with it?

      • nawgz 3 years ago

        That's the nature of how these things go. People that like Tailwind praise it. People that think it's fundamentally bad design avoid it and don't say too much, or are drowned out by the people praising it.

        People who just write SCSS don't even think about it.

        • cutler 3 years ago

          Tailwind is an abomination. There, I've said it.

        • tough 3 years ago

          Companies like tailwind

          Engineers learn to work with it due to that simple fact.

          It's OK tbh, and it's easily interoperable between stacks so not really hard to pick up and useful if your project already uses it.

          I tried to fight it at first, but I've only seen it being used more and more. Why fight the stream if there's no good reason for it?

          • lowercased 3 years ago

            > Why fight the stream if there's no good reason for it?

            Why jump tool chains when you already have more than enough on your plate to keep up with?

            I watched a conference presentation last week from a front-end person who talked about FE design. He pulled up a slide on bootstrap and said "if you use bootstrap, everything will end up looking like twitter. your login page won't be able to be creative, you'll just look like every other login page".

            I had to push back at the end of the presentation with some BS support. I don't use it much any more, but the obvious misinformation about bootstrap continues in 2023, and it's bothersome. FWIW, the presenter said "oh yeah, you're right, and it can be used well, but some people just use the defaults".

            Separately, my experiences with tailwind have been less than exciting. Perhaps if I spent the $300+ on 'premium tailwind components' I'd be more on board?

            > easily interoperable between stacks so not really hard to pick up and useful if your project already uses it.

            And if I don't use it? I get a fair amount of pushback from colleagues sometimes for not jumping on the 'newest' things. Spoiler: I don't deploy many projects with docker either. Is that 'fighting' it? Or just using other established/tested/documented tools and proceses to get a job done?

        • andrei_says_ 3 years ago

          I am the people who just write scss.

          For an app I may use bootstrap as it is a framework with bigger blocks.

        • schappim 3 years ago

          >> "fundamentally bad design"

          They literally wrote the book on good design[1]

          [1] https://www.refactoringui.com/

          • nawgz 3 years ago

            No, that's not true; a 2023 book giving advice like "don't use borders" is definitely not in any way a seminal source of "good design".

            Besides, I'm not saying I think it's a fundamentally bad design, I'm saying those voices are drowned out by the people on-board with it - for a great example, consider how you just came into the conversation, squished the nuance I was discussing, and gave hyperbolic praise to their book just because you like their tool.

            • andrei_says_ 3 years ago

              Exactly.

              Millions of engineers are now more empowered to make design decisions - and given more convenient tools. The price - ignoring how CSS was designed to work, unreadable mess of classes in the markup, a bootstrap-like cookie cut approach to everything, and yes, the color purple.

          • andrei_says_ 3 years ago

            The book included some useful rules for people new to interaction design.

            These can be applied without the use of tailwindcss.

            Use of the framework tailwindcss has nothing to do with the book.

            The framework itself goes against the intended use of css. It ignores the power of the cascade and leads to a pile of incomprehensible css repeated over and over again.

            It is convenient and unreadable at the same time.

            Handy if you don’t want to learn css and use it properly and completely unacceptable if you do.

          • andrei_says_ 3 years ago

            The book included some useful rules for people new to interaction design.

            These can be applied without the use of tailwindcss.

            Use of the framework tailwindcss has nothing to do with the book.

            The framework itself goes against the intended use of css. It ignores the power of the cascade and leads to a pile of incomprehensible

    • jonwinstanley 3 years ago

      Have you tried it on a real project? Tailwind is a huge time saver when compared to traditional CSS or SASS.

      • satvikpendem 3 years ago

        I have. It's essentially a write-only DSL for CSS that, were you to group it via @apply or similar, you have reinvented CSS classes. In fact I had a huge thread discussion on HN about this:

        https://news.ycombinator.com/item?id=34922232

      • nawgz 3 years ago

        What I really think you're saying is that Tailwind is a huge time saver when it comes to design, and compared to your past experiences translating designs to CSS it felt like a net win.

        A lot of people disagree with Tailwind's design philosophy on both the developer and consumer side of the code (i.e. DX and UI), so it's questionable what "real project" and "time saver" really mean; ironically, I question that your definition of "real project" even included a team with design chops.

        • danjac 3 years ago

          I like Tailwind, but I like it precisely as a non-frontend person working on side projects: it lets me iterate quickly without a deep knowledge of CSS (while at the same time providing an introduction to modern CSS).

          I can see how that would also be a benefit to a "SAAS starter pack" where you have a small team wearing many hats, probably people with a familiarity with CSS but not experts. The code base in these early stage startups and side projects is going to be small and you want to move quickly. Tailwind is great at that.

          However if you have a frontend team of CSS experts to draw upon, the benefits of Tailwind are fewer and the downsides are greater - your CSS people will not enjoy having your classes named things like "px-2 py-1 rounded border bg-blue-800 text-white font-bold hover:bg-blue-500" rather than just "btn btn-primary". They can iterate fast anyway and they will probably leave more maintainable HTML and CSS/SCSS in the long run.

          However I'd still be interested if any large teams (with correspondingly large code bases) have made Tailwind work for them.

        • thih9 3 years ago

          > ironically, I question that your definition of "real project" even included a team with design chops

          “No, you have never worked on a real project!” :)

          Both can be real projects, without quotation marks. I’m constantly surprised that there are so many different ways and processes to build a website; and people who think theirs is the best.

          • nawgz 3 years ago

            Indeed, personally I would never open a conversation with that, but I believe this is someone gussying up their personal hobby project where they learned how to use a CSS framework into a "real project" while they denigrate someone else.

            If we're going to discard some projects as real, a pretty easy filter is "were multiple people required to build it". People who need Tailwind to provide their design system like Tailwind, but they are usually working on very small-scale projects they're unlikely to maintain and upgrade like a project with real users, real design, and multiple engineers would. And a pretty easy proxy for the latter type of shop is "do you have people who aren't even front-end engineers doing your design", and that commenter was displaying all those signals to me.

            • akio 3 years ago

              > I question that your definition of "real project" even included a team with design chops.

              Do you believe that

              The New York Times (2023): https://tailwindcss.com/showcase/nytimes

              Shopify (2023): https://tailwindcss.com/showcase/shopify

              OpenAI (2023): https://tailwindcss.com/showcase/openai

              GitHub (2022): https://tailwindcss.com/showcase/github

              The Verge (2022): https://tailwindcss.com/showcase/the-verge

              Google (2022): https://tailwindcss.com/showcase/google-io-2022

              Microsoft (2022): https://tailwindcss.com/showcase/dotnet

              Netflix (2022): https://tailwindcss.com/showcase/netflix

              Mashable (2022): https://tailwindcss.com/showcase/mashable

              don't have teams with "design chops"?

              ----

              Anecdotally, I can tell you that Tailwind is heavily favored by shiny designery startups. Many of the best designed websites these days are built with Tailwind, and design-oriented engineers are reaching for it first.

              Back in 2018 I was arguing against utility classes and vetoing their use in projects I was involved with in favor of thoughtfully architected SCSS. By now in 2023 it's clear Tailwind has earned its place in high-end UI development.

              • nawgz 3 years ago

                Nice list. Did you actually look at those sites?

                Your first example implies "The New York Times" uses Tailwind. Besides that being hilarious, you click the link and immediately see there is a big subheading "Events"

                I have never heard of NYT "Events", so I checked out their page:

                https://www.nytimes.com/events

                > Do you believe that [The New York Times Events doesn't] have teams with "design chops"?

                Yes, yes I do.

                Not really going to bother with the rest, you're joking if you think these top corps meaningfully rely on this 2-year-old CSS framework. I exactly believe that you're linking me to things thrown together quickly by a resource-strapped team, the "Events" example merely affirmed it

                Edit: I sort of bothered

                * GitHub Next - splash page

                * Shopify - marketing page

                * Google IO - marketing page

                * Microsoft .NET - marketing page

                * Netflix Global Top 10 - marketing page

                * New York Times Events - extremely basic

                * OpenAI - Attention grabber, but... the homepage didn't even use full width of nor center content in my 1440p display. Not exactly a UI-driven success

                * Mashable, The Verge - Pretty bad websites.

                This is my point. People use Tailwind to slap together something good looking and simple. They don't use it to build applications because you make your own design system for applications.

                • akio 3 years ago

                  > They don't use it to build applications because you make your own design system for applications.

                  Some examples of SaaS companies that use Tailwind on the application side are PlanetScale, Fly.io, Lemon Squeezy, and Supabase.

                  • nawgz 3 years ago

                    I agree. The main uses of Tailwind are people making template-based pages, or putting up informational offerings in front of service-oriented businesses which give people APIs to build their own apps on.

          • DANmode 3 years ago

            Many believe there is a direct choice between best tool for a type of job, and a best tool for a type of person.

            The right path is having tools the team is currently, or will be productive with, and isn't the markedly wrong tool for a type of job.

        • jonwinstanley 3 years ago

          By real project I just meant something more substantial than a tiny hobby project. Maybe something that takes a few months or more.

      • cutler 3 years ago

        How on earth can styling every **damn hyperlink inline over and over again be a time saver?

        • jonwinstanley 3 years ago

          I don’t think anyone is typing out every link at this point.

          Html is split into components or views or partials. Links are inside loops etc.

          You save time every time you don’t have to think about coming up with a new class name or how it might affect the hierarchy.

          I totally understand it feels weird to begin with but on a major project you never worry that your css tweaks might affect some other obscure part of the site.

        • dewey 3 years ago

          You don’t have to if you define it globally.

          • cutler 3 years ago

            Then you're just reimplementing CSS classes in Tailwind.

            • andrei_says_ 3 years ago

              and so most people using tailwind don’t do that and redefine everything every time. Ignoring or ignorant of the elegance and power of css.

  • schappim 3 years ago

    At the time, JSP was more cost-effective than Bullet Train, and the early adoption of Tailwind was also significant.

skinkestek 3 years ago

This might be a good place for a Java programmer to say thank you to the Rails community for your relentless mocking of Spring and Enterprise Java back in the days.

Java is wonderful these days, and seriously I think you guys are a one of the major reasons why Java is so great today.

  • wg0 3 years ago

    I recall when I started even with Rails pre Rails 2.0, the Spring framework was a horror show. Good luck with XML plumbing and then annotations wiring and then dependency injection container and AbstractBusinessProxyFascadSingletonFactory whereas in contrast, Rails seems light years ahead from controllers to templating to ORM.

  • ecshafer 3 years ago

    Spring is still awful. Play, Javalin, and other frameworks are leagues better. Even Spring boot isn't a great framework which has way too much annotation soup. Worst thing with Spring/Spring Boot is that the framework and ecosystem breaks extremely often with updates.

    • cutler 3 years ago

      Agreed. Spring hasn't changed that much. It's still an annotation-fest at core and the method names don't appear to be getting any shorter.

    • skinkestek 3 years ago

      I use Quarkus these days which means the IDE support and ecosystem of Java, the very simple annotation rules from JavaEE, and reload times like PHP.

  • davedx 3 years ago

    Yeah Ruby on Rails and its associated projects have had such a giant, positive impact on development at large.

  • brightball 3 years ago

    And honestly, with jRuby there’s no reason you can’t just jump in this pool.

    • skinkestek 3 years ago

      I like the Java and Kotlin languages and that I can get world class IDE support for them.

  • cutler 3 years ago

    If Java is so great why do I still have to escape regex metacharacters even after the introduction of raw strings? It's insane to have to do this in 2023.

  • obiefernandez 3 years ago

    You’re welcome. Hehehe

wg0 3 years ago

If you are doing an MVP prototype or the code would be the client's problem once you're done with your consulting, such bulk boilerplate is fine.

I have extensively worked with Python and Ruby in past but my conclusion is that even though they ramp you up in the beginning but as the code base grows, it becomes harder to guess deeper in the codebase to guess what objects you're dealing with. Specifically in case or Ruby/Rails, the IDE's are of not much help as they're guessing/brute forcing the possible suggestions too.

The type hinting in Python is totally optional and I know you can have stricter linting rules and what not but I'd prefer a a little more statistically typed language for which I think go has the minimalism, won't let you over engineer. Other interesting promising candidates are Nim/Crystal.

So I can start my SaaS on such a Rails boilerplate but it'll be more of a liability of keeping up with the upstream codebase and my own but maybe that's my lack of confidence.

  • matt_s 3 years ago

    > to guess what objects you're dealing with

    I don't understand, why are you guessing? Do you mean the parent objects of things you've written? Like ActiveRecord, etc. I would think that mental overhead is the same in any web+CRUD+ORM type of framework.

    • hu3 3 years ago

      I guess what your parent poster is saying is that:

      without types, all you have is the variable name to guess what it does.

      IDEs help but there's only so much they can do.

      • wg0 3 years ago

        Yes that's what I meant. All you have is a variable and IDEs can't figure it all if there's no type on it.

        Not just that, let's say even if type is known but some of the methods are generated on runtime than IDE has no idea about it.

        • matt_s 3 years ago

          That’s not unique to Ruby though, I imagine most dynamic languages fall into this bucket.

Mystery-Machine 3 years ago

I love seeing Bullet Train progress. I've never used it, but I'm super eager to use it if I ever get the chance.

There's one more framework being built on top of Rails and I think worth mentioning - RailsUI: https://railsui.com/

ElfinTrousers 3 years ago

Kind of funny that "starting you off with all the features that are the same in every product" is a good description of the original motivation for Rails itself. Which is not criticism, the goalposts have moved quite a bit the past few decades.

  • danpalmer 3 years ago

    I see your point but I think this is at a level of abstraction that Rails never set out to solve.

    Rails is arguably “technology batteries included”, whereas this is more like “product batteries included”. There are many Rails sites that wouldn’t use these features, however there aren’t many Rails sites that wouldn’t use ActiveRecord or HTML rendering.

    • KronisLV 3 years ago

      > Rails is arguably “technology batteries included”, whereas this is more like “product batteries included”.

      This seems like a great way to put it! At the lower level of abstraction, there's all of the technical stuff, but at the higher level of abstraction, you think more about the product and the business domain concepts.

  • noodle 3 years ago

    I don't think so. This boils down to a set of already installed, pre-configured gems in a starter project. That's always how Rails has worked. When I was consulting, I had exactly this for myself before Bullet Train ever existed - a pre-configured rails repo that I just forked when I started something new.

    The thing w/ Bullet Train is that so much work is done for you, that if you don't like an opinion or two that they hold, you really should start from scratch, as tearing things out will just take longer. Its the downside of having so much integration and configuration already done.

    • nickelcitymario 3 years ago

      >The thing w/ Bullet Train is that so much work is done for you, that if you don't like an opinion or two that they hold, you really should start from scratch, as tearing things out will just take longer.

      Not disagreeing, but wouldn't this be true of Rails itself? It's an opinionated framework. If you like those opinions, it's a great framework to use. If you don't agree with those opinions, you're probably better off using something else.

      • noodle 3 years ago

        Yeah, of course. But there's a difference in things like, "I don't want Tailwind, I want Bootstrap" or React vs Vue; instead of things like I don't like Ruby or I don't like convention over configuration. The former set of things ARE decisions you can make within the framework, while the latter are things you can't. You can have this exact same conversation about most frameworks, it doesn't have to be just about Rails. I also had a Symphony repo set up in a similar way when doing consulting many years ago.

        Having said that, some of Rails opinions are becoming more optional lately.

colorado-codes 3 years ago

Bullet Train is so great. Even for non-saas apps, the sensible defaults make things so much easier. Things like adding new webhook handlers, api routes, complex models and views are only a command away. It's like rails for rails.

zaguios 3 years ago

This doesn't really have the types of features I would personally want as someone who has done a lot of rails development in the past.

The types of things I tend to need to set up in any modern app is SSO integration, React integrated on the frontend, etc... These are annoying things I have to integrate every time I build something and are more or less industry standard at this point.

  • runako 3 years ago

    > SSO integration

    Devise (which BT uses for authentication) handles SSO quite effectively, with tons of provider support.

    • zaguios 3 years ago

      Devise does integrate with SSO, but you still have to set everything up yourself for all the main providers which takes a good bit of time with a lot of custom frontend work needed and a bit of extra backend as well. It would be nice to have SSO out of the box without the need for a bunch of manual setup which was kind of the promise of this bullet train thing.

    • itake 3 years ago

      But devise is only single tenant and doesn’t offer a web admin view for managing the integration?

      • Colex 3 years ago

        Devise does not impose anything on the number of tenants. I run a Rails app with multi-tenancy and SSO support with Devise. As someone has mentioned, although it does a lot of the work and it keeps well organized, you still need to do the UI for configuring and some backend logic.

        • itake 3 years ago

          Devise doesn't support SSO, but it supports omniauth, which supports SSO, right?

          You certainly can write and maintain code to add multi-tenant sso, but since omniauth does not support any configuration storage, you have to add that yourself.

  • pelasaco 3 years ago

    > This doesn't really have the types of features I would personally want as someone who has done a lot of rails development in the past.

    This is relative.

    > React integrated on the frontend

    This is something that I don't want at all. Regarding the SSO, without reading the code, I'm sure you are able to accomplish it using devise (included in their framework)

devmandan 3 years ago

Building from scratch wastes a ton of time and I'm a big fan of starting with some working parts and customizing from there. I think with what's going on with AI it makes sense to use python more because all the researchers love python and make examples available through python notebooks. Then your tech stack is less split amongst many languages and there is less complexity and you can hire developers for cheaper. Ruby devs are fairly pricey because they all working in silicon valley-esque well-funded startups. There is a Django boilerplate provider that's really good https://www.saaspegasus.com/. The guy behind it, Corey, is very responsive. All in all, it's probably not the worst thing to use Ruby, as long as you use less weakly-typed javascript :P

  • steve_gh 3 years ago

    I work in a Python shop (heavy data analytics). My experience is that the Python web frameworks (Django, Flask) are so much more cumbersome than Rails. There are arguments both for and against streamlining your tech stack. For me, the additional overhead of maintaining multiple stacks is worth it given the effort that goes into web app development

  • sourcelabs 3 years ago

    This is what I've been wondering as well -- For a brand new project, why would anyone even consider using Rails if there's just a slight chance of adding ML/AI capability in the future?

Novex 3 years ago

Anyone know of anything like this but for javascript frameworks?

fchief 3 years ago

We were very happy using Jumpstart Pro and were able to stay connected to changes as it evolved.

tikkun 3 years ago

It'd be nice if there was a way to try the demo without signing in.

That said, this looks like a good product.

Are there other similar/competing things for Rails, and are there other competing SaaS-in-a-box things for other frameworks?

Alifatisk 3 years ago

Here's a chart framework for Bullet Train https://supercharts.dev

brightball 3 years ago

Is this using Hotwire?

1differential 3 years ago

So this seems like the Rails equivilant of JHipster - which is great because that's saved me weeks of development times 4-5 years ago.

mr_o47 3 years ago

Are there any examples of what has been built using this framework

I would love to see them

mike_hock 3 years ago

We all know what happened to the train at the end of that movie.

iamgopal 3 years ago

Equivalent to this in Django ? With team support etc ?

Alifatisk 3 years ago

Is this the competitor to https://avohq.io?

  • aculver 3 years ago

    Not at all! You can use Bullet Train and Avo together or you can use them independently. Avo is the recommended admin library to use with Bullet Train.

jacktheturtle 3 years ago

How does the team behind this make money?

yankoff 3 years ago

Is Ruby on Rails still widely used?

block_dagger 3 years ago

Devise? No thanks. If auth were handled by Sorcery I’d be much more interested.

bradhe 3 years ago

Cool idea. The website is...man...a lot.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection