Compulsive Buying Disorder & Winning HackMentalHealth 2019

How we won first place at HackMentalHealth by creating a Chrome extension to help curb overspending on Amazon

David Kum
Apr 1 · 9 min read


That is the lifetime prevalence of Compulsive Buying Disorder in the US general population. Put into perspective, 1 in 17 people suffer from this disease. But that’s not even the most worrying part: this number is rising based on a study conducted by the University of Ohio.

Compulsive Buying Disorder (CBD) is characterized by distress or impairment that can only be alleviated through excessive spending. The feeling of spending is so irresistible that compulsive buyers continue to buy and horde goods even when they have little to no money. These purchases often go unused, and typically bring these people no joy. In fact, it sometimes might lead to the build-up of more negative emotions.

In a sense, Compulsive Buying Disorder is an addiction to spending money.

As with any addiction, compulsive buyers tend to spend more money to feel the same sense of high over time. The effects of CBD include huge financial losses, an increased urge, and anxiety until a purchase is made. This can lead to borderline personality disorders; people suffering from compulsive buying disorder generally also fall under broader social disorders such as ADHD and anxiety disorders.

Credit: Team Amazoff slide deck

Unfortunately, compulsive buying disorder is just a subset of a larger problem. In an increasingly materialistic and consumerist society, online shopping brings the buying experience right to our fingertips and as a result, we unknowingly spend more money buying things we do not actually need. Overspending has turned into a very pressing issue today.

Amazon and other online shopping platforms simplify the buying process on their sites for consumers but make it even more difficult for people with CBD to break from the cycle. This problem is so prominent that the first option that shows up on the order cancellation page is “Order Created by mistake.”

In fact, even after the item is delivered, the website even acknowledges the fact that people sometimes buy items which are used once, only to be returned, and lists “No longer needed” as the first reason for returns.

The psychology of convenience and inconvenient design

Much research has been done into using inconvenient design to steer behavior, but ultimately all of these rest upon the psychology of the “Nudge Theory” created by 2017 Economics Nobel laureate Richard Thaler.

A nudge is a subtle shift in policy that encourages people to make decisions in self-interest. There is no penalty that comes from people acting in a certain way, but rather making it easier for them to come to a certain decision.

A simple example would be that in our home country of Singapore, every citizen is automatically registered for organ donation upon death. The only way to opt out is to start an inconvenient process with the Ministry of Health. The outcome has been overwhelmingly positive: as of 2017, 97 percent of the resident population are registered donors, and 196 transplants were performed a year through this act.

Source: The Independent Singapore

Before, online shopping meant that you had to deal with much inconvenience, navigating through convoluted web pages and checkout screens. This is a form of friction that served as a check to ensure customers are consciously thinking about their purchases. has since implemented its one-click Buy Now button, which effectively removed much of this friction. However, this also removed the mental check that customers previously had to contend with at the checkout page.

Screen capture of the Elevate Security Chrome plug in

Behavioral psychology has been used to solve other problems as well. One of our members work at Elevate Security, a startup that uses behavioral psychology to make people more aware of their cybersecurity posture.

The startup creates tools to make it easy for people to take on good practices, including a plugin which makes hyperlinks in emails more conspicuous. This makes it easier for a user to verify and review the link before actually following it. Reporting a suspicious domain can also be done in a click, making people more inclined to practice good habits.

Thinking along the same line, we decided that a simple way to induce people to think about their spending is to reintroduce some friction into the checkout process at The solution still needs to be enjoyable to use, so that it does not detract from the users’ shopping experience on At the same time, it needs to create enough friction to initiate further thinking about the buying process.

Introducing Amazoff — Curbing Compulsive Buying Disorder through Inconvenient Design

Our solution is a simple Chrome extension that inconveniences the users before they make their purchases. We believe that induce behavioral change by altering the visual design of websites in different ways to mitigate the lure of online shopping. Furthermore, a Chrome extension is simple to port between devices, simple to create and also easy to get people on board; it is almost effortless to install and hence the onboarding process is also much easier.

Our extension presents small nudges for the users to reconsider their purchasing decisions by implementing an inconvenient design, thus making it less easy for them to act upon their shopping urges.

This was done by modifying the webpage in various ways:

1. The front page of is now free from any products. Only the toolbar is available, which allows users to directly get to whatever they want to purchase.

2. We removed the one-click buy button from the pages to prevent impulsive buying and reduce the risk of overspending.

3. We replaced the price of the item with something more grounded in one’s daily life, such as gallons of gas or percentage of utility bills that can be paid for with the money. People are bad at large numbers and intangible concepts like money, so by converting the price into something smaller and relatable, we hope that users would have a better sense of the amount they are spending.

Before and After comparison image

4. We removed all the suggested, recommended, sponsored items and advertisements so that users do not get distracted by other items that might interest them and overspend.

5. When the user hovers over the Add to Cart button, alerts would prompt the user to make them rethink their decision. We included another price comparison to contextualize the money they would be spending.

6. At the checkout page, it will remind the users the amount they have spent, by creating a pop-up box they have to deliberately close. This makes the amount they are spending stand out much more than a red number in a small box.

7. Every five visits to any product site would trigger a reminder of the number of Amazon products the user had been on. This makes the user more conscious of the amount of time they are spending and the number of products they are viewing on the website.

These inconveniences highlight the total amount of money that users would spend, should they continue with their purchase. We believe such a notification would empower users to rethink their choices by giving them a metaphorical wake-up call and have them fully weigh the consequences of their buying decisions.

The Tech Stuff

Removing all the front page advertisements and sponsored listings was rather easy: since we were using Javascript, we simply deleted the div element that contained all the advertised products, leaving the page bare, except for the navigation bar at the top, as well as the search bar.

We scraped Amazon’s website to determine which div elements contained sponsored posts and related items and removed those from the product listings page as well. Such, however, does not catch all edge cases, and we had to manually input those into the code. Looking ahead, we would consider exploring how the Amazon webpage is set up, to find patterns of which DOM elements are necessary for us to remove.

Replacing the price of the product was not too difficult. We simply overwrite the content of the span element that contains the price with a string containing the message. This message is randomly chosen from a dictionary that we had meticulously populated by hand. In the future, we would look into using certain price APIs to get a good estimate of the cost of daily necessities.

The popup boxes are created with Sweet Alert 2; it creates beautiful modal boxes which could act as popups.

Admittedly, this was the first time the team worked with a browser extension this extensively and have even attempted to change DOM elements in a webpage. We have learned massively from this experience, and we believe that should we have to redo this project again, our code would look more software engineering worthy and contain much less duct tape.

Moving Forward

Unfortunately, we did not push out the extension into the Chrome Web Store.

The extension, as it stands, does not support any form of customization. We would like to explore having users input their salary so that the popups can offer them even more personalized messages. Sometimes, a perspective outside is the wake-up call that would make us rethink our behaviors.

Statistics would have also been a cool thing to implement, noting down the total amount of money a user spends versus how much they have saved clicking away. I guess overall statistics on the total value of the products they have seen would also be good to serve as a stark and terse reminder to step away from a shopping spree.

Helping users save money is good, but we think we can achieve an even more noble goal moving forward. We could even use the aforementioned nudge theory to make it easy for people to make donations to charitable organizations and non-profits. It could be as simple as having a pop up notifying the user of how much they have saved from clicking away from the add-to cart button, and asking if they would like to donate a portion to charity.

Of course, we all believe in our product, and have personally installed it into our browsers. Over the past 4 days, our extension has saved us over $70 in making us rethink buying products that we do not necessarily need. Following the above idea, we have taken a portion of the money and donated it to Girls Who Code, an organization where we believe the money would be better spent.

We hope that you, dear reader, leave this post with one key message that we were trying to bring across — Compulsive Buying Disorder is not a subject that should be taken lightly. Regardless of your purchasing power, such disorders, when left unchecked, could lead to greater issues that once fully developed, would be challenging to resolve. We also hope that you have a better understanding of our creation during the hackathon, and truly be more mindful of your personal buying habits.

“The chains of habits are too light to be felt, until they are too heavy to be broken.” - Warren Buffett

We end this post quoting Warren Buffett, a man whom despite being one of the wealthiest person alive, led a modest lifestyle. Should everyone be just a little more mindful of their habits, perhaps there would not be a need for product like Amazoff.

Team Amazoff at HackMentalHealth UCSF 2019

Our team

Our team is comprised of students from the National University of Singapore (NUS). We are here on a year-long internship exchange program with Stanford University called the NUS Overseas Colleges (NOC) program, where we learn to be better entrepreneurs and more impactful change makers.


The intersection of technology and mental health. Want to write a story? Submit at

David Kum

Written by

David Kum


The intersection of technology and mental health. Want to write a story? Submit at