Peter Donlon, CTO of Moonpig joined the Venturi Slack community on the 28th of June to host our latest ‘ask me anything’ event. Peter is a seasoned CTO with many years of experience facilitating digital transformations and expanding company operations across many sectors.
Below are the highlights from the event.
You can read over the whole discussion in the Venturi’s Voice Slack Channel.
Question by @Will
Morning Peter. Your last question in your podcast you said you’re not coding at work. But you still do in your free time. What problems have you been automating away and what languages have you been using?
I do all sorts of little projects to help manage the boring tasks in life. For example, I wrote a little system that takes my bank statements and puts all the transactions into Google Sheets and attempts to tag them. The more fun stuff is home automation. I have a TV bed at home (for those not familiar with the 80s, that’s a bed with a TV in it that rises up out of the base when you press a button on a remote). Using a raspberry pi and IR transmitter/receiver I created an Alexa skill to raise the TV up at my command.
My newest project is in the home gym (maybe overselling that a bit… I mean garage). I have a treadmill that communicates with an app via Bluetooth. I’m wanting to put a large screen in front of the treadmill with video of running through nice scenery and control the speed of the video using the bluetooth data from the treadmill. There are treadmills with this built in…but more fun to do it myself! Learning lots about Bluetooth at the moment.
My go to is usually Python. It’s quick to write and there’s typically a library for everything.
Question by @James
Hi Peter. I’ve used Moonpig quite a few times (absolute lifesaver on Mother’s Day!). Always been impressed with how slick the customisation process is. But seems like there must be a lot of work going on in the background to keep it working. I was just wondering what the most labour intensive aspect of the system is? Is there anything that routinely causes problems?
I’m glad to hear it! I actually feel customisation is one of our biggest areas to improve. It’s one of those things where the possibilities and opportunities are genuinely endless. Technically it is a real challenge, especially at peak times. When you’re done creating your card, we convert the design to a PDF to be printed. That process is fine as it’s truly asynchronous (you don’t care when your card is printed as long as it’s printed on time). The challenge is actually in generating previews. We need to show you exactly what your card will look, on the fly, that’s difficult!
Question by @Sam Davis
I’m quite interested to know how the moonpig website links up to the hardware you use to print cards. What does a card’s journey look like from a customer creating it to it being delivered?
When you’re creating a card you’re basically filling out a json object that keeps state of the customisations you make (for example text you’ve changed or references to images you’ve uploaded). After you purchase that data is sent to a renderer service that takes that, plus the original card template does some magic and combines the two data sources to make a PDF version of your card.
That PDF is combined with lots of other cards for efficiency (both in transmitting the files but reducing paper waste) and sent down to one of our two factories. Once in the factory, we have a system that distributes these large PDFs between the printers. There’s then a process that follows which typically involves guillotining the cards, varnishing them and then they go through the coolest machine which is the automailer.
This takes a stack of cards, folds them, puts them into envelopes, seals the envelope and then prints a shipping label on. There’s a speed dial on the machine so you can turn it up to 11!
Question by @Tommy G
Hi Peter, convo looks great so far. You said in the shows it’s quite hard to show the ROI of technology. How do you communicate the benefits technology is having on Moonpig to your peers who are less tech savvy.
This has been an interesting learning area for me. If I think about a lot of the justification for the big investments we’re making into replatform, it’s all about speed to delivery, performance and reliability. How can we deliver improvements to customers faster than ever before, how do we make sure that it performs better and how do we ensure reliability.
Site performance you can translate quite easily to conversion uplift and thus ROI.
Reliability is easy to measure based on protected revenue.
Speed to deliver is harder. You can easily measure number of releases, defect rates, etc (and should) but translating that to ROI is a bit harder.
Instead on the last one, we typically look at the difference in development time for particular features and the ROI improvement that drives.
Question by @Olu
Hi, Peter what cloud provider is behind the application and why did you settle for the pick.AWS, GCP etc.
Hi Olu. When I joined Moonpig we were heading in the direction of Azure given we were predominantly Microsoft based. However, we ran into a lot of trouble with the reliability of service so decided to have a rethink.
Our friends at Photobox (owned by the same company as us) were heavily invested in AWS and actually became the largest S3 user in Europe so it made logical sense for us to move in that direction. Most of my cloud background has been in AWS, so it was definitely a good solution for me personally.
Last October we moved our ecommerce platform from physical tin to AWS and we’ve seen a massive improvement in performance and reliability. We’re currently building and rolling out our new platform which is heavily built around AWS utilising anything PaaS they can throw at us, e.g. lambdas, cognitio, appsync, etc.