The Power of invisible choices: a GMTK adaptation for the web

Laurens Mesure
9 min readJan 26, 2022


Invisible choices have a lot of impact and can drastically improve the user experience. It’s a powerful tool that can improve the site on a per-user basis and adapt to their own particular set of needs.

Game Maker’s Toolkit is one of the most amazing channels out there on YouTube. The channel focuses on the inner workings and thought processes behind game development. Mark is able to convey really broad concepts in a nice 10 — 15 minute video that keeps your attention without the obnoxious YouTuber part. All that while still being informative.

If you haven’t watched Mark Brown’s YouTube video “The Power of Invisible Choices” go ahead and do that now.

I’ve pondered for hours on end for ways to improve basic tasks like customer checkout, steps for finding products, placement and order of elements that guide the user through the site.

Since I’m a developer and designer, I’m always interested in ways to improve my work and innovate concepts that have been left unquestioned for years. I find that GMTK’s videos can be adapted very well to the domain of design and web development. Yet, I have to find someone doing this out in the wild. So, in this article, I wanted to share my findings and thoughts on the video “The Power of Invisible Choices” adapted to design and development.

Painting a background

In this story, we’ll pretend that we have developed Medium. The blogging platform (SaaS). You know, the website that you are currently reading on!

When you open the website for the first time, you’ll get the mandated (albeit somewhat annoying) popup with the privacy statement. Immediately, you get the choice to “write” a blog post or to “read” a blog post. This is what we call explicit choices. 26–01–2022

Explicit Choices

These choices are made in a way that it’s very obvious to the user what the choices are and what the consequences are of their choices. Like how at the creation of your Twitter account, Twitter asks what you want to see. You can select a couple of keywords or categories and based on your choices it will create a newsfeed for you. The onboarding flow for Twitter is very basic and understandable by everyone. This is a good thing, but maybe some things could be improved. Instead of asking you to select categories that you are interested in, in a bland list of categories, show you various tweets that are trending and ask the user to like tweets that they like? And based off of that build a newsfeed.

Invisible Choices

Going back to our Medium example, again the website knows nothing about you. It can’t recommend you articles that you like because you haven’t read anything yet. So the website recommends 6 trending blog posts. This is done to increase the likelihood of you finding something that you enjoy and that others would enjoy too. After that, it gives you an endless list of blog posts that you can pick from. 26–01–2022

The website is very easy to understand and easy for all age groups to find something that they like. But the key word is “find”. The user has to find something they like, themselves. This is understandable because you’re new to the website. But what if there’s another way? What if the website could infer things about you through local analysis of your behavior and interactions? This is what I call Invisible choices.

Let’s say you open Medium for the first time on a standard desktop or laptop. The website starts to time mouse movement. The speed, time it took for the user to first move the mouse, time to click on something, if the user right-clicked, time to scroll down the page... These data points on themselves can build a very short profile of the user and categorize them. This is just 1 of the measurements a website has access to. You can combine this with something like a keyboard. For instance, if you have a search field, you could measure typing speed. If your search field supports shortcuts and your user uses them, you can measure that too!

All these events can happen in a matter of a few seconds when you have zero knowledge of the user. Combining all these data points, and you can already categorize a user.

For example: a user enters for the first time and almost immediately scrolls a bit down. The user waits a few seconds and scrolls down again a couple of times, hovers with his mouse over a couple of titles (like sliding your finger across a page in a phone book to find a number), scrolls back up and uses the shortcut CNTRL + K to quickly jump to the search bar and types “IT”. From all of this you could infer that the user has good hand eye coordination, knows the structure of most websites at first glance, is looking for something, knows how to use shortcuts and has an average writing speed of 75 WPM. This could categorize the user as an above average to expert level computer user. The backend and frontend can take this information in and adapt the content for this user based on the behavior.

Data privacy

All this may sound a little scary to you. And rightfully so! From the moment you enter the website, it analyses your every move. It could feel a bit like big brother is watching you. Unfortunately, it’s up to the developers (or the company) to draw the line. Cookies and Privacy statement checks have helped this, but the correct implementation of these mechanisms leave a lot to the imagination on some sites. It’s a powerful tool that has to be used responsibly.

Practical example

Medium uses a technique called pagination. Instead of the website serving you all posts available in the Medium database, you get 10 articles and when you scroll down to a certain threshold it quietly adds another 10 to the bottom of the page and so on. Based off the mouse input alone, the second 10 articles can already be more curated to the user. For example, it can serve some more technical stuff instead of recommending you an article about “What’s the Point of Flowers?”. 26–01–2022

Invisible choices can be used for much more than just recommendations during the first few seconds a user enters a site. Let’s say a user has an average typing speed of 70 WPM, which is according to Type Racer in the top 13.5% of the fastest typists. Off of that alone we can infer that the user is quite technical. So, the site Medium could give you a popup that you can use shortcuts to jump to the search bar, jump between blog posts or go to your own profile. Or maybe add an icon to the search bar to indicate what the shortcut is. Perhaps don’t recommend it to people that have a less knowledgeable IT profile.

Icons VS Text

Another example is icons vs text. A user writes a blog post and wants to share it. Most websites give you this iconic copy icon with the link next to it.

QR and copy icon next to an input field

Someone that’s less technical will have a harder time understanding that the copy icon actually means copy to my clipboard. With the data points we collected earlier, we could swap the icon out with text. Creating a more tailored experience to the user and enabling the user to use the website to their own max capacity. That’s the core of these invisible choices, enabling a user to use the website at their own full capacity.

Another great example is adapting the debounce rate to the WPM of the user. Someone that types faster can have a debounce duration of maybe 500ms, while a slow typist may have a debounce duration of 2000ms.

Unequal choices

GMTK talks in his video about equal choices in video games. The consequences may change, but the action is the same for every outcome. “The physical act of making the choice is identical, press one button on the controller or the other.” — GMTK. The same goes for our Medium example, to write or to read. Just a click on a button or a click on an article.

What if this choice is more automated? If you just created an account, the assumption could be that you want to create a blog post, or you might want to comment on a blog post that you’re currently on. The website could adapt the experience to drop you immediately in a blog post editor to write a new article. Or you created an account while being on a blog post, and you’ve completely read it, then maybe scroll down to the comment section and focus the input field.

Fine-grained choices

When a website implements binary choices, you can only expect binary journeys. When you document the users’ behavior and adapt to it, you can create much more fine-grained solutions or representations for elements that make more sense to the current target category.

You can mix and match categories for better experience. Possibly, the type speed of a user is slow, but mouse movement is fast. You can change the debounce rate to accommodate the type speed and change the pagination amount to reflex the fast mouse movement


The concept of explicit and invisible choices sounds great, but the challenges it comes with might also be great. To adapt the user experience to a number of categories and behaviors brings a lot of difficulties with it. The first one that comes to mind is the programming aspect of it. You would ideally have to plan ahead what kinds of categories you will accommodate and implement an easy solution that displays the status accordingly to the category. This means that a lot more testing is involved and a lot more edge cases that you have to be careful off.

You have to choose if you want to let the user know that the environment adapts to the users’ behavior. Are the consequences of their actions subtle? Then the user might not realize all the work you put into development of this curated experience. If the consequences of their actions are very noticeable, then the user might start to expect this to happen in the future and be disappointed when it’s not. If the consequences are subtly shown to the user, it leaves a much bigger impact and is much more memorable.

Another big obstacle is measuring the contentment of the adapted user experience. Maybe the categorization wasn’t good for this one user? They can effectively have a worse experience and potentially even leave your site or lose a customer.


I’ve been thinking about this concept for a while now, and the use cases are endless. You can get as creative as you want with it. I want to encourage you to not just copy-paste these ideas, but to think creatively about the concept and implementations of invisible choices.

The topics and examples I mentioned here might not speak to you in the same way it does to me. But I at least hope you got the gist of invisible choices and try to implement them yourself. Not only in websites but also in apps & web apps! There are a lot of challenges that have to be overcome to be able to implement this concept reliably and good. But once it’s implemented, it will leave a great impression on your users.