For the past 7 years I’ve been building websites, themes and plugins for WordPress. It’s really fun, and I love it.
But there are some avenues that I have yet to explore. The biggest one is building a web application using WordPress.
I’m happily employed over at X-Team working full-time on Stream, so I’m really just looking to create another passive income stream for my family. This is not urgent in any way, and if I’m being totally honest with myself, I’m probably just looking to scratch the proverbial entrepreneurial itch I have after selling a business I was running on the side last month.
If I’m going to start a new project, and there is not a strict time table, why not try something new? It will give me a chance to learn some new technologies I’ve not used before, like Backbone.js, and build something that I think is cool.
So, what do you mean by “web app”? Isn’t that just a website?
It’s true, there is some ambiguity here. And while there is a lot of crossover, there are also some key differences I think of when determining whether or not a project should be considered a web application or a website.
|Focus is primarily on content||Focus is primarily on interaction with the user|
|User accounts are usually not necessary||User accounts are almost always necessary|
|Content scope is usually global for all users||Content scope is usually private for the current user only|
|People using it are generally thought of as “visitors”||People using it are generally thought of as “users”|
|There is usually no data API other than content feeds in RSS or JSON formats||Robust API’s can usually be provided so data can be accessed programmatically|
|Sometimes feature responsive design for mobile and desktop views||Generally much more focus on cross-platform integration, such as native mobile apps|
The WordPress challenge: Build a web application using WordPress in my spare time.
God knows I don’t have a lot of spare time. But that actually makes this experiment the most exciting to me. I can only build this in my free time, with very little investment. It will force the product to be simple, and really force me to exercise the lean methodologies I aspire to use on every project.
I do have an idea of what I want to build, in fact, I’ve already started. I will reveal the details of what it is later. For now, I want to outline the high-level details about what I’m trying to accomplish with my web application from a business perspective as well as the technology that I’ll use to build it.
It feels a little strange just posting all of this behind-the-scenes information here, but that’s part of the experiment.
- WordPress Multisite as the backend infrastructure
- Backbone.js and jQuery for the application layer
- Leverage custom post types and taxonomies for the application content
- Users register their organization as a new “blog” giving them their own account in a subdomain
- Users can add various team members to their account as regular WP Users
- Payment processing via Stripe
- Transactional emails and notifications via SendGrid
- Provide a JSON REST API for the geeks
- Hosted on SiteGround GoGeek to start, will migrate to SiteGround Cloud hosting after beta which can be easily scaled as the user base grows
- Wildcard SSL cert, so all accounts on the network will only be accessible over HTTPS
- Hashcash.io for bot SPAM and brute force prevention
- 30-day free trials
- Monthly recurring subscriptions
- Four pricing tiers, including a Free plan option
- No content provided, customers must enter in their own data
- No direct customer support via phone, email, forums or social media
- Tutorials and Help FAQ’s provided to cover the basics
Blogging The Progress
This will be more like a personal diary of my adventure, or a git log summary mashup, if you will. I’ll be doing posts here about the progress of the project on a random basis, probably weekly.
Hopefully it will encourage others who are curious about building web applications with WordPress, and demonstrate in a simple way how I’m going about it.