Inspiration

Thinking about university students for a moment, many buy items they only use once such as a formal dress for a ball, a suit for an interview, or a projector for a movie night. But this doesn’t just apply to students, it applies to everyone. Many purchases are made for a single event or bought on an impulse and rarely used again.

At the same time, online shopping platforms are becoming increasingly good at encouraging people to buy more, using advertising and recommendation systems that make purchasing faster and easier than ever.

This inspired Cart Flip, a tool that introduces a moment of reflection before checkout, helping people make more informed decisions, reuse what they already have, or borrow instead of buying something new.

What it does

Cart Flip is a browser extension supported by a desktop dashboard that encourages users to rethink purchases before buying items online. When a user adds an item to their shopping cart, the extension checks the user’s library inventory to see whether they already own that item. If the item is already in their library, the popup suggests reusing it or repairing it instead of buying a new one. If the user does not own the item, the prompt instead asks whether the item could be borrowed or rented, and encourages the user to consider whether the purchase is truly necessary. In all cases, the system introduces a 24-hour pause before checkout, giving users time to reflect before completing the purchase. The dashboard then helps users track their behaviour over time by showing avoided purchases, money saved, and environmental impact, while also providing tools such as the personal item library and community sharing features.

How we built it

We built our web extension using JavaScript which injects a script that listens for when users add something to their basket using DOM event listeners. It then sends a POST request to the Flask backend API to check whether the user already has a similar item in their library and subsequently updates the popup. We built our web desktop using Flask templates with API routing between the pages for smooth and intuitive navigation.

Challenges we ran into

We had issues when extracting the title of the product added to users' basket in order to verify whether users already have something similar in their library. As a result we used in-memory data that we hardcoded as a temporary fix. We also had issues of properly detecting when a user adds something to their cart across multiple e-commerce sites which would need to be handled properly if scaled up.

Accomplishments that we're proud of

One accomplishment we are proud of is developing a clear and coherent product concept that combines our browser extension with a multi-page dashboard interface. We designed the user journey across the Home, Activity, Library, and Community pages and built a working prototype that demonstrates how the system would function. We also created visualisations to track avoided purchases and user behaviour, and explored how features like an item library and community sharing could integrate into the system. Bringing these ideas together into a structured prototype and presenting a complete user experience was a key achievement of the project.

What we learned

Through this project we learned how small design choices can influence people’s behaviour. Instead of trying to completely change how people shop, we focused on adding simple prompts at the right moment to encourage them to think twice before buying. We also learned how to turn an idea into a working concept by designing the browser extension, building the dashboard pages, and thinking about how each feature connects together. Overall, the project helped us understand how technology and design can be used to support more thoughtful decisions.

What's next for Cart Flip

Adding proper functionality to all our buttons and features on our web desktop as well as the connection between the web extension and our desktop for users to be able to properly cross-check with their library and log 'saved' purchases. It would also be really nice to incorporate machine learning recommendation model that suggests borrowing or renting alternatives based on product category and user location.

Share this project:

Updates