Limited time offer: Pre-order Company of One and get some super-awesome bonuses. Learn more
Paul Jarvis

Create an app without knowing code

A few months ago I set out to create an app that’s a website which acts like software, but doesn’t require any programming to make. I wanted to see how much was possible nowadays without code – to prove a point to myself that anyone can make software, regardless of technical or programming expertise.

(For programmers, I’m using the term “software” loosely to illustrate a point that anyone can “make” something on the internet.)

The feature-set I wanted for my software was this:

In the past, this might require custom programming to create user accounts and then have features for each user, like saving favourites, rating and reviewing. But there’s so much good, sometimes free software out there, that a simple website like this could get by without any code.

The whole thing is hosted by my friends at FlyWheel, which comes with free WordPress setup, so you don’t have to worry about installing software, just setting up your site and customizing it.

Create an app with WordPress

For all its faults, WordPress is an amazing and super extensible bit of software. Out of the box, with the default theme, you’ve got a fully functional blog. To move past that, you simply need to add a few plugins.

Here’s what I used to make this directory site work:

Create an app with MailChimp

I wanted the website to both alert course submitters via email if their course was approved or rejected, but I also wanted to be able to share news and updates with users, so MailChimp was the obvious choice (see my own MailChimp tutorial here).

Within MailChimp, I created one hidden merge field that gets filled with “yes” if someone signs up for a user account. I also created an Interest Category (i.e. a Group) with 3 options:

  1. Pending: email addresses get tagged as this when people submit their course. I’ll explain in the next section how.

  2. Approved: when I’ve manually reviewed a course and confirmed it met the criteria, and looks good, I’ll approve it.

  3. Rejected: when I’ve manually reviewed a course, saw it did not meet the criteria, or it looks of poor quality, I’ll reject it.

Each tag triggers a different automation sequence. So when someone first submits, they get an email telling them they’re in the queue, and I’ll review it shortly. If they’re approved, they get a welcome message saying they’re listed on the site. If they’re rejected, they get a message saying how they can improve.

Create an app with Typeform & Zapier

If I had wanted people to submit courses that were automatically added to the site, I would have set up a form directly in WordPress to do so. But, since this is a list of the “best” (super subjective, I know) courses, I wanted to manually vet them before including them on the site.

To that end, I used TypeForm to collect submissions. The form collects everything from the screenshot to the course details.

From there, I get an email with the submission, and Typeform pushes the data to both MailChimp (adding the person to the pending queue) and to WordPress (to create a draft of the course, with a few details filled in) using Zapier.

That way, all I have to do is view the submission in my inbox, and if it’s good, finish updating the draft in WordPress and publish it. Then I go into MailChimp to set the group tag from “Pending” to “Approved”. If the course doesn’t make the cut, I simply delete the draft and set the group tag to “Rejected” instead. And remember, both tags fire off an automation email with details to the course submitter.

To summarize how to create an app without code

There are certainly limitations to building software without knowing how to code and I love to hire and work with software programmers, but there are also so many possibilities to create functionality on websites or courses without ever looking at the source code.

Since I am a designer/developer, I created a custom theme for CourseList, but most any theme will work, even free ones. Just pick any design that fits what you want to accomplish.

Don’t let the fact that you don’t know HTML or PHP or JavaScript or whatever technology limit your online vision. You can always, and fairly easily, create whatever you want. Or at least, a pretty functional MVP of your idea.

This whole project, start to finish, took me a total of two days. The first was spent on design (which can be skipped if you pick an existing theme) and the second to set it all up. Two days, start to finish, idea to launch. Sure, it’s not perfect, and many processes could be tweaked to be faster, but it only took two days to launch. One thing’s for sure, you don’t have to be a tech whiz or programmer to create things online anymore.

So, what will you launch two days from now?

Want articles like this in your inbox each Sunday, read by 30k+ subscribers? No BS, spam or tricks... just useful content: