Is Rails a good platform for a marketing site with a membership area?

I’ve got a client that wants a website with the following features:

  • newsletter signup
  • contact form
  • small store for a few products
  • resources page that is only accessible to subscribers with tier pricing
  • ability for customers to upload files, mainly Word docs or pdfs
  • work with external API’s such as Convertkit

I’ve done a lot of sites with WordPress, but I’m considering Rails too.

Should I just stick with WordPress? Or is this relatively easy to do with Rails?

Hi Rick,

I would go for Rails without much hesitation. These requirements are a great fit for any modern full-stack framework, and Rails is becoming more and more powerful every day. In fact, a new major version, Rails 8, is set to be released by the end of September.

2 Likes

Thank you Luis, this is helpful!

What effort (FTE person days) and time (timeframe over which those days are spent) do you consider “relatively easy”?

How much experience do you have in programming, database design design, etc.?

I have a month to build it out. It’s a relatively small site content wise. Obviously we’re both hoping it’ll grow.

As for my experience, I’m a staff engineer for a global networking company. 20+ years building sites in php & python, mostly on the frontend, but enough backend to get the job done. I wanted to try out Rails after listening to DHH over the past several months.

Interesting in that I am in a relatively similar position in terms of experience/background.

My take, having spent around 200 hours on Ruby and RoR, is that it has a considerable learning curve. That is not bad at all, but it has an impact on my planning (aka “roadmap”).

As to your question: With a deadline of one month I would certainly stay with the toolset I know.

1 Like

If you want to started with Next.js, I might hesitate to say Go with Rails, but if you just want to choose between Rails and WordPress, definitely Go Rails !

1 Like

The described site (store, subscription pricing tiers, file uploads, 3rd party API(s) integration) with an unfamiliar stack in 1 month is not happening. Each of those items hides a devil in its details. Even with a familiar stack it’s unlikely to happen, unless your requirements are 100% clear up front (they almost never are).

If your experience is primarily with WYSIWYG site-building toolsets of Wordpress, this is not how back-end frameworks work. You will have to write a lot of code and figure out a lot of configuration.

There’s a way to do this in a month in a stack that you have zen-like familiarity with, including pre-existing knowledge of payment and subscription APIs, if you cut corners just right (static store, outsourcing all subscription/payment handling to the processor, single server deployment with local drive file uploads, very basic or outsourced user signup/signin, probably disregard tests, which can ironically slow you down as you will keep breaking stuff and retesting by hand, etc), but you basically have to spend the month working in a trance, and end up with an insecure mess of generated scaffold code that you only quarter-understand.

You have to be ruthlessly quick and dirty for it to happen in a month, so I don’t think this is happening.

If the deadline is real, to have any chance at hitting it, throw something together ASAP in whatever you know, then slowly migrate over to Rails once live.

The real advice is: make it 3 months, write it in a stack you know, then if you want to have fun — migrate it to Rails.

If a person comes to me and asks “I need to have this business running in X time, should I try this unfamiliar stack because it sounds really cool and fun?” the answer is absolutely no. If you say “I’m thinking about building a business, there’s no time constraint, but I’d like to enjoy learning while I’m building”, then go for it.

Rails offers more customization and flexibility, which is ideal if you need a highly tailored solution. For a U-shaped coach looking to create a unique digital presence that aligns precisely with their coaching methods and branding, Rails can provide the needed control.