The technology behind Unless

Ever wondered why our personalization platform is so fast? Watch this video about the technology behind Unless.

Hi, I am Sander, CEO at

As you probably know, Unless is a predictive personalization engine. If you have a complex story to tell to different types of customers, our system will allow your website to adapt its narrative to each visitor. For example, you can show different headlines, pictures and examples to incoming leads from different industries. Pretty much like a sales person would do in a conversation.

That sounds pretty simple, right? However, in practice, there is a lot of technology behind it. Let me quickly run you through the system.

When you own a website, you can simply install Unless into it by adding a script snippet. Pretty much like Google Analytics or so. This script loads without delay, because it loads in parallel with your website. We serve it from a global network of over a hundred locations, so it is super fast everywhere.

Then, the first thing we offer is the ability to classify a visitor into different lead categories, or "audiences". We take a good look at each visitor of your website. Then, Unless collects many small facts about each of them. Based on these facts - and possibly augmented with data from your company's CRM and such - a segmentation mechanism can decide what kind of person this visitor is, and even guess his or her state of mind. In our live Visitor Insights, you can follow each visitor in detail - and even see who is on your website right now, and how we think they feel!

This all happens in real-time, before the visitor even sees your website. So, it must be really, really fast. Anywhere in the world, the data needs to be available immediately, and the same goes for the decision mechanism. We solved this problem by distributing the data - well, except for private data - with DynamoDb Global Tables. DynamoDb is a really big database, available all over the world. We do the same with our decision engine: we run our machine learning models using distributed computing based on Lambda and Lambda@edge - exclusively.

This basically means that the moving parts of our system are duplicated everywhere, and equally fast in every country. At the same time, system crashes are avoided because we have no operating systems or other long-running software that may crash at some point - the serverless Lambda functions execute in parallel, with a many as needed, and then commit harakiri when they are done.

So, once we found out what kind of visitor sits in front of your website, we can serve him or her a unique experience. For each category of visitors, or "audience", you can create small personalized bits of content using our WYSIWYG editor or prefabricated website components. Think of words, headlines, an example or a different button here and there, but also pop-up messages or other add-ons. Because a visitor can be part of multiple audiences at the same time, the total experience can be quite unique.

Anyway, the decision engine decides which snippets to deliver to the screen. This is still happening before the visitor even sees the website! We pull this off by keeping the format of our personalizations as small as possible. So, we don't store entire page versions or something, but only the "delta" of a web page. The word "delta" refers to the actual difference - so, if you change one word, we will only send that word to the browser of the visitor, along with a pointer to where to put it. That's why it is so fast!

While the page is loading, we apply the personalized changes recursively. When your website is visible, the changes have already been applied - and everything looks exactly like a normal website, with one exception: that it is super relevant and spot-on for that particular visitor. And that will translate to a better user experience, a larger attention span and eventually more visitors converting into customers!

If you have any questions, feel free to reach out. For now, have a nice day!