Building Your Saas App On Top of WordPress?

Yep, I went there. :slight_smile: Let’s hope this doesn’t start a religious war.

So, SmallSpec is at the very-rough-internal-prototype stage. My plan has been to develop the product in ASP.NET MVC (Razor), primarily because that stack is in my own personal wheelhouse enough that I can actually review and vouch for the code, even if I didn’t write it myself (which I haven’t, and probably won’t).

But then I got to thinking - if I’m willing to cut the umbilical enough to not write the code, maybe it would be OK for me to not even understand the code? Maybe it would be OK for me to be purely a businessman on this one, and not be an engineer at all? It’s still early enough that I could scrap the work we’ve done and go a different direction if there were sufficient benefit to doing so.

And that sort of thinking led me to wonder if it was possible/wise/manageable to build my Saas app on top of WordPress?

The pros, as I see them, are that there’s already a sound membership/user/authentication system in place. There’s already a sound system in place for plug-ins and extensions. There’s already a sound system in place for theme-ing (which might come in handy for letting customers theme their spec sites for visiting clients).

But what I don’t know is whether or not all that equates to being a good place to bolt an app onto.

The cons - well, con - is that I have a deeply-held, seething hatred of WordPress. Every. Single. Time. I try to do anything with WP it seems 10x more difficult and 10x less obvious than it needs to be, despite everyone else marveling at how simple and obvious everything is in WP. But hey, if I’m not building it, maybe my personal struggles with WP are moot.

So, questions for discussion:

Have any of you built your Saas app on top of WP?
How did you do it without customizing any WP core code?
What kid of troubles did you encounter?
What were the primary benefits (as you see them)?
Would you do it again?

2 Likes

16 Likes

Sums it up. :smile:

People seem to be successful building themes, plugins, and such. Just not something I would ever have any interest pursuing.

I’ve just seen http://seshn.com/ which is built on WP, seems to do a good job but not sure I’d ever built something other than a little brochure site or a blog on top of it.

I know that Happy Tables has grown a pretty successful Saas Business on top of WoorPress but I would recommend something like Laravel. With the number of packages out there you can have the equivalent functionality of a standard WordPress install and a lot more flexibility pretty fast.

I just can’t imagine building/maintaining anything except a small blog type on Wordpress.

It does what it is supposed to well. Content editors find it easy to use.

I think you would tear through all of the efficiency advantages of the user management quickly, and be left with a bear to build off of. Would you want to work with a heavily customized Wordpress install for the next few years?

I think it would be pretty rough.

Keep in mind that I have been burned out of any relationship with WP after working for a design firm’s designer

WP is a bloated system for building SaaS apps. Not to mention that they are going through a serious refactor in terms of what WP is (framework vs CRM vs Blog vs ???). Sure it is popular, but it has very few benefits.

The company I worked for hacked together a Social Network for a school using WP, but to do it required massive amounts of 3rd abandonware plugins.

This on top of the fact that most updates to WP core have no update path when you hack at it and will likely break the plugin infrastructure you have laid on top of the system.

In terms of speed, WP uses a bloated data store that overly abstracts database infrastructure and you’ll often find yourself running raw PDO or bringing in a different ORM.

So, all this to say: if you are going to build out a new admin panel, a new ORM, forego themes, etc: just build it on an MVC like Laravel, Rails, Express, Meteor, etc. All you get with WP is a bunch of bloat and security bugs that you won’t have a good way to upgrade out of once you start fiddling around.

Wow, seems to be unanimous. I do know of 1 guy who has successfully built a Saas app on top of WP and seems to be happy with it. But perhaps he is uniquely qualified to travel that road. The consensus seems to be that for most of us it isn’t a great idea.

Thanks for the feedback!

I do think you have to be careful in that a forum full of dev’s is always going to tell you to write new code :smile:

That said, it does come with a lot of overhead. You can probably get about the same effect starting with a good framework and using a lot of OS/Commercial plugins/modules to wire it up. Then if you later have to refactor it’ll be much easier than pulling it out of WP.

2 Likes

I’d suggest talking to people who have built on top of WP (Noel Tock, who built Happy Tables, being one), and see what their experience has been. It’s quite possible that it’s a Bad Idea that just happens to work fine. It’s also possible that it’s a Bad Idea, period. I submit that you won’t know until you talk to more people who have been there, done that.

You can search online how “hellobar” launch on top of WordPress as a SAAS service, it really depends individual need.

1 Like

Hey Christopher, I like how you’re thinking, I believe it’s important as an engineer to force yourself to think business focused instead of falling back on developer-line of thinking.

I tried that once with a Q&A / Stack Exchange type site for pilots. I was in the early beta before Area51 and when they changed the model I decided to switch to an open source Q&A site platform.

At the time I was a .NET dev so choosing the Django/Python platform was strategic in a way, I wanted to focus on building the community rather than mucking around in the code. It worked for a while, but I soon I ran into a brick wall because at some point I wanted to push new features out to help grow the site, but I choose a platform I didn’t really want to work with (I’d rather have worked with Ruby I think at the time).

Anyway I how you’re willing to put yourself in a businesses only role, but be careful because as a dev you’re going to want to add functionality so there will be a time were you’ll want to dive into the code and hack out a feature. This is a good thing, after-all it’s your strongest skill.

CMSs are great for rapid prototypes, but you will run into deployment and scaling issues. The way they’re structured a lot of CMSs co-mingle data and structure in a way that makes it difficult to migrate across multiple environments. Build your rapid prototype in a framework you’re strongest in (or a framework you really want to work with) and really force yourself to push out a quick prototype that gives your users the minimal feature set and launch it. Then add features after you launch.

Good luck! I love the idea and it looks you can dogfood your SaaS as you build it.

I’d suggest talking to people who have built on top of WP (Noel Tock,
who built Happy Tables, being one), and see what their experience has
been.

I’ve done a bit of that, but the few folks I’ve talked to have built easy-site-builder type Saas apps on top of WP, which isn’t exactly a stretch for the platform. At that point you’re just using WP as a plug-in delivery system for whatever vertical market you’re targeting.

The more I think about it, the more I think that SmallSpec is a bad fit for WP. Now, if I ever get around to reviving my own vertical-market-easy-site-builder idea, WP might be a choice to think about, but until then…probably not.

Anyway I how you’re willing to put yourself in a businesses only role,
but be careful because as a dev you’re going to want to add
functionality so there will be a time were you’ll want to dive into
the code and hack out a feature. This is a good thing, after-all it’s
your strongest skill.

I’m probably in the minority on this, but I’d be perfectly happy to never write a line of code again, and just design/PM all my projects from here on out. All the joy that coding used to bring me has been gone for quite some time, I’m afraid.

1 Like

Not to sway you too much on this train, but Laravel is a great platform for SaaS apps. I’ve been working to release or help to release some off the shelf solutions that help build the marketing solutions quick and easy.

Right now, I’ve got a full featured SaaS app one production DB, then on my marketing site, I use sqlite DB instances with Laravel FAQ for my FAQ CMS and WardrobeCMS/Core for the news and updates blog.

It’s working really well. Gives a great platform and I love that while it is completely modular, I have a single codebase that is super readable and fast.

Build with what you know.

I’ve built on CakePHP, CodeIgniter, Drupal, Wordpress, Lasso, Coldfusion, and even way back when I was guilty of a few apps for telecom built in Perl. The big distraction is that as developers, we see a shiny new thing and flock to it. If you can learn it soon, great! But, usually the reality is that it seems to me that its more important to build your idea quickly so as to not lose momentum. I speak from experience, having literally lost over $80k last year paying developers to do 2 projects in Code Igniter that could have easily been made in a few weeks on Wordpress or Drupal.

Of course in the end it’s different for everybody, but it seems the focus should be on making the most money possible and spending the least to get there.

@Christopher, if you can build it in Wordpress, then do it. Laugh all the way to the bank later on, because the reality is that users don’t care what you built it with as long as it runs fast and accomplishes what they want.

Best of luck!

3 Likes

I recently had a very similar debate when it came to deciding what to power Harpoonapp.com with. I’m not very familiar with Wordpress, but I am very familiar with ExpressionEngine, and basically you can interchange the two for the purpose of this question. I have built a few membership sites in the past with ExpressionEngine, some with paid membership, a couple of job boards, and for the most part, I did it for the reasons you mention, existing auth system, gui wrapper for the database, existing plugins, etc.

When I sat down to write Harpoon, I initially built the prototype in EE, and was able to do it in about 4 hours. It felt good, but I knew it wasn’t scalable. Assuming the app takes off and needs to scale, the data tables are not optimized (normalized) properly because I am fitting things into the EE ecosystem. There is also a lot more processing needed to parse a given URL, so keeping things light was going to be difficult, especially if I want to make it AJAX-driven with a lot of requests happening in the background.

My biggest reason for not going with straight PHP or a framework? Lack of knowledge. It was comfortable to use EE, I had done it for dozens of sites before, I could build sites with it in my sleep. Laravel and Rails were scary, I was nervous I wouldn’t really know what I was doing, and it would take me years to build it in my free time.

I eventually decided to just dive in come hell or high water, and learn Laravel (BTW, I am a front-end dev for the most part).

I was pleasantly surprised by the documentation, and while I’m still learning a lot, I feel like I’m over that initial hump and it is just a matter of researching, practice, and bug-hunting from here on out.

So, in the end, I’m glad I decided to use a framework over a CMS, even though it is taking longer, I have the confidence that it will scale, I’m learning a new skill, and fighting off Alzheimer’s :slight_smile: And who knows, perhaps four years from now I can say that I build Laravel apps in my sleep (wouldn’t that be nice).

1 Like

This is a great discussion. We recently chose to build our product with ExpressionEngine. We did that for some of the same reasons Ryan mentioned above. The ability for EE to handle some of the things we knew we were going to need pretty easily out of the box as well as the bonus of being familiar with the platform made it a appropriate choice for us.

How this plays out in the long term? Only time will tell. Our product is primarily focussed on community engagement with some additional features for collaboration. So as the product stands right now, ExpressionEngine has worked out great.

I want to also point out that this is our first product, and that too drove some of the decisions to use a platform we were familiar with as we transitioned into building products.

I guess in the end the perspective we took was. “Lets see how things go and get a base prototype up. If we get enough people behind this product that warrants us to look at the technology in more detail, I guess it is a good problem to have.”

I will say that some days I feel like we should have built Frettie with something more like Laravel, but I am more proud of the fact that we shipped something that users are using today and for our first product, that is great motivation to keep moving forward.

2 Likes

BTW, I just wanted to mention that I never considered building on top of Wordpress until WP Engine and Page.ly came along. Both offer super fast load times for their hosted Wordpress sites. (not a sales pitch)

We build everything on WP Engine and there is no way we’d be able to pull off some of the stuff we’re doing without their infrastructure in place.

1 Like

I think that one of the things to mention with a CMS based service is to consider what you are building. Envato builds a news site on a CMS and I find that to be a good fit.

If you are building more of a “application” experience, I usually find frameworks (laravel, code igniter, rails, sinatra, express, Django) to be a better starting point.

1 Like

I just interviewed someone for my podcast today who launched a product built on WP. Granted, the product is a vertical-market site-builder that basically puts WP on rails and strips it down so that even the lowest common denominator user can manage it.

That makes more sense to me than building something that is not-a-site-builder. WP and I have been getting along better lately, but it still scares me a bit.