Want to get more articles like this one? Join my newsletter

2017 in review: YOLO

2017 is coming to a close and with it comes the shower of yearly retrospectives. Well, I’m no different from everyone else in that regard! I did my first year in review two years ago covering 2012-2015. And I also did one last year for 2016 only.

If this is the first year in review of mine that you read, you should know that I do them for transparency. I want a historical record of what I’ve done that’s as faithful as I can make it. That means writing it down as close to the time that it happened as possible. I don’t keep a journal (nor do I want to) so this is as close as I’ll get to that.

It’s also a way for me to keep track of my progress towards where I’d like to see myself. I don’t keep a yearly goal list or anything like that. But I definitely have a vision of where I’d like to be and whether I made progress towards it or not.

Needless to say, that this article is more for me than for you. But I think there’s always something to learn from other people’s life experiences. (That’s why I love documentaries like “Abstract” and “Chef’s table“.) I hope that me sharing this helps you through your own journey through life.

What’s with the title?

If you’re not familiar with the term “YOLO“, it’s an acronym for “You Only Live Once”. It’s similar in meaning to “Carpe diem“. It’s a reminder to enjoy life while you can.

This isn’t too say that I’ve had terrible things happen to me or that I’m depressed. Neither of these things happened to me or anything else bad for that matter. (I’m quite lucky in that regard.) But a couple of things made question this need to focus on future outcomes so much.

There should be a balance between working towards long-term goals and enjoying the present. But the last five years have been a lot more about sacrificing the present for the future. I was trying to not go broke while trying to build a business my way.

This meant cutting expenses as much as humanly possible. (This is a really underrated tactic for pulling this off.) But that meant that I never got to travel and meet new people. And that’s one of the things I enjoy the most in life. (I’m a big extrovert!)

So, needless to say, this year I travelled a lot and I also met tons of cool new people. (This guy in particular.) This is going to be the overarching story for the year. (Much like building trust was last year.) Everything that did or didn’t get to do this year will be due to this travelling spree.

Continued focus on building trust

Last year, I mentioned that I doubled down on this idea of building trust with developers. I wanted to show you that I could help you become a better developer. That meant writing articles to help you with advanced programming problems. But also speaking at conferences.

I really tried to push that to its limit this year. I wrote more articles and spoke at more events that I’ve ever done. I might try to do even more next year, but I’m a bit worried about burning out on writing and speaking.

Writing articles is getting easier

This year I wrote 20 (including this one) articles. One of those was a guest post for my friends at WP Shout. And two of those were Spanish translation for my new Spanish subsite. (More on that later!)

While I have no easy way to get the word counts on these articles, most of them are quite long. (All of them are over 3000 words. And I’d say the average is around 4000 words.) This is because I’ve continued working on my writing habit. And it’s really starting to show at this point.

Writing multiple things at once

The biggest change to my writing habit this year is that I started writing more things at the same time. So instead of writing 300 words a day for one article, I now write 150 words a day but for three things. More often than not, I’m working on two articles and something else. This year, that something else has been either a guest post, a Spanish translation or the book. (We’ll talk more about the book later.)

Why did I start doing things that way? I’d love to claim a great epiphany in habit building, but it wasn’t. Instead, it was the result of a desperate situation I put myself into early in the year.

What was that desperate situation I found myself in? Well, in March, I got accepted to talk at both WordCamp Atlanta and WordCamp Miami. That was great and all, but there was one problem with that situation. It was that they were two new talks that I’d never given and they were a week apart. (Oh my!)

If you’re not familiar with how I prepare for talks, I always write an article first and then convert it to slides. It’s a time-consuming process, but I find it worthwhile. But this meant that I had to prepare two different articles to convert into two slide decks.

I decided that the only way that I could get this to work is if I wrote both articles at the same time. So I divided my 300 words/day into two and wrote 150 words/day on both articles at the same time. And that’s how I managed to get two talks done with companion articles with a week between each!

A great accidental discovery

But the real takeaway was that I ended up loving writing this way! The articles that I write are pretty hard for me to write at length. There’s a lot of research and work that goes into a lot of what I write.

Because of that, I was starting to find writing 300 words/day to be quite daunting. (I can’t even imagine writing 1000 words/day for a single article!) But, as I wrote these two articles, I found that 150 words/day was just the right amount of daily writing for me. I could do a bit of research or work on an example and write about it and I’d be done.

I was also not sure how I’d handle the context switch while working on more than one article. But that ended up being a non-issue. If you work on articles every day like I do, you can jump back into it without too much of an issue. (It was more of an issue if I hadn’t worked on my articles for a few days due to travel.)

Another positive effect of this system is that I’ve been able to publish articles at a somewhat regular pace. I’m almost able to do 2 articles a month now. I’m quite happy with that! In fact, I don’t think I’ll ever go over that. (Except maybe if I aim for one article every two weeks.)

There’s a reason why I mention that I could aim for one article every two weeks. It’s now happened a few times that I finished two articles pretty much at the same time. When that happened, I’d delay the publication of the second article so that they were two weeks apart.

Writing while travelling

The other area of focus for my writing habit this year has been to work on maintaining the habit while I travelled. This is really another way of saying that I tried to be a productive person while travelling! This is something that’s pretty challenging to do.

That’s why I think being a nomad is a more extreme version of remote work. You’re trying to be a tourist, but you also need to be productive as well. This is a pretty tough balancing act to pull off.

As you can tell from the numbers I gave earlier, I did quite well on the writing and travelling front. I’m really happy about it. But it’s another situation where dividing my daily writing into smaller tasks helped.

That’s because I wasn’t always able to do all my writing each day while I travelled. If I had only one large writing tasks to do, there’s a good chance I wouldn’t have tried to do it. But, since I broke it down into smaller tasks, I could do one or two and skip the rest which would often be the book writing. (I’ll touch more on it later.)

So that’s another advantage of breaking down your daily writing into smaller writing tasks. Your overall writing volume might go down while you’re travelling. But you’ll manage to stay consistent which is better in the long run for habit building.

What didn’t happen with writing

I’d said last year that I’d like to do more guest posts. I also said that I’d like branch out my writing to other topics like system administration. Both those things didn’t really happen.

Like I mentioned earlier, I did manage to write one guest post for WP Shout. But that was it. And I didn’t end up writing anything system administration oriented. (The closest was an introduction to automated deployments.)

That said, I think that those are still my overall goals for next year. I do want to branch out my writing into other topics. It might not end up being system administration though. (I did a lot of work with unit testing this year so that could be the topic.)

Professional WordCamp speaker

Vova Feldman from Freemius called me that at some point this year. I thought it was pretty hilarious. But it’s also pretty representative of what happened this year.

Speaking at WordCamps was my main reason for travelling this past year. If I wanted to go somewhere, I’d try to speak at the local WordCamp. This ended up working pretty well for me!

So here are all the WordCamps (and other WordPress events) that I spoke at this past year:

  • WordCamp Atlanta
  • WordCamp Miami
  • WordCamp Halifax
  • WP Campus
  • WordCamp San Jose (Costa Rica)
  • WordCamp Phoenix

That’s a total of 6 events which is double from last year. I applied to 10 events in total. The ones I didn’t get to speak at were:

  • LoopConf (Rejected)
  • WordCamp Europe (Rejected)
  • WordCamp Austin (Backup speaker)
  • WordCamp US (Rejected)

Even if I didn’t get to speak at all of them, I still attended all these events except for LoopConf. I also attended a few other local ones where I didn’t apply to speak. Those were:

  • WordCamp Ottawa
  • WordCamp Montreal (where I’m an organizer)
  • WordCamp Toronto

That’s twelve events total for the year which is a nice round one event per month. That’s a lot if I can be honest with myself. I don’t think I can do much more than that.

Reusing existing talks

One way that I’ve been able to handle speaking more is by starting to reuse some of my existing talks. I’ve given eight different talks since I started speaking at WordCamps in 2015. That’s because I didn’t like the idea of giving the same talk over and over again.

On top of that, another problem is that WordCamp talks don’t have a great reach for me. Don’t get me wrong, I love going to WordCamps and giving talks. But I’m usually happy if one person gets something out of my talk.

That’s why I like writing companion articles for my talks. These articles can reach a lot more people than these talks ever could. And that’s super important when you’re in such a tiny niche like mine.

So, while I do prefer to do new talks, it also doesn’t scale well. The Atlanta / Miami episode highlighted that pretty well. I didn’t really enjoy the stress of preparing two new talks so close to each other like that. (Although it did get me to change my writing habit for the better!)

That’s why my new plan is to reuse talks when I apply to conferences that are near each other. I tried the idea out when I applied to WordCamp Austin and WordCamp Phoenix this year. I applied to Austin with only new talks and Phoenix with only existing talks. This ensured that, if I got picked at both, I’d only have one new talk to prepare.

The irony is that it didn’t matter in the end. I was a backup up speaker in Austin and I was on my first panel in Phoenix. But I do plan to continue doing it next year so we’ll see how that goes!

First Spanish talk

Another important goal that I had for this year was to give a WordCamp talk in Spanish. This was an ambitious goal on my part! But I really wanted to do it.

Why did I want to give a talk in Spanish in the first place? Well, I’d been taking Spanish classes for over five years. (That’s quite a long time!) And while they were super useful, there’s only so much you can learn in class.

I wanted a goal that I could use to help me improve my Spanish further that wasn’t immersion. (Moving to a Spanish speaking country wasn’t something I had the ability to do.) I’m pretty good at building habits and I felt that giving a WordCamp talk in Spanish would be a good objective.

My initial plan was to give a talk in Spain since they have so many WordCamps. Specifically, I was looking at WordCamp Seville which was in September in 2016. But I meet Roberto in WordCamp Miami this year and he pitched me WordCamp San Jose in Costa Rica.

I waited to see if Seville or any other city in Spain would have a WordCamp in September. I never saw anything come up so I applied to WordCamp San Jose and got in. I’m beyond thankful for the opportunity that the organizing team gave me!


And how did the talk go? I got mixed reviews for it, but I was super nervous and it showed. The only way to solve that problem is to just do it again and again so that I can improve! That’s why I plan on doing more Spanish WordCamps this coming year.

More travelling, but still a lot of North America

So where did I go this year besides the WordCamp cities I mentioned? Well, I still did way too much North America and most of it was the United States. (It’s still the most affordable destination for me. Travelling in Canada is so much more expensive. It’s really sad.) So, if we take out the WordCamp destinations, I also did:

  • Boston
  • Iceland
  • Fredericton
  • South of France (Too many cities to list.)
  • Los Angeles
  • Anaheim
  • San Diego

So this is a pretty good list overall. (Like I said I travelled a lot!) I did enjoy my time in Europe a lot both Iceland and South of France are beautiful in their own way. That said, both destinations are also expensive as a Canadian. (Stupid Canadian monopoly money!)

The other big trip that I took this year was about three and a half weeks in the United States. I wanted to go to Blizzcon with a friend. (Yes, I’m a huge gamer lol) So I decided to apply to WordCamps on my way to it. (Those were Austin and Phoenix.)

I also did a meet up in San Diego after. I just love the San Diego WordPress community (and the city!) and I couldn’t make it to their WordCamp. So I tried to do something while I was in the area.

Balancing everything while travelling

This big trip to the United States was also important for another reason. It was my best attempt at maintaining a balanced lifestyle while I travelled. That said, it wasn’t quite perfect yet. (There was still a bit too much partying and not enough sleep and work.)

Why is this important? Well, this goes back to something I mentioned in my review last year. I said that I hadn’t been that good at keeping things balanced when I travelled. Most of my balancing successes had been due to external factors. (For example, none of my trips lasted longer than two weeks.)

But this year I had a few trips that were over three weeks long. (These longer trips were also a goal that I’d set for myself for this year.) Once the length of a trip is closer to a month, it’s harder for me to justify being on a diet or gym break like I’d been doing. Instead, I needed to find a way to eat well and go to the gym as I moved from city to city.

This wasn’t too hard (nor expensive) to do in North America because I’m a member of the YMCA in Montreal. Being a member grants you guest access to any other YMCA throughout the world. That said, most of them are in North America which makes this only an option here.

Eating well and for cheap also felt easier to do in North America than in Europe. This due to the presence of Whole Foods and Chipotle. Neither of them is that cheap, but they offer a lot of food for an ok price which is important. (I eat a lot lol.)

So yeah, as you can see, most of my strategies are very North America focused right now. This means that I’ll have to develop new ones if I do a long-term stay outside of North America. And that’s a very likely scenario for next year.

Managing travel exhaustion

As I’m writing this, I’m feeling pretty burnt out with travelling. Yet, I already travel plans in the work for early 2018. I’m speaking at LoopConf in February which will probably turn into a larger trip.

My gut feeling is that I’ve done near the limit of what I could do this year in terms of travel. The question that I’m asking myself now is whether I could do more if I learned to manage my health better as I travelled. That’s something I’ll probably try to explore next year.

The reason I want to see if I want to travel more is because I’m struggling with two desires. On one hand, I want to go to new WordCamps and visit new countries and cities. On the other, I want to go back and see friends I made at WordCamps I’ve gone to before. (Tough life, I know lol)

So yeah, I’m not sure if I’ll be able to pull it off. But it’s a worthwhile goal to attempt! Tune in next year to see how that played off in practice!

My presence in numbers

Now, part of the reason why I increased my travelling wasn’t just for personal reasons. I wanted to continue to increase my presence within the community. At least, the North American one.

It’s hard to measure the impact of WordCamps on that as much as I enjoy going to them. I’m not selling anything yet so I don’t have a bump in sales to look for. I still rely on the same two metrics as last year to find out if I’m doing alright or not.

The first one is web traffic. That’s an obvious one since all I do is publish articles. Having more traffic is almost always a good thing. (I mean who doesn’t want more traffic!?)

The second is newsletter subscribers. This one is vital for the long-term health of what I do. That’s because it’s how I stay in contact with people like you who read my articles.

Traffic to my website

Website traffic is always easy to measure. You just need to log on to Google Analytics and look at the numbers. Here are the numbers for 2017 compared to 2016:

So still a lot of green, but less than last year. (Everything but “New Sessions” was green last year.) On top of that, the numbers are quite a bit smaller. For example, last year pageviews had gone up by 98.80% compared to 31.33% this year.

That said, the numbers for “Sessions” and “Users” are closer to 50% which is better. “New Sessions” is also a bit better than last year. It means that more people are visiting my site than the previous year.

Where is this traffic coming from?

Another thing that I like to look at is the traffic sources for the site. Last year, both organic search, direct traffic and social traffic had done very well. They had all doubled over the 2015 numbers.

Well considering that my overall numbers weren’t that great. It’s not too surprising to see things haven’t been too good on the traffic sources front either. Only organic search is still doing strong.

This is still good to hear. It means that my content is showing up in search results a lot and people are clicking on it. That said, the lack of social traffic means that my content isn’t shared that much. In fact, if we dig deeper, we can see that traffic for all social media except for Facebook has gone down.

I’ve known for a while that Facebook drives a lot of traffic and newsletter signups. This is all due (as far as I know) to the Advanced WordPress group. It’s the only place that I’m aware where my articles get shared.

Twitter isn’t down too much, but again it means my articles aren’t shared there. This is anecdotal, but I also think there’s also a bit of a Twitter fatigue. So that might be why Twitter hasn’t done as well this year.

Reddit traffic dropped a lot I think it’s because I don’t post on /r/WordPress as much anymore. I felt my articles were always downvoted so I didn’t see the point. Most of the time, if I post on Reddit, I do it on /r/ProWordPress.

This year’s top articles

Last year, I started looking at the top three articles for the year. I thought it was a good exercise to see what articles people seemed to enjoy the most. I use it a bit to guide what topics I should look into. So here are the three most visited articles this year:

So this list is interesting for a few reasons. The first thing that stands out is that my top article isn’t an article I wrote this year. In fact, this article on PHP strings was also in my top articles for 2016.

The cool thing about this article on strings is that inspired me to write the second article on the list. I realized that there wasn’t a lot of in-depth guides on programming fundamentals that people struggle with. So I wrote a few articles like this one on regular expressions. That said, they haven’t all done as well. (For example, this article on conditionals isn’t that popular.)

The third most popular article was the companion article I gave at WordCamp Miami this year. While this article has WordPress in its title, it really focused on explaining a DevOps topic. We just looked at different levels of implementations available to the WordPress community.

Newsletter subscribers

So that covers most of the interesting stuff with web traffic! Now, let’s move on to newsletter subscribers. What do the newsletter subscriber numbers look like inside ConvertKit? (That’s the tool I use for my newsletters.)

Looking at this picture, things seem to be going pretty well with newsletter subscribers! I have 822 subscribers and I added 413 this past year. This should be great news.

But this picture is pretty deceiving. Last year, I added 515 subscribers and I had 748 in total. That’s just under a 10% increase in net subscribers. (In comparison, I’d grown by 60% last year.)

Yearly newsletter cleanup

There’s a reason I used the term “net subscribers” in the previous section. That’s because, like last year, I removed all the cold subscribers from my newsletters. Those were subscribers that hadn’t clicked or opened an email in over 90 days.

I did this for two reasons. The first one was because I wanted to save money! ConvertKit uses plans based on the number of subscribers that you have. So I didn’t want to pay them for subscribers that weren’t getting anything from my newsletter.

And that’s also my second reason for cleaning up my newsletter. I’m trying to have an engaged newsletter with people that care about what I’m doing. It’s the only way that I’ll know if people care about what I’m teaching about. If I leave inactive subscribers in it, it makes it harder for me to know whether I am or not.

So how many subscribers did I have when I cleaned up my newsletter? Well, by the time I did it, I was up to 990 subscribers. That was just 10 subscribers shy of the next ConvertKit plan! (Cut that one close!)

I ended up removing 177 subscribers which brought me back down to 813 subscribers. (I did a few weeks before I started writing this.) This was about the same as last year where I removed 180 subscribers. That’s at least a good sign. I’d like it if I had fewer people to remove each year.

Another pleasant surprise was how well people responded to that email this year. Last year, out of the 183 people I sent the email to, only 4 people clicked to stay on the newsletter. This year, 23 out of 212 people clicked to stay.

This isn’t working

Now, the point of doing these review posts isn’t just to make me feel good. I have to be honest with myself too when things aren’t working that well. I think that, as it stands, the growth around what I’m doing isn’t going that well.

A 10% increase in newsletter subscribers isn’t acceptable when you have such a small newsletter. I figured that, if I wrote more and spoke at more WordCamps, it would have a good effect like the past two years. But, as we saw, it didn’t that much.

Reaching the maximum potential of my niche

My educated guess is that I’m reached most of the people in my niche. This doesn’t come as a big surprise to me. I’ve joked from the start that I’m more of a niche within a niche within another niche! (A super niche!)

This is pretty obvious if we look at my most popular articles. My niche is teaching object-oriented programming to WordPress developers. Yet none of the dozens of articles I wrote on it was popular enough to make it to the top articles the last two years.

And, to be clear, I don’t think the content is bad. I can see that the progress that some individuals have made over the years with what I wrote. (Especially this year, I spoke to quite a few people that started to really grasp the concepts.) And that’s amazing! But it also doesn’t change the fact that this isn’t a big niche. (sad face)

Another thing that highlights this niche size issue is where I can post these articles. I’ve only really found two locations to post these articles. As we saw, those were the Advanced WordPress Facebook group and /r/ProWordPress on Reddit. And, out of the two, it’s only Facebook that drives any traffic.

So all these factors seem to point to me hitting a practical limit with the size of the niche that I’m serving. It’s a bit of a sad conclusion to make. But I think it’s important to be realistic about it too.

Moving beyond object-oriented programming

Alright, so where does that leave me then? Well, last year I came to a similar conclusion that I needed to branch out. That meant talking about other topics than just object-oriented programming.

Now, it’s not like I didn’t do that this year either. I wrote and spoke about other topics than just object-oriented programming. But I think that I need to do more than just that.

For example, all the messages in that little bar that drops down are the same. (Idea shamelessly stolen from Paul Jarvis.) It’s about my email course on object-oriented programming. I need to create different incentives to join my newsletter for those articles that aren’t on object-oriented programming.

At the same time, I also need to create newsletters with content that’s relevant to them. I shouldn’t send you an email on object-oriented programming if you signed up about systems administration. That said, I should be able to know if you want to know about both which I don’t right now.

The takeaway in all this is that I need better incentives for you to join my newsletter. And I also need to use more of ConvertKit’s capabilities so that I can send you the content that you want. So that’s something that I’m going to take a look at next year. Especially once I’m done with the book.

Experiment with other teaching methods

This is also something that I would like to try out. Right now, I’ve focused only on reading. But there are other mediums that you can use to teach programming.

The big one is screencasts which I’ll be trying out with the book. But there’s also live coding. This is something I’m really curious about since I read this post on live coding on Twitch.

This isn’t something I talk a lot about but I’m a huge big fan of Twitch. I must listen/watch to at least 20+ hours of it a week. (I even do audio only. I know, I’m crazy!) It’s often in the background while I’m working.

It’s definitely an opportunity that no one in the WordPress community is looking at. Is it a worthwhile opportunity? I don’t know either. My main worry is the ability to do this on a consistent schedule when I’m travelling.

So what’s up with the book?

Ok, so this is a good time to bring up what’s happening with the book. The good news is that I’m pretty much done writing the book. (Yay!) It’s a bit under 30,000 words unedited.

What’s left to do?

Alright, so the book is all written. So why am I not promoting it more? And why is there no sales page yet? Well, that’s because there’s still quite a bit left to do!

First, there’s the extra material for the different packages that I want to offer. (I’m doing the pretty standard three package format.) My current plan is to offer exercises and screencasts with the pricier packages. The top package would have the screencasts and exercises. The middle package would have just the exercises.

I also need a way to convert my book from markdown to something that looks presentable. I’ve been playing with pandoc to generate my sample chapters. But I haven’t found an easy way to make the output look professional. I’m also wondering if there’s a simpler way to do it.

And, as I alluded to earlier, I also need to build a marketing site. This will probably go up early next year. I might also offer a pre-release (or beta) version of the book at a discount to help find issues that I can fix before release.

Why is it taking so long?

I think that’s a valid question to ask ourselves. The book itself is only 30,000 words after all. And I’d already started working on it at the end of last year.

Building a habit around writing the book had a mixed success overall. Like most new habits, I wasn’t able to be consistent about it. I’d have good phases where I’d be writing daily for about a month. And then I’d have bad ones where I wouldn’t write for a month or more.

Part of it was that, with all the travelling, I didn’t make the book a big priority. I focused more on keeping the habit around the articles going. I still think that was the right choice because writing articles every day has a lot of long-term value.

I also can’t say that I enjoyed writing the book either. I think part of it is just the fear I’ve always had of creating something that people pay for. It’s been a bit better since I’ve had a paid plugin.

But, at the same time, the idea of selling a teaching product doesn’t feel the same at all. I think impostor syndrome has a large part to do with it. It’s one thing to teach something and put it out for free. It’s another to teach something and expect it to be valuable enough for people to pay for it.

That said, I’ve talked about the impostor syndrome before. And the best way to get over this fear is to do the thing that scares you. That means that, in this case, I need to actually sell an educational product.

So this is what motivates me to get the book done. And I might even try to make another educational product after. But, for now, I’m focused on trying to ride the motivational roller coaster for the book.

DebOps for WordPress

Besides the book, I’m also working on some other products. The main one is “DebOps for WordPress“. It’s an open-source WordPress server configuration tool built with Ansible.

I’ve continued working on it a bit this year. Most of the work was writing documentation. (It still needs even more documentation.) That said, my friend, Toby also added elasticsearch to it during the summer.

At this point, I consider the server stack to be feature complete. It goes above and beyond what most WordPress hosts offer. What it needs now is better support for other server providers besides Digital Ocean. I don’t plan on supporting every server providers, but you should be at least able to use this with AWS and Linode.

I still would like to explore the idea of making a service like Laravel Forge with it. It’s something I’ll think about more once I’m done with the book. The main project has also moved to using docker so I will explore that as well.

Passwords evolved plugin

I also built a small plugin called “Passwords Evolved”. It’s a security plugin that strengthens certain parts of the WordPress password authentication system. It does so by using modern security practices.

I built this plugin more as a proof-of-concept. As it says on the GitHub repository, you shouldn’t use it in a production environment. (I would like to change that in the future.) I wanted to show was how a plugin that used concepts on this site would look like.

Current state of my finances

Alright, the only thing left to talk about money! As I do every year, I want to preface by saying that everything discussed here is in Canadian dollars. I know most of us hear the word “dollar” and think of American dollars right away. But keep that automatic reaction at bay for this section!

Money in the bank

So, as we know, I did a good amount of travelling this year. This can’t have been cheap! So how well did my personal bank account hold up? Well, let’s take a look.

At the same time last year, I had $13,669.62 in my bank account. Right now, I’m down to $10,436.03. That’s a net loss of $3,233.59. (Ouch!)

I should be a bit bummed by this. (I have a fear of debt.) That said, I’m not because I have about $4,000 outstanding for a project that isn’t finished yet. (More on that in a bit.) So that would bring me in the black by a few hundred dollars.

Again, that’s not bad considering how much I travelled this year! I’d obviously rather have the money right now (Don’t we all!) and finish the year in the positive. But that’s how things work in the freelance world.

What did I spend my money on?

And, speaking of travelling, it’s time to look at expenses. How much did all this travelling cost me!? And what else did I spend my money on? Well, let’s look!

  • Travel: ~ $15,000
  • Software (with phone): ~ $2,100
  • Rent: ~ $8,000

Those are the three main expenses block that I have for work. (I work from home when I’m not travelling.) So this doesn’t include things like leisure, food and so on. But I don’t expect those to be more than a few thousand dollars.

It shouldn’t come as a surprise that travel dwarfs every other expense category I have. It’s more than double what I’d spent last year. (I’d spent about $7,000.) But, as we saw with the bank account situation, I more or less managed to make it work.

The other two expense categories have held steady. I paid a bit less for software this year but a bit more on rent. I haven’t bought any new equipment this year. (I bought a new MacBook Pro at the end of last year.)

How did I make money?

So we have a pretty good idea of where my money went, but where did that money come from? This is always a bit complicated since my income is a mix of Canadian and US dollars. That said, it’s always sweet to get paid in US dollars because that exchange rate is amazing! (It isn’t so much when I have to pay things in US dollars though.)

In the past, this mix was 90+% Canadian dollars so it was pretty easy to calculate. This year, the US dollars part of my income climbed to about 30%. I’ll explain why that happened in a second.

But first, in terms of gross income, I estimate that I made about $30,000 this year. That’s about $4,000 less than last year. If I’d gotten that last $4,000 outstanding, I would have made as much. (And that’s what I was aiming for.)

My income source is still all from consulting. I didn’t release the book so I can’t really expect that to have changed. That said, the sources of consulting income have changed a bit.

Global Voices

Global Voices still accounts for a bit more than two-thirds of my income. They’re a non-governmental organization (NGO) that focus on translating and reporting citizen news stories. They do this in over 40 different languages.

They do this using a network of WordPress sites. But since some of the websites are almost as old as WordPress, they don’t use multisite. (It didn’t exist when WordPress came out.) Instead, they have over 40 WordPress sites with a shared code base.

My friend Jer and I work on keeping these sites up and running. We also develop new features and rebuild old ones that are a bit dated. I also help them maintain a secure infrastructure which is important as an independent news organization.


Me and Tom McFarlin have become good friends since we met at WordCamp San Diego in 2016. Since then, we’d been looking for a way to collaborate on a project. Well, that opportunity came up in August this year.

He had a project that I considered quite unique and complex for the WordPress space. It was an opportunity to put a lot of what I was teaching into practice. I was also able to experiment with new ideas which I’ll write about next year.

The other benefit to the project was that there was no fixed timeline. This was important to me with all the travelling I was doing. That said, it’s also why I didn’t make all the money I was expecting to make.

The project has been going great but we didn’t get to finish it this year. It’s a bit of a bummer that that happened. But that’s also what happens when there’s no timeline! (Can’t always have your cake and eat it too. sad face)


I also have a small paid plugin called ProductPress. I built this plugin with Justin Jackson almost three years ago. You use it to connect your WordPress site and the Gumroad API together. This lets you charge for content that you create on your WordPress site.

I still only do support and bug fixing for it. That said, I haven’t had a bug in over a year! The important thing is that I’m not developing new features for it. I’m just letting it slowly fade away while helping people that still use it.

And that’s what’s happening too. Last year, ProductPress contributed to about 10% of my income. This year that dropped to below 5%. (And that’s with me making less income than last year.)

Always thankful

Well, this is where things stand at the end of 2017! These “year in review” posts are getting longer each year. (I almost didn’t manage to finish writing it in time!) But I think it’s critical for me to describe as best as I can what I’m thinking right now. (I definitely referred to my previous “year in review” posts writing this one.)

As with the other years, I feel so thankful to you and everyone else that I met this year. (And every other year too!) You continue to make this weird life of mine a reality even if it hasn’t been a smooth progress.

So, with that, I bid 2017 farewell. If you have any questions, feel free to ask them below. Otherwise, I look forward to seeing how 2018 plays out!

Photo Credit: Julien Melissas

Creative Commons License