Sometimes you need a web app and don’t have the time, skill, or budget to do custom development. Developing from scratch can be the solution for many problems, but it can take much longer than starting from an existing code base.
WordPress was originally designed as a blogging platform, and it continues to be well known for that. However, it has evolved into a fully fledged content management system (CMS) and, for some purposes, can even produce a solid web application – quickly, and at a significantly lower budget than custom development.
This article will introduce the idea of building a web app on WordPress, show you why you might consider it, examine some tools for building web apps in WordPress, then look at some great examples of what is possible.
Why Use WordPress for Web Apps?
Web apps can be custom coded from scratch, and many developers remain purists who feel that’s the only way to go. However, web application frameworks have been developed to help make the process of building web apps easier.
Ideally, building a web app would be quick to start, so you could get going and take advantage of some common built-in functionality. Wikipedia defines a Web Application Framework as:
…a software framework that is designed to support the development of web applications including web services, web resources and web APIs. Web frameworks aim to alleviate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks and session management, and they often promote code reuse.
With that in mind, it’s not hard to see how some people started to look at WordPress as a possible web application framework to help them build web apps. Though not specifically designed for that, WordPress has several features that make it a solid choice for your web apps, for example:
- Security, user registration and login:Â WordPress has user roles, which by default belong to one of five access levels, and can be assigned to different capabilities (e.g. edit posts).
- Database and URL mapping: WordPress enables you to easily connect to its database and run queries. You can modify how URLs are generated using pretty permalinks and add or modify the rewrite rules.
- Theming: WordPress themes offer a very flexible means of designing pages for your app.
WordPress isn’t always going to be the best tool for all types of web apps. It can work well for simple CRUD (Create, Read, Update, Delete) apps, and more complex functionality like calendar bookings, for example, can be done by integrating existing plugins. In general, projects related to publishing some form of content online may be possible candidates for using WordPress, especially where you want to use the same content across multiple products (e.g. website, mobile app etc.).
Tools for Building Web Apps in WordPress
While WordPress does offer built-in features we can use for web apps, you may require additional functionality. The built-in page and post structures can be used for a lot of things, but if you need custom data and fields to be added, searched or queried, manipulated, and displayed, some additional work is needed. Fortunately, tools do exist to help expand on WordPress’ native capabilities.
WordPress does have custom data capabilities in the form of custom fields, post types and taxonomies, but tools for working with them have been left up to plugins. Here are a few that have proven quite useful in moving WordPress away from simple blogging:
1. Advanced Custom Fields
Available for free in the WordPress repository, Advanced Custom Fields (ACF) has been a long-standing favorite of developers for adding custom data functionality to WordPress. It provides a way to visually create custom data fields of various types (e.g. checkboxes, images, relationships) and easily load data through a simple API. It uses the built-in custom post types and metadata and so is easy to use and fast. For more content types and the ability to add options pages, you’ll need to purchase a licence for ACF Pro (which starts at $25).
2. Formidable Forms
Formidable Forms makes it easy to create forms and display user-submitted data on your WordPress website using Formidable Views. At the most basic level, every WordPress website works the same way. Data comes in, either via the WordPress dashboard or the front end, and that data is displayed somewhere to create a functional website. Formidable Forms empowers you to control that process, collecting the data you want via custom forms, and displaying that data in any number of ways to build any number of things!
3. Piklist
Billed as a rapid development framework for WordPress, Piklist enables you to easily create custom post types and taxonomies, add metaboxes and metafields to all the WordPress data types (posts, pages, media etc.), and create settings pages and widgets. The Piklist Framework can be downloaded for free from the WordPress repository.
4. Gravity Forms
Gravity Forms is an advanced form builder, and includes a lot of functionality that can help with web apps. You can create forms to do CRUD operations on posts, pages and custom post types, as well as take advantage of functionality like commerce, scheduling and logic. Gravity Forms starts at $59 for a personal licence which doesn’t include any of the add-ons.
5. Toolset
Toolset enables you to add custom types and fields to the WordPress admin and create ‘parent/child’ relationships between different types, to build relational-type databases. You can create custom page templates and archives for displaying searchable custom data. It also includes built-in functionality for creating front end forms for submitting content and editing. The Types plugin is free, but access to more advanced functionality requires purchasing the full Toolset (starts at $149).
6. WordPress REST API
No discussion about using WordPress for web apps would be complete without considering the REST API, especially with a non-WordPress front end. Finally moving from the outskirts as a plugin into WordPress core, the REST API is changing the way apps interact with the WordPress back end, as shown in the recently released Calypso desktop app. We will be seeing more development in this area going forward as the code matures.
8 Awesome Web Apps Built on WordPress
Now that you have a broad understanding of how WordPress can be used as a web app framework and have familiarised yourself with a few of the plugins that can make life a lot easier in the process, let’s explore six awesome web apps built on WordPress that showcase just how capable the world’s favorite CMS is!
1. Train.rs
Train.rs provides online business management for personal trainers. It uses WordPress as a foundation to give users hosted websites with customized administration of clients, training schedules, and billing. With the focus on users and custom data, WordPress makes easy work of this app.
2. YouTooCanRun
YouTooCanRun is a custom WordPress solution for managing the organization of marathon races, including paid registration of participants, generation of bib numbers and management of the event. It uses a combination of the Event Espresso and WooCommerce plugins to provide the needed functionality. As most of the functionality required was standard event and commerce behaviour, a WordPress solution combining plugins was perfect.
3. Pressbooks
Pressbooks is online book production software. They have both a hosted version and a WordPress plugin. You can create your book online and then export to various file formats for book publishing. The tool is built in WordPress using customized admin screens for managing book information, for example. Pressbooks focuses on content, so WordPress is a great tool for this.
4. Focused on Fit
Focused on Fit is an online fitness community built on WordPress. Interesting features include a database of food and recipes with nutritional facts, and the ability to log your meals and exercise and track your progress towards your goals. It goes further and uses the REST API to pull that data into mobile apps for use on the go. The social aspect and user management makes this a good use case for WordPress.
5. StudyChurch
StudyChurch is a web app designed to help small church groups work through study materials together. It pieces together several WordPress plugins, such as BuddyPress, and a forum to enable users to write lessons that are available to group members who can then discuss and collaborate on the answers. With the focus on users management and content, this is a great use case for WordPress.
6. Nomadbase
Nomadbase is a real time map for digital nomads. Using location data from your social media apps (Facebook, Swarm, Twitter or Instagram), users’ past, present and future positions are shown on a city-level to other nomads to encourage connections and interactions. It is built using the REST API with a React and Leaf front end. This is an interesting use case for WordPress, focused on user data.
7. Code Cavalry
Code Cavalry enables coding novices and web designers to connect with experts over Google Hangouts to solve problems. Though based in WordPress, the app interacts with Firebase through AngularJS. The developer outlines the approach taken in The Road to Code Cavalry. The focus of this app is the users and so using WordPress gave a good head start in development.
8. Hello Bar
Hello Bar is a ‘Software as a Service’ (SaaS) platform designed to help users monetize their websites by building an email list. It provides you with ways to promote content, get more subscribers and measure and test the effectiveness of your campaigns. For more detailed information on how the team approached the development of Hello Bar you can check out the series of articles they wrote. They took advantage of WordPress’ built-in user management with custom themes and plugins to provide an experience that looks nothing like WordPress.
Conclusion
While WordPress is not perfect or suited for all web application needs, it can be a very useful tool for certain types of web apps. Stop thinking of it just as a blogging platform and you can start to see the possibilities for using its existing structure to help bring a web app to life quickly and under budget.
We have provided you with several examples of web apps built on WordPress which should have provided some inspiration and food for thought as to how you can use WordPress for more than just basic websites.
Have you built a web app using WordPress? Please share your favourite tools and tips that we may have missed in the comments section below!
Article thumbnail image by ideyweb / shutterstock.com
Gravity Forms is $59 not $39.
Thank you! Pricing is updated 🙂
Tom, I have a request for a blog review. 301 redirect plugins for wordpress.
I would love a plugin that helps with the 301 redirect and makes it easy without causing errors on my site or breaking it. The reviews I am seeing, even for the 5 stars have issues with loosing pages and content completely.
Is this something you might want to do?
Hi, Geneva. Good news, we actually already have one of those posts on our blog–written by Tom! http://www.elegantthemes.com/blog/resources/turn-around-the-7-best-redirect-plugins-for-wordpress
Any suggestions for a starter theme for creating a SaaS app using WP?
Another excellent plugin to help with building web apps is Formidable Pro. I’m using it on a couple of web-app-like projects right now, and the views and user-managed forms and updating is really powerful and right out of the box… and that’s stuff that Gravity Forms can’t do without some customization or additional plugins.
Hello,
you clearly explained the idea of building a web app on WordPress.
Very Informative.
Thanks for the Post.
I love Formidable Forms over Gravity Forms, myself.
Wow, I never imagined hellobar website to be built using WordPress. Happy to know my favorite platform is capable of doing a lot more .
I think that Appresser is also a new way to use WordPress to make iOS/Android mobile apps simply and quickly.
thanks for this wonderful share. been always following your blog. Well done.
The shape of things to come. Thing are in a constant shift at the moment as we all search for the next best thing. The funny thing is no one knows what that may be until we develop it or find it. Exciting times!
OptinMonster is notably missing from the list, though they are one of the biggest SaaS applications built on top of WordPress. I understand that they compete directly with Bloom, and that there may be business reasons for the omission, but it’s really hard to have a conversation about WordPress SaaS without talking about them.
Hey Zach, thanks for mentioning OptinMonster as a great example of a WordPress SaaS service. Anyone looking to start a business along these lines should definitely look to them as a successful blueprint.
As the blog editor I can assure you that they were not intentionally left off the list. We never shy away from mentioning (or even recommending) our competition in our blog posts.
I think it’s more likely that these were the first eight examples that Tom found meeting his criteria for this article and so they were the ones featured. It’s also possible that including OptinMonster never occurred to him since it is most often referred to as a plugin and not a standalone web app.
He might chime in at some point and add his two cents.
Hmmm, more things to investigate. Boy, you certainly need to be agile these days just to keep up with new developments
More tools more opportunities I guess
Agile indeed! Although I’m not sure its possible for any one person to keep up. Personally I think understanding the underlying principles of whatever your area of focus is–business, marketing, code, design, etc.–and then building great teams is probably the only sane way to “keep up” with how quickly new developments are happening.
Totally agree with you.More tools more opportunity also more hard work,more chance of success.
I love WordPress. It’s super simple, super easy to use and there are so many themes and plugins that anyone can use it, and you don’t actually need to know how to program!
BUT, if you want to program a Web Application (Actually write the code, not just install plugins), there’s nothing better than Ruby, specifically Ruby on Rails.
Great article! Thanks Tom.
I think when the REST API is finally merged into core we’ll see a wide range of code languages used to create apps that ultimately get their content from a WordPress install.
Completely agree. You must master all parts of your code in order to be able to improve your app quickly and firmly. Nothing better than custom code.
But, it could be great for your front public page (homepage, pricing pages, features pages, …) to manage it with WordPress.
Because the marketing guy could work on them easily (add new pages, modify, A/B test, …) without the help of the developer (not anyone is able to manage commit with git just to test a change of the punchline !)