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

2018 in review: A challenging year

We’re almost at the end of 2018 and, like everyone else, I l do a review of my year. It’s been a few years that I do it now. My first review was for 2012-2015. I’ve done one for 2016 and 2017 since then.

As usual, I’d like to open up by talking about why I do these years in review. If this is the first time that you read one of them, you should know that I write them mostly for myself. I find it useful to have a historical record of what I was thinking during the year. So it’s important to write it while it’s still relatively fresh.

I also do this so that I can be transparent with you. I live a pretty non-standard life. I don’t want people to think that it’s just all sunshine and rainbows. It’s useful to see that there are always tradeoffs and that it’s not for everyone.

And finally, it’s a way for me to also keep track of my progress. Progress towards what? As I’ll talk about later, the answer to this question isn’t as clear to me as it was the previous years.

But again, that’s the goal of doing these reviews. I love documentaries where you can see how someone’s experiences shaped their path through life. It’s always my hope that these reviews also help you reflect on your own as well.

This has been a challenging year

I know this because I’m sitting here writing this year in review and I’m struggling to start. I don’t really have an overall theme for the year like I had with the previous years in review. So I’m just going to go through what happened this year.

Dealing with a burnout

I guess the first thing worth discussing was the fact that I had burnt out again at the end of last year. (I’d also mentioned it in last year’s review.) The fact was that I hadn’t managed my fatigue as well as I thought with all the working, travelling and partying. (Of course lol)

This was me on February 1st. I was speaking at two conferences that month. The first one was WordCamp Phoenix, and then the following week I spoke at LoopConf in Salt Lake City. (It was also the first time I had travel and hotel paid for me which was exciting!)

The good news was that I ended up being ok. I guess I wasn’t as burnt out as I thought. (Yay for managing fatigue better!) I had a lot of fun, but I came back and continued resting. That said, I really wish I had gone to WordCamp Miami. (I got rejected, so I didn’t go. That said, it might have been a bad idea for me to go too so who knows.)

I picked up travelling again in April. I went back to Phoenix and then spoke at WordCamp San Diego on getting started with continuous integration. I then went to see some friends in Toronto.

By that point, I felt I had done enough resting and felt a lot better. But we were still in April and a third of the year had passed. I’m not sure how I feel about that period of the year. On the one hand, I spoke at three conferences and published some good articles. On the other, I hadn’t worked on the book or anything else in any sort of consistent fashion.

Time in Europe

In May, I left for the Balkans. I started in Greece where I visited some of the islands and then worked my way up towards Belgrade in Serbia. That’s because I was giving a workshop on unit testing at WordCamp Europe with Giuseppe Mazzapica and Thorsten Frommen.

It was a bit stressful preparing that workshop because the internet in Greece wasn’t that stellar. Working and travelling weren’t working out as well as I would have liked. But Greece is one of my favourite places, and I had a great time there.

My time after WordCamp Europe was even better. I visited Serbia, Kosovo, Montenegro and Albania briefly. The people I met were amazing, and I hit a good stride working and travelling. That whole period was the best time I’d had in a long time.

Post-Europe blues

I think it’s hard to talk about how I felt at the end of my time in Europe without bringing up the current sociopolitical climate. (Not going to go more into it than that.) The key thing about it is that I felt disconnected from it while in Europe. I dreaded coming back home where all this outrage and anger would be on 24/7 once more.

I’d already deleted Facebook off my phone by then. A specific argument on Twitter made me delete Twitter off my phone as well. I still publish things on my phone using Buffer and check for mentions on my computer once or twice a day.

In retrospect, I don’t know if it really helped to do that. I came home and what I dreaded would happen did happen. Outrage and anger were back on 24/7, and it felt impossible to avoid it.

At the same time, there was a lot of heavy personal stuff going on too. It was hard to manage everything and stay positive. So I did what I usually do in that situation, and I started playing video games way too much.

Dealing with video game addiction

This wasn’t a new situation for me. I’d mentioned video game addiction in my original year in review. I was more prepared to deal with it than I’d been at that time.

I started working out of a Starbucks in downtown Montréal. This isn’t a bulletproof solution since you can still read or watch videos about the video game you’re addicted to. (World of Warcraft for me.) But it was still better than staying home, and I was able to get a few hours of work done per day.

During that time, I’d taken a break from writing. (I’ll talk about this in more detail later.) I used that hiatus to continue working on the book. I finished editing it, and I worked on the exercises for it.

I also used the time to work on a few other things. I worked a bit on the documentation for “DebOps for WordPress“. On top of that, I translated some more of my articles into Spanish including the one for my Spanish talk at WordCamp Bogotá.

So I managed to be somewhat productive during that time. But it was a far cry from my peak productivity last year. That’s mostly because I lost the habit of waking up at 5 am and working in the morning. Instead, I was up until 2 am playing video games.

Leaving for Colombia

As I mentioned in the previous section, I had a Spanish talk coming up in Bogotá. This was my second year giving a WordCamp talk in Spanish. I hope to continue this trend of speaking at a Spanish WordCamp (or another tech conference) next year.

As usual for me, the goal of speaking at international conferences is to use that opportunity to travel. I spent three weeks in Colombia before my talk in Bogotá. This was my first time travelling in four months. (I hadn’t gone anywhere since I’d come back from the Balkans.)

It wasn’t an easy change at first. I’d been in this low point for so long. You forget a bit what it’s like when you’re not in it.

But Colombia helped me slowly climbed out of that hole. I was forced to socialize a lot more than I’d been the past few months. I did things I wasn’t good at like learning to dance salsa.

As for the Spanish talk in Bogotá, it went a lot better than my first one in Costa Rica did last year. I saw a huge difference in my ability to just both speak to and take questions from the audience. I also had a lot of fun interacting with people from the Latin American WordPress community.

Returning from Colombia

Coming home after Colombia didn’t feel as dreadful as it did after the Balkans. But I also knew that I’d only be home for three weeks. There wasn’t that much time for things to go sideways again.

During that time, I started working on the screencasts for the book. I’ve never done screencasts before, so the process is a bit daunting. I made this process even harder because I didn’t want to buy any special gear (like a good microphone) to record them.

The main reason for that is that I’d like to be able to record screencasts while I travel. And since I travel everywhere with a small backpack, I didn’t want to have to carry extra gear around. So that’s why I’m trying to create a screencasting system that’s not gear intensive. (I plan on writing about it at some point if they turn out well.)

WordCamp US

I was home for about three weeks before I left again. This time it was to go to the United States for WordCamp US in Nashville. But first, I did a small detour by Atlanta to go hang out with Tom McFarlin which is always fun. (Especially when he tweets random stuff from my computer.)

After the short stay in Atlanta, I went to Nashville for WordCamp US. Those few days were a whirlwind. WordCamp US felt a lot like a family reunion this year. I saw so many people that I hadn’t seen in so long. It was great running around and hugging (I’m a hugger) everyone.

It was also an opportunity to meet a lot of new people. But also form deeper relationships with some I knew already. (Which to me feels a lot like meeting a new person.) So that was another great aspect of WordCamp US this year.

It was also a really positive end to the year. I came home feeling even better than I did after Colombia which is great. But, even with how the year ended, I still have to make some decisions for next year.

What did I do this year?

So this was a good chronological recap of what happened to me this year. But I kinda glanced over a lot of what I did this year. Let’s go over that now.

Public speaking

As I mentioned already, I spoke at a few events this year. Last year, I spoke at six different events. That felt like a good number. It gave me plenty of opportunities to travel, but it wasn’t so many that I’d burn out if I managed it well. (Not that I managed it well as we talked about already lol)

With that in mind, I was also aiming to speak at six events this year. But I only ended up talking at five. Those were:

  • WordCamp Phoenix
  • LoopConf
  • WordCamp San Diego
  • WordCamp Europe
  • WordCamp Bogotá (in Spanish!)

I would have spoken at six, but I had to decline WordCamp Asheville. It’s the first time that I’ve had to do that, and it sucked. But the reality was that they came back to me too late and flights there were more expensive than I could afford. (It also worked out for me for other reasons.) I hope to go next year as I’d been planning to go to that WordCamp for a while.

I also applied to fewer WordCamps this year, so I got fewer rejections. In total, two WordCamps rejected my application to speak. The first one WordCamp Miami which was fair because I’d spoken at it the past two years. The other one was WordCamp US which wasn’t too surprising either since it’s so contested. (I’m already happy I got to speak at WordCamp Europe!)

In terms of talk reuse, every talk but the one for WordCamp Phoenix was new. The one for WordCamp Bogotá (where the article image is from) was a translation of the talk I gave in Halifax last year. That said, translating an article to Spanish and then rebuilding the slide deck is as much work as a new talk.

I do plan on continuing to reuse talks when it makes sense to do so. I’m very happy with the talks I did this year, so I don’t regret not reusing my talks more. That said, they’re convenient when I have speaking engagements that are close to one another. Or if I just don’t have the time to prepare one since it takes me 80 to 100 hours to prepare one.

Writing articles

Last year, I wrote 20 articles across several sites. I’m quite far from that this year. As I write this, I’ve published 11 articles including this one. I have mixed feelings about the whole thing.

On one hand, I’m a bit disappointed that I wrote fewer articles this year. Although I’m pretty sure the average article length went up by quite a bit too. I wrote quite a few more massive articles. (A massive article for me is an article that’s over 5000 words long.)

On the other, I’m really happy with what I wrote this year. That’s because I mentioned last year that I wanted to branch out my writing. I was hoping to write about other things besides object-oriented programming with WordPress. And I was able to do that this year! I wrote about:

A lot of these articles were still WordPress specific. That’s fine though! However, my plan is to branch out from WordPress next year. (More on this in a bit!)

As for the writing habit, I haven’t made any changes to it this year. With all the ups and downs that I was dealing with, I’m happy that the habit stayed ingrained even if it wasn’t perfect. Habitwise, I still focus on working on two articles at a time. And I still write a minimum of 150 words a day for each.

Subscriber survey

One of the reasons why I decided to write about other topics was because I did something new this year. I created a survey on Typeform that I sent to my subscribers. This is something that one of my favourite writers, Paul Jarvis, does. (I pretty much decided to do it because he sent me a survey lol)

The goal of the survey was to figure out how I could help my newsletter better. I was also curious about a few things. For example, I wanted to know if there was somewhere I wasn’t aware of where I could publish my articles. (The answer was no.)

Above is the email that I sent out. I found it scary to ask for feedback like that. I had no idea how it would play out. To be honest, I thought no one would answer the survey.

But people did! I got 144 responses out of 889 emails sent. That’s a response rate of 16% which I think is pretty good!

Above are the answers for what other topics people would like me to talk about. I was happy to see that a lot of people wanted me to talk about other subjects besides object-oriented programming. Those answers are part of the reason why I started writing on these other topics this year.

Taking a break to do other things

Another new thing that I did this year was taking a break from writing. As mentioned before, I wasn’t feeling great after coming back from Europe. I also didn’t really feel excited about writing anything. (Even now that I was writing about some new topics.)

Around that time, I got another email from Paul Jarvis. (There’s starting to be a pattern here!) It was his regular email telling me he was going to be offline for the rest of the summer. (He goes offline like this twice a year.)

He didn’t do this to take time off and not work. Instead, he was using that time to focus on other projects besides writing. I found that appealing because I also had a few things I’d been neglecting and wanted to work on.

Work on the book

The main one was obviously the book. I was still editing and formatting it. So I wasn’t even quite done with the writing process at that time.

On top of that, I hadn’t really started working on anything else. Well, that’s not quite true. I had done some work on the marketing site before leaving for Europe.

But I realized pretty quickly that that wasn’t the work that I needed to be doing. You need a marketing site when your book isn’t close to done. I was just using it as an excuse to avoid working on what I really needed to be working on.

And working on what I really needed to be working on is what I wanted to try to do with this break. I wrapped up the editing of the book. I also started working on the exercises for it.

DebOps for WordPress

I also used the time to catch up on issues with “DebOps for WordPress“. This is an open-source WordPress server configuration tool that I built with Ansible in 2015. I’ve been working on it on and off since then.

The first thing I did was to test and fix issues so that I could support the latest Ubuntu LTS version. This is the Linux distribution that I built “DebOps for WordPress” for. (DebOps itself is designed for Debian.) These new LTS versions only come out every two years so adding support for them is important.

I also took some time to write some more documentation for the project. Writing documentation is often not something we expect to do to maintain an open-source project. But the reality is that a lot of the work on a good open-source project is writing documentation.

We like it when an open-source project has great documentation. It’s something that we look for when we evaluate projects. (At least, I do!) Well, someone has to sit down and write it. And that person is more often than not going to be you.

So this is all to say that I wrote more documentation for the project. Essentially, I was behind on writing documentation to support other cloud hosting providers. (I mostly use DigitalOcean.) So I tested and wrote guides for Linode and Vultr.

Create a backlog of articles

I also kept writing articles during the break. I wasn’t super consistent about it because that wasn’t the main goal of the break. It was a just a way for me to create a bit of a backlog so that, in theory, I could hit the ground running in September. (It’s in theory because I’ve only published 3 articles since the end of the break if we exclude this one.)

It was also nice because it let me think about what I wanted to write next. As I mentioned at the beginning, that was part of the reason why I took a break. So I had two months to figure that out without putting too much pressure on myself.

On top of writing English articles, I also worked on translating some more articles for my Spanish subsite. I hadn’t been very good about it. The only issue is I still haven’t published the articles I translated. (I should do that!)

What did I think of the break?

Overall, I felt taking a break was pretty beneficial. I’m seriously thinking of at least doing it once a year. Paul also takes one during the holidays, but that’s when I write my year in review so I’ll see about doing that. (#priorities)

However, I have to also be honest and admit that it wasn’t as beneficial as it should have been. Sitting down and writing articles is a well-ingrained habit now. I can just sit down every day and be sure that I’ll have done at least one productive thing that day.

Working on these new tasks wasn’t like that. I needed to motivate myself more to do them, and I was much more susceptible to distractions. And distractions are easy to come by when you’re addicted to video games like I was.

Audience numbers

So this wraps up most of what happened this year. Now, it’s time to look at and discuss the audience numbers. Audience building is the main goal of what I do right now. It’s what I hope can translate to an ability to sustain myself without consulting income in the future.

There are two metrics that I use right now to evaluate my performance in that regard. (It’s the same one as the other years still.) The first one is web traffic since the main thing that I do is write articles on this site. I want to know if what I write is reaching more people over time.

The second one is newsletter subscribers. The number of newsletter subscribers is how I judge whether I’m building an audience or not. That audience is key because it tells me that people care enough to give me their email.

But I also want to build stuff to help them and you. That’s how I want to sustain myself in the long term. And that’s tricky if I don’t have a good channel to reach them.

Web traffic

Web traffic is always pretty easy to look at. All you need to do is go to the Google Analytics console. Below is a look at my website traffic this year compared to the previous year.

So this screen is pretty similar to the one from last year. The things that were green last year are still green this year. The things that were red last year are still red this year.

What stood out for me was that pageviews have continued to slow down. I was only up 13.89% vs 31.33% last year and 98.80% the year before that. Could it have been higher if I’d written as many articles as last year? That seems likely.

Traffic acquisition

We can’t really talk about traffic without also talking about where that traffic came from. Last year, we saw a lot of growth in organic search and a bit of growth for social and direct traffic. This year, things are quite different.

As you can see above, organic search now dominates everything. It’s also the only traffic source that grew this year. Everything else is down with social media taking a huge blow.

It’s pretty obvious why social media went down a lot for me this year. I wrote fewer articles, so there was less to post on social media. I also started writing articles that weren’t WordPress related.

This last one is important because, as you can see above, a lot of my social media traffic comes from Facebook. Specifically, it came from the Advanced WordPress group. (This was also confirmed in the survey I sent out.) But if I write less WordPress content, then that removes one of the largest drivers of traffic outside organic search.

Top articles

I also like to look at what my top articles were for the year. It’s a good way for me to see what’s the content that I’ve written that’s evergreen. Here are this year’s top three most viewed articles:

The first article on PHP strings has been on my top articles list since I started doing it two years ago. The really interesting thing about this article this year is how popular it’s become. It’s more than double traffic since last year when it was also my most viewed article. It now accounts for 12% of all the pageviews for the site which is pretty crazy.

The second article is a new entry this year. While it’s another PHP article, this is actually a companion article for a talk that I gave at WordCamp Los Angeles in 2016. It was my first attempt to discuss computer science concepts (functional programming in PHP) at a WordCamp.

The last article was at the same spot last year. This was the first real DevOps article that I wrote. It was a WordPress article but mostly focused on the concept of automated deployments. But I wrote a lot more DevOps articles this year, and I expect one of those will be more popular next year.


Alright! Well, that wraps up what happened with the site traffic this year. Next, let’s look at newsletters subscribers.

ConvertKit added a lot more new analytics screen this year. This is the standard one I used to analyze the previous years. At this time, I have 994 subscribers, and I added 305 subscribers this year.

This seems like a pretty good thing on paper. I had 822 subscribers at the same time last year so that would be a 21% increase in subscribers. But the reality isn’t quite as good if we dig into these numbers a bit more.

First of all, I gained fewer subscribers overall. Last year, I’d added 413 subscribers, so that’s a 26% drop. This would be a lot more apparent if I’d done the yearly newsletter cleanup that I usually do.

No newsletter clean up this year

Right now, I have 262 subscribers that ConvertKit considers cold. Cold subscribers are subscribers that haven’t opened an email or clicked on a link in over 90 days. Last year, I had 212 of them, so that’s 24% more than last year.

The previous year I would contact these subscribers to see if they were still interested in getting emails from me. They would have a link to click which would remove the cold subscriber status. If they didn’t click to stay in the newsletter, I would delete them after two weeks. (Last year, 23 of them clicked on the link.)

My reasons for doing that were simple. First, it kept my cost low since ConvertKit is the priciest service that I pay for. Second, it made sure that my newsletter only had engaged subscribers in it.

Over the years, I automated my newsletter more and more. Someone who subscribes to it will receive emails during a period spanning more than 40 weeks. During that time, they won’t receive that many emails that I expect them to act on right away.

I also don’t know if I should expect them to read one article a week from me. They’re super long articles that are, for the most part, timeless. Because of that, I’m not quite sure how to evaluate that relationship with my subscribers now.

The other thing is that I want to maximize my reach when the book comes out early next year. I’m not sure if these cold subscribers will stay cold when I start emailing them leading up to the launch. So that’s another reason why I decided not to do my yearly newsletter clean up.

Still isn’t really working

Last year, I mentioned that I didn’t feel what I was doing was working anymore. My newsletter wasn’t really growing that much. (You could argue the same this year as well.) I had a couple of ideas in mind on how to help with that.

I wasn’t able to act on most of them due to how this year played out. I didn’t try new teaching methods although it wasn’t that big of a deal according to the survey. I did manage to talk less about object-oriented programming which I’m happy about.

I didn’t make any of the incentive changes I wanted to do. I mostly focused on building an automated evergreen newsletter. I also made sure that I was doing a better job tagging subscribers.

With this mostly done, I plan on working on better incentives next year. I’d like to maybe offer downloadable code samples. I also want to revamp the little header bar that appears as you scroll down so that I can put different call-to-actions in it.

I’m feeling bored with WordPress

So, on top of things still not really progressing, there’s another thing that I’ve come to realize this year. It’s that I’m pretty bored with WordPress.

Now, I have to be specific here. I’m not bored with the WordPress community. If anything, it’s by far what I enjoy the most in what I do. The WordPress community is unique in a way that is impossible to put in words.

No, what I’m bored with is WordPress, the open-source project. This year has all been about Gutenberg and WordPress 5.0 which came out a few weeks ago. But over the last few years, the project has felt pretty stagnant to me. The last big cool developer feature was the REST API.

But isn’t Gutenberg and its use of React and JavaScript a cool new developer feature? I think it might end up being for a lot of WordPress developers. I’m just not one of them. JavaScript simply doesn’t bring me that much excitement right now.

On the PHP side of things, I’ve taught a lot of what I wanted to teach to the WordPress community. There are a few leftover things with object-oriented programming. I also want to write a bit more on different types of testing as well as setting up continuous integration workflows with them.

What I was doing before

In the past, when I got bored with a job, I’d just quit and go backpacking for a while. I’d then just come home and find a new job in a career in a new field. This helped me keep boredom at bay for a while. (I’ve repeated this a few times.)

But this pattern doesn’t work in my current situation because I already get to backpack for a good part of the year. If anything, now my issue is making sure I don’t burn out from travelling. (First world problem I know!) So I’m not going to travel a lot more than I have already this year.

The other thing is I don’t have a job to quit either. I’m the one in charge of what I do and no one else. I assumed that if I did that, I wouldn’t get bored anymore.

But, as I’m learning, I can still get bored. However, since I don’t have a job to quit, it’s up to me to fix this situation. I’m just not exactly sure how right now.


One option that I’ve been thinking about is slowly starting to write more about Laravel. There’s a lot of things that I feel I could teach the Laravel community. Also, it could be interesting to talk about how a WordPress developer can transition to a Laravel developer.

I’m working with someone to help them fix issues with a medium-sized Laravel application. I’m also to going to help them implement a testing and continuous integration workflow. (Probably with CircleCI.) These are all great topics to share back to the Laravel community.

I’m also excited to work with a framework again. While I have a special place in my heart for Symfony, there are just a lot more people interested in learning about Laravel. And Laravel does do some cool stuff right out of the box that Symfony doesn’t.

Speaking at PHP events

Whether I end up writing about Laravel or not, I’d like to do more things in the larger PHP community. That’s why I’ve already started applying to speak at PHP conferences next year. I tried for Sunshine PHP, but didn’t get in. (It’s a hard conference to get into.) I also applied to Longhorn PHP and the Dutch PHP Conference, but haven’t heard back yet.

I will probably try for one or two more events in the fall next year. I’ll have to balance them with WordCamps. That’s because I doubt these events will replace WordCamps for me.

But maybe they’ll help me find something new that really passionates me. And there’s also nothing wrong with getting some exposure in the larger PHP world. I might not end up there, but I won’t know without trying.

What about the book?

If I’m bored with WordPress, what does it mean for the book? Well, I’ve been talking about the book a bit already. I was hoping to finish the book this year, but, due to how the year played out, that didn’t happen.

The only major piece left for me to do is the screencasts. I started those a bit before WordCamp US, but it hasn’t been going that fast. I also had to redo them after getting useful feedback from my newsletter subscribers. (Thank you! <3)

So once I’m done with the screencasts, I’ll be pretty much done. The other parts like the marketing site are mostly finished. So it shouldn’t take very long to wrap everything up once I’m done screencasts.

Why is it still not done?

This is almost a ritual at this point. Every year, I reflect on why writing this book has been such a hard thing to do. I’ve been on it for years now.

Part of the issue this year is that everything took a hit. So that’s one thing I can use as a reason why I didn’t finish the book this year on. But really this has been going on for a while.

In the beginning, I wasn’t writing it because I needed to grow my newsletter. Then I slowly started writing it. It’s only last year and this year that I made solid progress on it.

Converting the book from markdown

At the end of last year, I still didn’t know how I’d convert the book from markdown. This bummed me out for a while. But I eventually reached out to Adam Wathan. He gave me access to the application he built to convert his book from markdown.

I used what he did as a basis to write my own application using Symfony. (His was with Laravel, but I wanted to play around with Symfony flex.) It felt amazing to be able to turn what I’d written in markdown into a beautiful PDF. I definitely plan on writing on how I built that application next year.

After that, I felt a lot better about things. Working on the exercises was a lot of fun because I was writing code and hacking a custom version of PHPUnit. It felt nice to be able to do that for a change.

When I finished the exercises, the only thing left for me to do was the screencasts. But I hit the same issue with screencasts. I’m just not super motivated to work on them. This means that the progress has been slow.

This is disappointing

Overall, this has been a bit of a disappointing experience for me. I’ve said it before, but I felt that my enthusiasm and habit for writing articles would translate well into writing a book. It hasn’t felt that way at all throughout this whole experience.

I’m not sure if it’s a question of mismatched expectations or not. I thought things would be easier because I was used to writing articles a lot. It might not have been ok for me to assume that.

Writing a book hasn’t felt as interesting as writing articles. I’m not sure if it’s because I took too long to write it and I lost some interest in it. Or if it’s because it’s actually something different and I shouldn’t try to see writing an article and writing a book as the same thing.

I’m hoping I’ll have better insight on that next year. I feel writing books would be a good way to make a bit of money. So it would be good if I could make this an easy thing for me to do.

Financial matters

And speaking of making money, it’s time to discuss my personal finances. An important thing that I point out each year is that all the numbers that I give are in Canadian dollars. So you should keep that in mind whenever I mention “dollars” since most of us (including myself) think of American dollars when we hear it.

Where am I sitting financially?

I like talking about the money in my bank account each year. Mainly it’s because I just have one bank account that I use all the time. So it’s really easy for me to get a snapshot of where I am based on that. (I don’t have any debt.)

So at this time last year, I had $10,436.03 in my bank account. Right now, I’m sitting at $10,343.53. (I’m fudging the numbers a bit for obvious reasons.) This comes down to a net loss of less than $100.

I’m overall very happy about these numbers. I haven’t had a great year, but I managed to keep my finances together while still travelling quite a bit. I would have preferred to make a profit, but this isn’t bad.

Where did my money go?

So I need to track where I spent my money for tax purposes. Most of my expenses fall into three categories. You can see the breakdown below.

Travel: ~ $12,000
Software (with phone): ~ $3,200
Rent: ~ $9,900

While I travelled about as much as last year, I spent about $3,000 less. One reason for that is that I travelled to less expensive destinations than last year. (For example, three weeks in France is expensive!) So this reduced my travel costs quite a bit.

On the other hand, my rent went up quite a bit compared to the last few years. This was due to a lot of unforeseen expenses for the apartment that I had to cover. I’m hoping this will go back to around $8,000 next year.

My software expenses also went up quite a bit too. But even if those expenses went up about 50%, they’re still quite small compared to the other two categories. But I’m going to keep an eye on it next year.

Where did the money come from?

Next, we have to discuss income. Calculating my income is always more complicated because I make a mix of Canadian and US dollars. I’m always looking to make more money in US dollars because the exchange rate is so good.

Last year, about 30% of my income was in US dollars. This year that dropped to about 18%. This is mostly because I finished the project that I was doing with Tom McFarlin. That project had been the main source of US dollar income last year.

But let’s talk numbers now. I estimate that I made a bit more than $31,000 this year. It’s about $2,000 more than last year. So I’m still hovering around the same income as the previous years. (I made $2,000 more two years ago.)

I still make all my income from consulting. I’m hoping that I can finally stop saying that next year finally. The income sources have also reverted back to mostly a single source of income.

Global Voices

My main consulting client is Global Voices. They accounted for three-quarters of my consulting income this year. This is an increase from two thirds last year.

For those who haven’t read my previous reviews, Global Voices is non-governmental organization. They do citizen journalism and have websites in more than 40 languages. All these websites use WordPress.

What do I do for them? Well, I do pretty much anything they need me to do. This means everything from the server infrastructure to developing frontend code.


The last quarter of my income came from a few different sources this year. ProductPress, the plugin that I developed with Justin Jackson four years did a handful of sales. So I’m not really counting them this year.

Most of my extra income this year came from small consulting gigs. I had about $4,000 left outstanding from my project with Pressware. I did maybe another $700 in bug fixes for the project. Another $1,400 came from some sysadmin work doing a small review o the Amazon Web Services infrastructure of a Laravel application.

Another $700 came from doing code reviews with one person. Code reviews aren’t something that I advertise. But I’ve done it for a few people over the years if they reached out about it.

Thanks again

As I look back on everything, 2018 definitely didn’t play out as I’d thought it would in 2017. But it’s not realistic to expect every year to be better than the last. Sometimes, you have to deal with setbacks.

But, like every other year, I have to thank you and everyone I met this year. This is always the highlight of my year whenever I think about it. And this has been no different.

I’m still not where I’d like to be. That said, I wouldn’t have gotten this far without you. I hope that this year was more of a slump than a new normal, but that’s something that we’ll have to see 2019!

Creative Commons License