Background
Back in December 2020, when publicly available AI services were very much in their infancy, I (Rob Gregory) was experimenting with some early Microsoft AI tools. I stumbled across the Azure cognitive services API and after a bit of testing I wondered if it might be possible to build a fun digital product that leveraged text-to-speech technology.
In just a few hours the first version of elfmessages.com was launched, a bit of twitter chat, and the orders started rolling in.
Today I joked that I might create a pop-up shop to sell personalised Elf messages. I had some time spare so decided to have some fun – built everything from scratch and lunched in under 3 hours and for under £10.
— Rob Gregory (@therobgregory) December 21, 2020
Just made 2 sales😜
DO YOUR IDEA!!https://t.co/4RFp9sKsXK
In the end what started as a bit of joke on twitter gained traction and has served as hands-off, passive revenue stream every Christmas since💪🏻🎄 – Each year desperate parents around the world visit the site to bring their Elf-on-a-shelf to life using the ElfMessages.com service 🤣
Proof of concept
The first thing to figure out was just how well the text-to-voice service worked and if the idea was feasible. This is where a small proof-of-concept project makes sense. Understanding the features, limits and constraints of any 3rd party service is a key validation step before a full project is initiated.
Taking a proof of concept approach the cognitive services api was targeted with some test text input and the output quality reviewed. It was clear that the service could be used to achieve a satisfactory result. The next step was to build the product and refine the audio output later.
How it works
The site is built using Microsoft .NET MVC and is basically a simple landing page with some example messages, instructions and a form to create a message. Once the message is purchased a background processes (Azure WebJob) converts the text to speech, saves the audio file (.mp3) to Azure blob storage and communicates with the customer via email.
Sound Manipulation
To make the recording sound like an Elf it was necessary to experiment with the settings. After some work we landed on the perfect mix of speed, pitch, tone and the base voice settings that made the recording sound like a real life Christmas Elf!
Adding a short jingle to the start and end of each recording added a depth and authenticity to the messages. That was it, we had a message children would believe was recorded by an Elf, and it was all automated and fast.
Payments Integration
The site uses Stripe for payments which is very easy to implement using their Stripe Checkout product – a pre-built checkout that the ElfMessages.com web app makes a round trip via during the purchase flow. Stripe handles PCI compliance and all the security required to make the payments happen safely and quickly. All implemented and tested in about an hour.
The Customer Journey
To keep the myth alive that real Christmas Elves are actually recording the messages the customer gets 2 emails, one when the message is “assigned” to an elf and a second once they have completed the recording.


The second email contains a link to the message recording and also a on-time edit link, just in case the customer had a typo in their message and it needs editing and rerecording.
