WordPress challenge: Building a web app from scratch

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.

Website Web Application
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.

Technology

  • 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

Business Model

  • 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.

Stay tuned!

2 Comments

Add yours →

  1. Excellent idea, I like to try your app.

  2. After this post you never posted anything about the App. So did you continue working on the App?

    If you finished that, would love to know more about the process and see a demo of the app.

    Thanks

Leave a Reply

%d bloggers like this: