Introducing MagicPress

The other day I saw Aaron Rutley tweet about a tool he’d built called ValetPress:

It combined two of my favourite things – WordPress & Laravel Valet. If you’re reading my blog, you likely already know what WordPress is but may not know about Valet.

Valet is a Laravel development environment for Mac minimalists. No Vagrant, No Apache, No Nginx, No /etc/hosts file. You can even share your sites publicly using local tunnels. Yeah, we like it too.

Laravel Valet configures your Mac to always run Caddy in the background when your machine starts. Then, using DnsMasq, Valet proxies all requests on the *.dev domain to point to sites installed on your local machine.

In other words, a blazing fast Laravel development environment that uses roughly 7mb of RAM. Valet isn’t a complete replacement for Vagrant or Homestead, but provides a great alternative if you want flexible basics, prefer extreme speed, or are working on a machine with a limited amount of RAM.

It’s not for everyone, but I’ve found it to be sufficient for quickly prototyping new things and keeping my MBP’s battery alive more than a couple hours.

Aaron’s solution is awesome – he’s introduced a new command that allows you to quickly spin up new Valet powered WordPress sites using WP-CLI.

I wanted to try make the install process a little bit easier, have always wanted to build a Node CLI app and selfishly, wanted some specific commands for making WooCommerce development sites, so I got inspired and put together MagicPress.

If you’ve already got Valet and WP-CLI installed, you just need one more command to get started with MagicPress.

npm install magicpress -g

For the rest, check the docs. You may need to configure the MySQL username/password if yours isn’t rootroot. To do that, just run:

sudo mp config

At this point, you’re ready to to create new WordPress development sites! The good news? It’s almost instant:

mp new sitename

sitename.dev is now a functioning WordPress installation with a DB and everything!

Check out the docs as things have likely changed since I wrote this, but one of my favourite optional commands is –woocommerce. Append it to the end of your mp new command and the new site will have a copy of WooCommerce installed, along with the Storefront theme.

mp new woo --woocommerce

There’s also the –dev command that I highly recommend using, which will install a bunch of useful developer-friendly plugins like Query Monitor. I hope to add some more commands and delete functionality soon, but for now, I’m interested to see if others find this as useful as I have!

PS. It’s MIT-licensed, so you can pretty much do whatever you want with it (except blame me if something breaks). 🙂

Photo by Thomas Kelley

The Bot Future

Screen Shot 2016-04-15 at 10.49.21 AM.png

If you’re hearing the news about Facebook’s new Messenger Platform and all you’re thinking is:

This is just hype. It’s not that big of a deal.

You’re missing the bigger picture. The future of our interaction with technology will be completed automated – and bots will play a big part in getting us there.

The significant thing about Facebook now taking part is the 900 million users they bring to the game.

I get excited thinking about the possible applications of this technology.

Customer service – no longer apprehensive to approach a company – no need for the anxiety that comes with making a complaint.

Learning a language – your own private teacher that is only a message away – can message you throughout the day to help you learn.

Discovery – the effort to find new content and stay up to date with the world will be reduced. Acquiring new information will no longer be an active but passive.


Over the last few years I’ve watched brands adjust to the trend in message-orientated customer service. A company that you once had to interact with my phone is now just a message away.

This isn’t groundbreaking. Email has been around for decades, and it was long ago that the first contact form was introduced. But there’s something special about a message.

Emails and phone calls these days tend to be reserved for work and interactions with businesses (besides for the occasional parent phone call). Messages are intimate. They provide an eternal log of our relationships and conversations – an always-available means to contact friends, not prohibited by time or location or feeling.

Businesses picked up on this. They’re now easily contactable through any social media platform. I’ve started a conversation with a business through tweets and ended up getting a DM (direct message) from them soon after. Recently my home internet cut out so I just sent the business a message through Facebook Messenger on my phone and got it resolved. Months ago, I was trying to find a shop in Melbourne that had a special variety of Thai basil needed to make my favourite Thai dish. I messaged a local Thai grocery’s Facebook page and had a bunch of the basil reserved for me just moments later.

I’m yet to find a reputable and established business that isn’t just a message away. In fact, the only exception seems to be with government organisations and traditionally terrible companies that are no better on the phone.

And yes, while it’s true that messages are more intimate and usually just for friends, I’ll gladly allow a business into that intimate space if it means my problem gets resolved quickly and asynchronously.

But phone calls can still be quicker. And when you have a serious issue, like a missed flight or internet emergency, you suck it up and make the phone call, speak to another human and get your problem fixed. It’s awkward and time-consuming and exhausting but sometimes it’s the better choice, purely because it doesn’t involve waiting for your message to be replied to.

So the fact that there is now a means for developers to automate messages – to eliminate the one thing that was keeping phone support alive – is exciting.


Good bots won’t try to be magical interpreters of user will and intent. They’ll listen, ask questions with structured answers and evolve naturally.

An example of this is the interaction here between Danny and the 1800 Flowers bot. The bot doesn’t try to be intelligent and have a conversation with Danny. It determines what he wants, gets the answers it needs by asking simple questions and uses predictable buttons to get user choices.

We’re on the brink of a bot revolution. The bot future won’t be obvious. It’ll slowly creep up on us and steadily improve every business interaction we have. But once it’s here, you won’t want to go back.