I always have a few side projects on the go. Right now, I’m working on two side projects. You’re using one and I hope you’ll soon start using the other.

Changeakid

When I was getting ready for the arrival of my daughter, I knew that a lot of things would change. I didn’t realize that my relationship with bathrooms was going to be one of them.

This web app was built out of several problems that Lauren and I had finding a suitable place to change her. As we’ve progressed through the (sometimes) wonderful (sometimes shitty) world of potty training, we’ve been modifying the app to make it faster and easier to use during a tantrum.

Technically speaking, I wrote Changeakid in Django. I chose Django because I get into a really good flow when I work with Python and Django would save me about twenty hours to MVP compared to Go frameworks. As people have started using the app and given their feedback, I’m starting to realize that there would be advantages to going full native, so I’m beginning to wish I had gone with a DRF/Javascript heavy front end because Cordova would be a fuck of a lot easier now than a rewrite.

Changeakid is in private alpha. You can likely find it, but I’ll link to it when I release into beta.

Current tasks:

  • implement panic button.

A more static WordPress theme/plugin/???

This site ran Jekyll behind the scenes for a long time and, to be honest, I loved every single thing about it. It was fast as hell, completely built around tools I feel very comfortable with and incredibly easy to host and scale. But, when I tried to show clients Jekyll, the reaction was always along the lines of ‘there is no chance I could ever use this.’ I understood so I showed them other static site generators but the reaction was always the same.

So, I went back to WordPress but always thought about my experience with static. For awhile, I thought about the rest API and all the opportunities that gave to use WordPress as a CMS but serve it with something different. But then, I started thinking about using WordPress, but just trying something different with themes.

This theme is the product of that second line of thinking. Most of the content on the home page is hard coded HTML in the template. I put it there with a sketchy plugin that generates static content. I’m working on making it a little more reliable/possible to use. When that’s complete, I’ll release the source code. Depending on how well this works, I think there are lots of other opportunities to use some of the ideas that make static site generators so good within WordPress.

Why am I doing this?

First, I love WordPress and this project has been a great way to get deep into the mechanics of how WP creates pages. Second, I have seen way too many cases where marketers deploy new web sites and start implementing content marketing strategies. Some of their content goes viral and their new web sites slow down (or go down) under the load. This phenomenon is so common it has a name – the Reddit (or Hacker News) Hug of Death.

When you dig deep into these scenarios, you see some common themes. They use shared hosting or poorly tuned virtual servers. Their website runs a database driven content management system. And they run into a situation where their server gets requests faster than their processor can send responses. What would happen if you used the same content management system, but got rid of 25% of the database queries and cached another 50%?

I don’t know, so here we go. As I mentioned, I’m doing a lot of performance testing and running all sorts of monitoring tools on my server. I know that content marketers need to get better at testing their sites before they implement content marketing campaigns. But, I also know the industry needs to think about scalability at the theme level as well as at the ops level.

The scary thing about this is that I keep coming back to the fact that Microsoft Front Page might be the last accessible static site generator. The more I think about that, the more I think about all the amazing clients who really don’t need databases or comments or plugins. They just want to put a simple 4 or 5 page brochure website with their address, some information on their company and a couple of pictures. I hate feeling like I should recommend technology from the 1990s.

If I ever blog “I’m writing a simple static site generator”, please intervene and stop me before I waste a decade.

Current tasks

  • Fix the sketchy, incredibly unreliable and nearly impossible to use tool that takes content from a WordPress page and writes it to a template file.
  • Implement static menus.