The Mijingo Blog

Latest news, updates, free tutorials, and more from Mijingo.

Powering Mijingo

by Ryan Irelan

For the last 18 months I’ve been selling video and ebook tutorials here at Part of Mijingo is my EE Insider news website (covering news and information about the ExpressionEngine CMS), the ExpressionEngine classroom training course I teach at the request of organizations who have internal teams that need to learn ExpressionEngine, and the ExpressionEngine book I wrote and published with The Pragmatic Programmers.

Running a business like this requires several different tools working together to make it happen so I don’t have to spend time doing tedious manual work and can actually use the time I have to create the learning materials and generate revenue for the business.

I’m the only one running this business. It’s just me. I don’t do Mijingo full time, so I don’t want to waste time doing tasks that can be automated or are better suited to a tool or software built by someone else.

Some tools I have used since I started publishing tutorials in 2008, others I’ve abandoned along the way in favor of new tools, and some I’m only just trying out.

Here is what I use to power Mijingo.

E-commerce: FastSpring

In August 2010, I launched as my storefront for training materials. This marked the release of my new ExpressionEnigne video series and shortly thereafter an ebooklet by Mark Huot. Prior to that launch, all of my videos were sold through the wonderful people at The Pragmatic Programmers. They handled all of the e-commerce, order fullfilment and downloading.

Since I was now selling the videos myself, this was all on me. As part of the launch I had to handle everything from product listings, shopping cart, checkout and payment processing and fulfilling the orders with downloadable files. Sounds simple, right?

My main goal was to sell screencasts. Building a custom e-commerce system would’ve been nice but not a good use of resource at the time. That’s why I chose FastSpring as my e-commerce provider.

FastSpring is a full-service e-commerce system that can power your store and host your downloads. It was just what I needed. Why did I choose them? I saw that Loren Brichter of Atebits (now part of Twitter) used them to sell his popular Tweetie app. I guessed that if he used them then they paid on-time. That’s all I cared about. That was good enough for me.

With FastSpring in place, instead of spending a few weeks putting together my own e-commerce system I spent the time creating a simple site and a couple of products. And then I started selling them.

A year-and-a-half later, I now realize I need to update the e-commerce system and move to something in-house. I want more control over the features and functionality. I want to keep more of the money.

FastSpring won’t grow with me in terms of what it costs to use the service and sending all of my customers to a different site to finish their order. I want to try to unify the experience as I think about building other ways for customers to access the videos beyond just downloads.

I don’t regret my decision to use FastSpring in the beginning. It mattered a lot that I focused on creating products and generated revenue for the business.

Project Management: Basecamp

I’ve been using Basecamp since it first launched. I use it every day at work and for Mijingo. I don’t take advantage of all the tools offered in Basecamp (like to-do lists) but like that I have one central place to communicate about projects and interact with authors.

Previously, I experimented using Google Docs and Google Sites for an intranet. It didn’t work for what I needed. I also tried using 37signals’ Backpack service. It was just too limited and expensive for the setup I needed compared to a basic Basecamp account.

The new Basecamp that was recently launched by 37signals fits better what I need to manage my small projects. The new single page project is exactly right. I immediately moved all my projects over to the new Basecamp. I gladly give them my money every month.

Outreach and Community Service: Campfire

Since September 2008 I’ve hosted a weekly ExpressionEngine Help Chat. The one-hour public chat is free and gathers together people who are new to ExpressionEngine and those that have a lot of experience. It is an open forum to ask questions, get help, learn about new tools and ideas and chat about whatever comes to mind.

I host this chat using the Campfire service by 37signals. I chose Campfire because it’s easy to use, can be used in a web browser and allows guests. I rarely use Campfire for anything else at Mijingo. But running the EE Help Chat is more than worth the annual cost of the service.

Customer Support: Google Mail

When I first launched in 2010 I needed a way to handle customer support. I really didn’t have any experience with customer support systems. I didn’t know what I needed and I didn’t know what was available.

One of the tools that I did hear about was Tender. Tender is an online-/email-based customer service tool. It allows you to handle support requests as public or private tickets. I really liked Tender but it became too much work for me to manage the support tickets. Most of the time all I needed to do was reply to an email with a short snippet of text or to let someone know that I reset their download URLs for a purchase.. Using Tender in this way became too much of a hassle for me so I canceled.

I was having an iChat conversation with Garrett Dimon (he created the bug tracker Sifter) and we are talking about different customer support tools. Garrett said that if it’s just a single person doing customer support then there’s no reason you can’t use just email. Plain, old, boring email. He was right!

So, I moved my support to a simple email account. I have a form on my support that generates an email. No fancy ticketing system necessary.

Video Production: Final Cut Studio, iShowU, Screenflow

The original launch of was on a tight budget, so I needed to produce the videos using tools that I could acquire for as little money as possible. When I did my original screencasts through The Pragmatic Programmers, I only had to record the video and audio using iShowU. I sent the raw videos over to the publisher and my friend Mike Clark was in charge of putting them together into the final product.

Doing the videos on my own meant that I was now responsible for all of the production work.

For the first series of videos I did over the Summer of 2010, I recorded the video and audio using iShowU and then edited them together in Screenflow. At first this seemed like a good idea but I quickly hit the limits of Screenflow with the amount of small edits I had to do. I also experienced a difficult time exporting the videos and at one point I thought I wouldn’t be able to launch on time.

With my lesson quickly learned, a couple of weeks after launch I purchased a new Mac Pro and a copy of Final Cut Studio. Eventually adding a second cinema display, I now had a machine and software powerful enough to handle the video editing tasks.

Both purchases were expensive but were directly funded from screencast sales and immediately put to use to create more screencasts. I still use the software and hardware today to create training videos for Mijingo.

Invoicing: Harvest

Since Mijingo is mostly a product company, I don’t do much invoicing. There are two scenarios where I do invoice: after a training class and monthly for advertisers on

For the invoicing I’ve been using Harvest. It’s a great service for time tracking and invoicing. At Mijingo I’ve only ever used the invoicing feature. There are dozens of other invoicing apps out there but I like Harvest. It’s simple and fun.

For advertisers I have recurring invoices set up that I send every month when it’s time to renew an ad run. The advertisers get a nice email with the invoice and can pay via PayPal with one click.

Code Hosting and Deployments: Beanstalk

There’s not much more to say other than I love Beanstalk. I store the code for all of my websites there in Git repositories and use their deploy tool to push changes out to my server. I like Beanstalk because it’s serious about version control, a good experience and realiable deploys. It doesn’t try to be social or cute. It doesn’t try to pretend to be my friend.

Each site has two server environments set up: production and staging. Typically, I’ll have automatic deployments set up for the staging server (triggered by a git push) so I can quickly test out updates. Deployment to production is a manual deploy.

Web Hosting: EngineHosting

EngineHosting handles the hosting for everything I run online: my personal site, EE Insider and Mijingo.

I’m running on their new, snazzy, virtual server clusters and it’s really good. This site recently got fireballed and the site barely slowed and was never unavailable. I didn’t even have to switch over to a static file I created just in case.

The people at EngineHosting are smart and helpful. I can’t recommend them enough.

Finances: Quickbooks Online & CPA

Let’s get this out of the way: I hate QuickBooks. But the more I use it the more I realize how powerful it is. This was especially true during tax time when I had to gather numbers for my accountatnt. Click, click, click. There we go. Before QuickBooks it would take me hours to retrieve the same information.

Speaking of accountants: get yourself a good one. I found my current accountant through a referral from a friend that I trust.

An accountant won’t necessarily be inexpensive. What I pay my accountant to do my tax return (personal and Schedule C for my LLC) costs me the equivalient of about 5 hours of my time. It would take me and my pea brain much longer than that to do the tax return myself and I wouldn’t be making decisions or asking questions that are best for my business.

Paying a CPA to do your taxes is expensive but it’s not just about the tax return. It’s about the relationship. You never know when you’re going to need that person’s advice on something important. I’d rather have that relationship than not.


Get a good attorney you like. Don’t just pick one out of the first page of Google search results. Get a recommendation from a friend or another business owner. I asked a friend here in Austin for a referral. She asked her family attorney for a recommendation. This person put me in touch with someone she trusted that did small business law. My attorney is great and I’ve even recommended him to the friend who recommended to me the accountant. We’re even now.

Up until this point I’ve only used my attorney for incorporating in the State of Texas. But just like with an accountant it’s all about establishing the relationship. When you find yourself in need of advice, you’ll be glad you have someone you can trust.

So, that’s it. Those are the ins and outs of how I run Mijingo. Of course, the biggest part of running Mijingo is my time. A lot of it.

Filed Under: Behind the Scenes