Designing a web app to be as addictive as possible

For those who are just here to play, here is the link.

I’m just a single bloke with some time on his hands. This is noteworthy, because of the sharp contrast between my 20 freely available man-hours/week and arguably only surface-level understandings of all the topics touched in this project on the one hand and companies filled with dedicated specialists, who make a career out of their fields, be it UI/UX design, programming, product development, attention engineering, etc. on the other hand.

The companies I am talking about are known to make money off your attention. Most notoriously going so far as to employ dedicated attention engineers. While voices criticizing this business model have ever been present, they seem to have recently become more and louder, for good reasons.

The way we, as modern societies, use social media, the web and especially our smartphones in conjunction with the two former, is broken. Numerous authors, whistleblowers, researchers and scientists have given testament about this and are making compelling, well researched cases.

If you are hearing about all of this for the first time or have never really gotten up close and personal with the matter, the following statements are my attempt to sum up the key aspects of why this broken relationship between us and modern media should concern you personally (omitting any grand societal effects like fake news, influence in elections, etc.):

  1. Modern media – and social media in particular – paired with an ever present smartphone is impairing your ability to focus deeply, have meaningful thoughts, create valuable things and hold a face-to-face conversation.
  2. This modern media, be it Facebook, Twitter, Netflix, YouTube, Reddit or any other site of similar nature is designed to make you addicted, some of this design is accidental, most of it is intentional.
  3. The benefits you think your social media activity has on your career and social life are – if at all real – most likely not even remotely as existential as you deem them to be. Yet even if they are substantial, they are most certainly outweighed by the detrimental effects they have on your mental health and cognitive abilities.

Many sources suggest that we – on average – spend over two hours on these platforms every day. Why do we do this? There are obviously many reasons, one of which is that theses platforms often do actually provide a benefit to our lives. If you want to learn woodworking or see what a hydraulic press does to a bowling ball, having a service like YouTube at your finger tips is tremendously helpful and highlights what an amazing technological breakthrough the world wide web of information really is.

Using social media for two hours every day, however, suggests that we are using it way more often and for way longer than would actually benefit or enrich our lives. So why do we do this? Why do we compulsively scroll down our timelines and refresh our inboxes even though it adds nothing to our lives?

In order for us to act this way, the sites in question utilize an arsenal of techniques that keep you coming back to them. Most of these techniques are very well documented and published, so I got curious about finding out how hard it really was to design a web app to be as addictive as possible. Here is what I did:

How hard can it be?

First of all, I decided to give the web app a game-like character. This gives me a bit of a head start, because, while some companies go out of their way to gamify their service, I took the liberty to just choose my web app to be one. Kevin Werbach and Dan Hunter have identified three key elements to gamification: PBL – Points, Badges, Leaderboards.

My game is about little less than getting points (the genre being called “incremental games” or “idle games”, since they can be played idling some of the play time), which is also the way of unlocking achievements (badges) and to earn bragging rights on the leaderboard.

This is a solid place to start. Let’s find ways to keep the player interested in the content of the page.

In his book “Irresistable”, Adam Alter explains the importance of notifications as part of important feedback, a sort of “reward” for things you have accomplished. In my game I am using two kinds of notifications: One’s that will just show up on the top of your screen telling your that you achieved something and reassuring you that you are doing a good job. The other notifications come in the form little badges to tell the player they can afford an upgrade, which has an informative purpose, but is also a subtle nod to the player for doing well, which should feel good and make their brains ask for more.

A second important element is unpredictability, according to Alter, studies have shows that if an action has a desired, but predictable outcome, it is not as exciting for our brains as an action that has a desired, but unpredictable outcome (slot machines for example). I have tried to implement this by varying the game speed, sometimes the game moves very fast and the investments you are buying pay off in huge ways, sometimes it makes you wait a bit and you are often denied any information up front about how effective the next thing you buy will be.

Reddit ad for it's own redesign

Reddit wants you to experience “infinite scroll” with their redesigned UI.

Now let’s work on keeping the player on the site, even when interest starts to fade out. There are a few aspects that are known to have an impact on how long people stay on the page:

  • No barriers – Every time you put a click between a user and what’s coming next, you give them the opportunity to leave. We don’t want that, so with my web app, you will never actually leave the main page, there is no waiting for the next level to load or the next page to render, everything you need is right here. This is also why at some point all your social media sites have implemented the endless scroll, where new content is loaded as you scroll down and you never ever reach the bottom of the page. YouTube’s and Netflix’ “auto play” features are also trying to achieve exactly this.
  • Automatic saving – When you give the player the opportunity to save the game at their own convenience, you also give them the opportunity to close it right then and there, but if you take away this control, the automatic saves tend to come at a time where it’s inconvenient, because the next achievement/milestone is just around the corner.
  • FOMO – Fear of missing out. At any given time, you can get the “5 seconds of fame” multiplier. The fear of missing one such boost can keep you on the site.
  • Infinite loop – Depending on how long you will actually play the game for, you will see that it doesn’t actually end, ever. You can always play another round and get additional bragging point (which I have called “kudos”) for it. There is no natural endpoint or conclusion to the game.

You can find the game here.

When you think about it, you will realize that all of the above mentioned features are found on every modern media site. Contrary to my game though, they are supercharged with the power of actual – if digital – social interactions. The fear of missing an opportunity to get “5 seconds of fame” in this game might be real, but it is negligible compared to the fear of missing the first photo of your friends newborn baby.

Where my game falls short is when it comes to making people compulsively come back to the site. Social media sites do this by establishing vicious posting-checking cycles, which isn’t really in the nature of this particular project, but would magnify the effects you are experiencing, since sooner or later, this compulsive behavior will result in a habit, and habits are hard to break.


This wasn’t hard to do. The information about what works and why is out there and widely spread. Elaborate and circumspect open-source projects like Material UI make the technical and design implementations easily manageable even for a single lonesome developer like me.

I hope this project can and will be used to showcase how a website can easily be constructed around the goal of keeping people engaged for as long as possible (and for no apparent reason). I also hope this project will make some folks question their own relationship towards social media and give them incentive to make an effort and take back control.

Further Reading

If you want to read up on this topic, a large amount of material was produced in recent years, most noteworthy in my personal opinion:



I do not collect any personal data. No 3rd-party scripts are executed on the site.

Cookies are used, but you don’t get any of these pesky “Accept the Cookie” prompts, because firstly, the cookies do not store any personal data about you, and secondly the cookies are never sent to any server, they just sit on your machine.

E-mail addresses are only needed to claim ownership of your score in the future (for whatever reason), I will not use them as a mean of contact or share them with anybody.


How does this project make money? Well, it doesn’t. I consider this an altruistic project, but in order to help cover some of the costs I use Amazon Affiliate links for the book recommendations and decided to give Tize a shot, which let’s me monetize links with some tastefully designed interstitials like this one.

If you want to support the project directly and extend it’s lifespan you can do so via PayPal or these cryptocurrencies.


Thanks to Stephie for her creative inputs, proof reading and all the support in all other imaginable ways.
Thanks to Muzi for brain storming, writing input and helping me break through my writers block.