My parents have played the National Lottery since it launched and often when I went to visit I’d see a pile of old tickets sitting on the worktop. I’d offer to check them for them and so would begin the laborious process of entering each number into the national lottery website. Depending on how long it had been since my last visit, it would inevitably take a while – especially if I was using my phone. It struck me that would make a great app: simply scan the ticket and be told if it’s a winning ticket. At that point, I had no idea how to make an app and so it remained just an idea that would surface every time I was asked to check a ticket.
A couple of years later I decided to take a week off from my job – things had been a bit stressful at work and I needed a break. I had no plans other than to relax. On the first day I was reading some tech blogs like I do everyday and I read an article about how Swift was making it easier for people to create apps. I knew what I wanted to do with my week off: learn Swift! So I signed up to treehouse.com (I’d never used them before, and I can’t remember now why I chose them over the others, but I can highly recommend them).
I was watching snooker on tv in-between my treehouse tutorials and I decided that my first app would be a simple snooker score calculator for the Apple Watch. I created an early prototype quite quickly, within a few hours, and it was very exciting seeing it running on my very own Watch. I spent the next few days improving the app and fixing the many, many bugs that I kept finding during my tests. I decided that the app was worth spending some money on more professional graphics than I was capable of producing. I showed it off to a few friends, used it to keep the score of my own games of snooker and continued to refine it until I was happy enough to submit it to the App Store. Just 2 weeks after I decided to learn Swift, I had my very own app available for sale in the App Store. It felt great! I eagerly checked my sales over the coming weeks and I quickly realised that I was the only one who was excited by my app! Over the following months I sold on average 1 a day which was a nice little bit of pocket money but it would barely cover the yearly developers fee. That wasn’t really the point though: I was still thrilled that I had created an app. And I knew what I wanted to do with my next holiday… to make an app that would scan lottery tickets.
I researched OCR libraries and eventually I had a pretty nice app which would scan a ticket and check if it was a winner. The problem was that the tickets were hard to read and so my great idea of an app simply offered a frustrating user experience. I tweaked the app as much as I could, and added an option to manually enter the numbers, and after many months of development time I decided to release the app. Convinced there was a much bigger market for this app, my hopes were high. Unfortunately, while I sold a few more than my first app, it wasn’t by much. And the people who did buy it were quick to complain about the patchy nature of the scanner. After a couple of months I decided to remove the scanning capability and enhance the user experience for manually entering ticket details. It improved the app, but it wasn’t the app I wanted it to be.
A year later I happened to be standing behind someone who was buying a lottery ticket and I noticed it had a QR code printed on it. I immediately had a flash of hope that the code might contain the ticket details so I bought one and installed a random QR reader and anxiously scanned my ticket. The result wasn’t exactly what I’d hoped for. On first glance it seemed like a random string but I bought dozens (actually, it was probably over a hundred) lottery tickets with various combinations of games, numbers, draws etc. I mapped out every permutation and bought the required number of tickets. From those, I was able to interpret the QR code and construct the ticket details. Finally, I could make the lottery ticket scanning app I’d always wanted. It was incredibly exciting. I added some fancy animations, push notifications and just the right amount of features. My focus was that the app should be so simple my mum could use it to scan her own tickets.
The app was finished and I still felt great every time I scanned one of the tickets I’d bought to test. I knew if only people could see the app working that they’d love it. So I decided to make it a free download with an in-app purchase to unlock all its features. Of course I can’t be sure, but I think that was one of the best decisions I made. I launched the app with a significant Facebook Advertising campaign and the number of downloads was incredible. Sales were fantastic. Reviews were excellent. I was so happy to have created an app that users were loving.
I took a trip to London and decided to leave my Mac at home to enjoy the break. When I was at the airport I started receiving more support emails than normal and I noticed an influx of negative reviews on the App Store. I quickly learned that the National Lottery had experienced an issue with their own app and they had removed their app from sale. And more importantly for me and my customers, they had stopped printing the QR codes on the tickets. So users of my app were understandably upset when my app was refusing to read their ticket. They didn’t understand why; all they knew was that they had downloaded an app that didn’t do what it claimed. The next day, now that the official lottery app had been removed from sale, my app was being downloaded hundreds of thousands of times. And I was receiving quite a lot of emails from unhappy customers! I needed to do something quickly but I didn’t have my Mac with me! I thought about going to the nearest Apple Store and buying a new Mac – but I wasn’t making that much money! So all I could do was update my support web page and Twitter and Facebook and try to explain the situation as best I could. I felt physically sick that I had created a great app, was gaining thousands of (unhappy!) customers, and everything was spiralling out of control.
As soon as I arrived home from the airport, I pushed an update to the app explaining the issue and asking customers to bear with me. It took over a month before the National Lottery fixed their technical issue and started printing the QR codes on their tickets again. That was a month worth of tickets that people have lying around that wouldn’t be possible to scan with my app. I decided to address this by adding a welcome tutorial to the app to explain that the app works by scanning the QR codes. Even with that, almost daily I still received support emails from customers who couldn’t get the app to scan their tickets. Some customers were very understanding, some not so much.
Today, Lotto Lens still takes up a surprising amount of my time. I’m always working on small tweaks to improve the app. And the advertising campaigns and customer queries take up a lot of time too. It’s been an amazing roller-coaster journey and I’m very proud of the app and immensely thankful for the (small) success that I’m enjoying from it. It’s given me a glimpse into a possible future where I develop apps full time. If only I had more ideas … that reminds me, I better call my mum.