Archive for category Uncategorized
Creating a product in 180 days
Posted by Andrew McGrath in Uncategorized on February 1, 2013
Creating a product in 180 days is something I see come up from time to time. It seems to be this nice spot in between enough time to prove a idea is worth working on and just short enough of wasting your time with a bad one. I’ve been building Checkout 51 with Pema and Noah for 26 weeks today (that’s 182 days) so I thought it would be fitting to do a short write up.
So to keep it short, here’s my highlights:
- OMG beta group. If your product doesn’t have one, get one, these people are amazing! Would you believe a completely random person you’ve never met before would meet you in a coffee shop to install beta versions of your app? I guess I shouldn’t be surprised, but I am constantly shocked by how helpful they are to our business. We have a beta group of 1000 people who continue to get special treatment and early access to features. The number of times these people help us out by providing great insight into how people want to use our product, defend us in forums and reply to our users questions on Facebook / Twitter (sometimes before we get the chance to) continues to amaze me.
- MVP does not mean half-assed. So often you push something out early to simply see if it sticks, but even if your idea is great its all lost in a bad user experience. Our second full time hire was our designer Bryan. We wanted design to be part of our DNA. Bryan knows UX, and his handy work helps us provide a simple user experience that anyone can use. We delayed launching a few times, discussed if we were growing too slowly but ultimately held back to polish the product. We’re now reaping the benefits with great growth and some very happy users. The biggest complaint we get is now “When is this coming to Android?”. It’s a good problem to have, and one we’ll soon address.
- Not everything should be solved with code. As a technical person, you often want to solve a problem with code, but sometimes that is wrong. When we found that a lot of receipts needed manual review and could not be automatically processed, after some great TV coverage, we were a little worried. It was going to take at least a week of coding to improve our systems to deal with these issues, and even then, how many more problems like this would we run into? We instantly went out and hired 4 amazing people (seriously, I hired 4 people in 4 days) and continued to deal with these issues manually, but with a larger workforce behind it. This allowed us to focus on the bigger issues at hand, like how to grow members quickly, make brands love us and provide an even better user experience. We’re constantly refining our processing tools, and while almost all of our data is automatically processed, we’re able to great an amazing user experience by adding a human element, so why not?
- Hiring people should feel natural, but not easy. I’ve been lucky, 4 of the 7 I’ve hired I used to work with and had wanted to bring onto the team all along. I was just waiting for the right idea that they would be interested in so we could work together again and make something truly great. Having said that, not all hires are easy and it only gets harder. We’ve had to take longer routes to get the right people for other positions. This is just a great reminder that we have some great people, and if we’re going to have the best team and execute properly, we’ll need to keep them engaged and continually excited to be part of the team. This is going to be a big challenge, but again, a great problem to have.
- Focus. I was working on Verelo before Checkout 51, Verelo has since been sold to Dyn.com. It’s so distracting having another project running at the same time when you are onto something big. If you’re one of these people with 2,3,4 or more ideas going at once, STOP. Stop right now, pick the best idea and focus, or kill them all. Focus on one thing and one thing only! I can’t stress this one enough…
- Great founders. You need people you can trust to do a great job, people who you do not need to check up on. I believe one of the biggest reasons the three of us make great co-founders is because we compliment each others strengths and this isn’t our first shot at making a company. We’ve seen what it takes to turn an idea into a product and how to get users before, this doesn’t feel new, it feels like we’re carrying out some kind of routine exercise and we’re simply going through the motions. It feels odd saying this because normally I would call it a lie, but the truth is I feel our team could take on any problem. The big difference I see in Checkout 51 is that its not a fake story to capture the attention of investors, we don’t need every tech blog to write us up every chance we get just to continue to grow / stay hip and we are only focused on real work that contributes to making a great product. It’s actually working, I wish i could share our numbers in public because they’re just amazing.
There have been a lot late late nights, a lot of code, a lot of “I’m going to be home late” text messages but this is working. I cant wait to write the 1 year update.
Understanding My Sleep
Posted by Andrew McGrath in Uncategorized on January 19, 2013
I’ve always had a love / hate relationship with sleep. I love sleeping, yet I seem to do so much to avoid getting enough of it and often end up trading it in for additional working hours.
While this post isn’t an app review, I’ve been using an app (Sleep Cycle) to track my sleep and have really enjoyed reviewing the results and seeing how I can use them to better understand myself. The period of time I’ve had the app has been a very intense time in my life. To sum it up…
- Amanda and I Moved. Apartment hunting, packing, moving trucks, updating addresses…it’s really no fun.
- Decided to stop working on Verelo. Fail fast right?
- Joined forces with two of the greatest people I’ve ever worked with and founded Checkout 51.
- Sold Verelo to Dyn.com to payback our investors. Selling a company is complicated and stressful but also very rewarding.
All of these events have been intense and required a lot of energy. I’ve had to balance the deadline of moving with goal of releasing great software, learn what it means to release an iOS app (that’s used by many thousands of people) and build / hire the best people I’ve ever worked with (We’re still hiring by the way, so drop me a note if you’re interested). Its been an exciting time that I’m sure i’ll look back on one day with a lot of mixed emotions.
During this time, i’ve been tracking my sleep and have gained a lot from the results.
1. Time in bed
I think this is probably the most interesting graph as it clearly shows some very particular events. The first dip around 12-9 to 12-16 was the release of the Checkout 51 iOS app. There was a lot of work leading up to this, and shortly there after to support scaling certain elements of the technology around it. As the graph shows, the short sleep periods lasted for a while but recovered pretty much around the 25th of December.
Just last week I was sick, while i spent a lot of time lying down, i certainly wasn’t sleeping very well and the little dip just after 1-6 shows the disruption.
The interesting part in all of this is that I’ve always felt that for me 8 hours sleep is what I need. I probably need to layer over my Github commits to confirm this, but I’m confident that my best work happens during the periods where I can sustain 7-8 hours sleep / night.
2. Time went to bed
This one really just shows a strong relationship with the total amount of sleep i get per night. Again you can see the late nights that were regularly happening to get the Checkout 51 mobile app done and a bit of a dip into pre-midnight bed times when I was sick.
3. Time in bed per week night
This is my favorite graph. I always find Monday and Tuesday to be my worst week days in general. Call it a case of the Mondays if you want, but i find myself bombarded with issues that are time sensitive at the beginning of the week. I’m not exactly sure what I’m doing wrong just yet (this is a great place for some ongoing improvement), but it always seems that I end up paying for trying to relax on weekends. By Wednesday things are always in better shape, and I’m getting the optimal amount of sleep and feel that I’m more easily making progress on my to do list.
So what?
Good question. So, other than that $0.99 can provide you with an interesting app, I think it’s fairly obvious that I’m the kind of person that needs around 8 hours of sleep / day. When I don’t get this sleep, i know my work suffers however its also clear I can make short term exceptions when needed to get things done.
The goals I’m setting myself now are:
- Get to bed no later than 11.30pm (Sunday-Thursday…we all need to have a little weekend fun right?) as much as possible
- Get between 7.5 – 8 hours of sleep every night (no more, no less)
I think if I can accomplish these two items, I’ll get more done and live a much happier / healthier life.
Preventing Parking Tickets in Toronto
Posted by Andrew McGrath in Uncategorized on October 15, 2012
At the start of this month Amanda and I moved from our house at Keele and Annette over to our new place on Ellsworth Ave in Toronto. For us this is a great move to a nice tree filled street in an area just steps away from some great places to eat, drink and hang out with friends. Its also pretty close to the subway, so in general life is great!
The only downside to this move has been the loss of a private parking space. We used to have a garage around the back, and street parking was free at our old place. While normally I just parked in the garage, if i did park on the street, on the West side of Keele you can park any time except between 7am-9am and 4pm-6pm during week days on the East side you are only restricted at 4-6pm on week days (both sides are unrestricted on weekends).
At our new place, the street rules are insane. Seriously, they’re at the point where I feel that city is doing everything in their power to cause confusion and drive up ticket revenue.Heres a run down of the situation
- Firstly you need a permit, no big deal, pay around $60 and you’re good for a few months. However…
- During April 1st – November 30th, on the 1st to the 15th of the month, you have to park on the SOUTH side of the street.
- During April 1st – November 30th, on the 16th – end of the month, you have to park on the NORTH side of the street.
- During December 1st – March 31st, you can only park on the south side of the street.
Sounds reasonable right? Well honestly it is, but check out how its signed…

Less than clear parking rules on Ellsworth Ave Toronto
As I have a “parking permit” i can ignore the 1h parking signs, but seriously, could this not be signed in a clearer way?
So i had to do something about this! Last night I stayed up a bit late and decided to write up a simple program (that i’ve shared on Github) that tells me where I can and cannot park, and then added it to a cron that runs at 5am every morning. The output is a SMS to my phone that looks a bit like this…

I’m planing on sharing this with everyone in my street, no doube they, like me, easily forget when they need to move their car.
Observations of a mad man
Posted by Andrew McGrath in Uncategorized on July 9, 2012
I am an Australian, but I live in Canada these days. Its been a while since I lived in Australia, and it doesn’t really feel like home any more so I’ve been making observations of things that stand out to me now I’ve been away for a while and writing them down. A lot of these are an attempt at fair comparisons to where I live today, in Toronto, and where I’ve been visiting. Without further delay…
- People seem less stressed, there must be more to life than work. Are they actually less stressed? I can’t tell…
- Service in cafe’s etc is different, I enjoy not tipping but its a bit confusing when you enter a place and don’t know if you order at the bar, or if they come to you. At the end, if you have not paid…should you wait for a bill or go and pay at the counter?
- Myki is amazing but people still complain about it. Maybe the TTC has actually put some thought into keeping tokens around?
- Young women have nice hair, their mothers seem to have weird perms. Are they acting like Peacocks and trying to attract men? Will they give up like their mothers when they get older? That would be a shame.
- Coffee is much better.
- Melbourne’s transit infrastructure is confusing as it uses interlining, but it is a lot easier to get around on and covers a much larger distance once you’re comfortable with it.
- People in cafe’s are talking about life, not business. They seem interested in the conversations.
- Houses are cold, showers don’t have shower curtains all that often. Why?
- Wifi is hardly ever free. Am i just visiting the wrong places?
- The streets seem very clean, in much better condition. Yet graffiti is everywhere, i would say its more common.
- Things seem more expensive, but people make more money. I.e. Cake and Coffee $5.90, Muffin and Coffee $4.90 with min wage @ $15.59.
- “not suitable for children” would be a funny thing to get written on a T-shirt
- meat pies and ginger beer would probably do really well in Canada, in particular ginger beer.
- I should apply for jobs and see how hard it is to get one, i wonder if i could do it in 2 days. Sounds like a fun idea.
- A woman walked by and applied for a “Dish-washing” job. She seemed well dressed but clearly nervous about applying. I think she should be more confident and probably aim higher.
- There has to be more to life.
- Cars have different names, different logos but are sold to the same people. Maybe the people are not actually the same.
- Everyone has traveled somewhere far away from home.
- I used to think countries we’re an obsolete concept, but now i think about it, the result would probably just be more civil wars.
- The finding a job in 2 days experiment sounds like fun, i think ill iron a good shirt in the morning.
- Not tipping is good, but you really do get what you pay for.
- Red rooster chips are great, but the chicken is gross.
That’s all for now…
Like buttons
Posted by Andrew McGrath in Uncategorized on May 24, 2012
I feel that JS rendering in page is a little sluggish, anyone got a better solution for Facebook like buttons?
Moredigital Spam
Posted by Andrew McGrath in Uncategorized on May 10, 2012
If you ever get an email from “Moredigital” offering to place a text based ad on your site, you should first read this blog post:
http://travisweston.com/2011/11/19/my-experience-with-more-digital/
We were recently contacted, and after doing some reading around…it looks like the company is just out to create a very cheap ad distribution network. For the $100 / year they are offering, i suggest you just go ahead and install Google adsense, at least you’re getting it from a reputable source.
PAYPAL – AMEX- CANADA – GRRR!!!!!$@#@$$~!!!!!!
Posted by Andrew McGrath in Uncategorized on April 9, 2012
Universe, I need your help! Here’s my situation:
- I’m in Canada
- My customers want to pay with Amex cards
- Paypal seems to have it in for me
In Canada, when you try pay a merchant holding a “Paypal Website Payments Pro” account…they can only accept Visa and Mastercard. This is so frustrating.
What makes it worse? I went to Paypal for support, here’s what I get…

Paypal support...looks great!
Ok…lets just click one of those links…

what the?
ALL THE LINKS DO THIS! At least call the product “Website Payments fail” so i don’t get all excited next time.
Has anyone in the world managed to solve this problem?
Why I don’t care
Posted by Andrew McGrath in Uncategorized on March 24, 2012
Lots of people on Hacker News like to write articles about why they do things (Apparently 136,434) and while I’m getting a little sick of it…

I figure its time I get on board with the trend!!
I’m thinking of writing an article, either pick from one of my pre-selected topics or suggest your own by commenting. I promise to write it, get it polished and edited by a professional writer for your reading pleasure.
- Why I don’t punch people in the face
- Why I don’t drink from toilets
- Why I don’t own a horse
- Why I don’t light friends on fire
- Why I don’t jump out of windows
- Why I don’t walk around naked
- Why I don’t pee on strangers
- Why I don’t throw money at strangers with the intent of hurting them with large coins
Looking forward to your input.
Ever felt a little crazy?
Posted by Andrew McGrath in Uncategorized on February 13, 2012
Sometimes I feel a little crazy. Today is one of those days.
About 3 years ago now I moved from Australia to Canada. The reasons for the move were probably not that smart (A girl, not the one I’m with today…) and at the time I felt that I was giving up a lot of things which i had worked very hard to get. This all made me a little sour (“a little” might be an understatement). Today I’m flying to Mexico for 5 days, and then headed to California for another 6 where we’ll be staying with some of my partners family in LA, only to end the trip with some “business” in the Bay area which involves meeting up with some very talented people who I’m very lucky to be working with.
Why do I feel crazy? I feel crazy because before I moved to Canada I felt like things were looking good for me in Australia. I was running a small business, we were making a small profit and I we were getting well known for the work we did. I was 22. When I moved, all that went away and I took up a job for 50k / year as a Junior Project Manager and lived in a basement apartment. It was a pretty significant pay cut, not to mention loss of freedom. It felt like a huge step backwards.
When I look back at the last few years I realize there is no way in the world I could have ever got to where I am today if I had not moved. Don’t get me wrong living in Australia, the amazing education of TAFE (seriously, I’m not Joking…TAFE is great despite what some would say) and work I did while self employed prepared me for what I’m doing today, however Australia is pretty behind, compared to the opportunity in the IT industry that I’ve seen since I left.
Today I’m 25 back on the self employment path. In my last job I made the title of Director, something I thought I wouldn’t be able to do given my age (Truth is I do try hide my age a lot, its normally a surprise to people when they find it out). The big thing this promotion told me was that I would never be happy until I was back in the creators seat. Its not about money. So, i resigned and started up a company. Now I have a great business partner, a great product (Plug: Verelo website monitoring) that is only getting better every day, and more people interested in working with us than ever before. I’m back to enjoying the freedom of self employment but this time all the more aware of the discipline, from past experience, that it will take to keep things on track.
So again, why do I feel crazy? Simply because this is not what I expected. You turn one corner, look down the path and go “uh this looks bad” only to keep walking and find there is something worth looking for at the end. Whats the moral to the story? I guess you could say its “take risks” and “be persistent”. Risks that open up doors are always good, and if you don’t see something through to the end you’re wasting everyone’s time (including your own).
“The problem with the Internet startup craze isn’t that too many people are starting companies; it’s that too many people aren’t sticking with it.” Steve Jobs
Need to migrate your DNS?
Posted by Andrew McGrath in Uncategorized on November 4, 2011
This is a super short post but i just wanted to share it because i’m currently doing a DNS migration and finding that validating all CNAME and A records for our domain isnt super easy. Here is how i ended up doing it (You should re-use this PHP!):
//name servers to compare against
$nameservers = array();
array_push($nameservers,"ns1.origionalnameserver.com");
array_push($nameservers,"ns2.origionalnameserver.com");
array_push($nameservers,"ns1.destinationnameserver.com");
array_push($nameservers,"ns2.destinationnameserver.com");
//hosts to compare
$hosts = array(
"hostname1.com",
"hostname2.com",
"hostname3.com",
"hostname4.com"
);
//do the compare and echo out the results
foreach($hosts as $host)
{
//get the results for each name server given the current host
$results = array();
foreach($nameservers as $ns)
{
$result = getDNS($host,$ns);
array_push($results,strtolower($result));
//echo "LOG: $host $ns - $result\n";
}
//see if all the results match
$allmatch = true;
$compare_result = $results[0];
foreach($results as $result)
{
if($result != $compare_result)
$allmatch = false;
}
//check to see if everything matched or not
if(!$allmatch)
{
echo "WARN: $host does not match on all nameservers\n";
$count = 0;
foreach($results as $result)
{
echo "[".$nameservers[$count]."] $result\n";
++$count;
}
}
else
{
echo "INFO: $host OK\n";
}
}
//getdns function to get host name given a name server
function getDNS($host,$ns)
{
$string = '';
exec("dig @$ns +short $host 2>&1", $output, $retval);
if ($retval != 0)
{
return "ERROR_NO_RESULT";
}
else
{
$x=0;
while ($x < (sizeof($output)))
{
$string.= $output[$x];
$x++;
}
}
if (empty($string))
{
return "ERROR_NO_RESULT";
}
else if($string[strlen($string)-1] == '.')
{
$string = substr($string, 0, -1);
}
return $string;
}


