Inspiration
Impulse buying has become a common problem in the digital age, with users often making purchases they later regret. We wanted to create a solution that merges productivity with responsible shopping, leveraging coding challenges to give users a pause before they make unnecessary purchases. Inspired by the growing community of developers using LeetCode and the need for mindfulness in online spending, No Leet, No Treatwas born.
What it does
No Leet, No Treat is a Chrome extension that intercepts users trying to make impulsive online purchases. Before they can proceed to checkout, they must complete a LeetCode problem. This forces users to pause, think critically, and reconsider their purchase. Not only does it encourage better financial habits, but it also sharpens their coding skills along the way.
How we built it
We built the extension using a combination of HTML, CSS, and JavaScript for the frontend, along with Chrome's Extension API for functionality. We integrated LeetCode's problem-solving platform to dynamically fetch random coding challenges. In addition, we utilized Gemini AI to fetch shocking facts regarding sustainability. The backend logic was written in Node.js to handle prompt generation and data processing. Additionally, we used chrome.storage.sync and local storage to store user login information and track progress.
Challenges we ran into
One of the biggest challenges was ensuring the extension could reliably intercept the checkout process across various e-commerce websites. Each site has a unique structure, which made selecting and manipulating the correct DOM elements tricky. Additionally, integrating LeetCode's problem-solving system while ensuring smooth user experience was another hurdle, particularly when managing API rate limits and ensuring consistent problem difficulty.
Accomplishments that we're proud of
We are proud to have developed a fully functional Chrome extension that seamlessly integrates coding challenges into the shopping experience. We successfully managed to connect user input with LeetCode problems and dynamically update the extension’s UI based on user interactions. We also achieved our goal of creating a tool that blends productivity and mindfulness, helping users make more thoughtful spending decisions.
What we learned
Through this project, we learned a lot about Chrome extension development, from manifest files to handling content scripts. We also gained valuable insights into DOM manipulation across different websites and the nuances of using browser storage to maintain user session data. Additionally, we deepened our understanding of API integration and how to manage the complexity of combining different web services into a cohesive experience.
What's next for No Leet, No Treat
Our next step is to expand No Leet, No Treat to support more e-commerce platforms. We also plan to implement more in-depth analytics, allowing users to track how much they’ve saved by solving coding problems before buying. In the future, we aim to incorporate other forms of productive activities, such as mindfulness exercises or budget reminders, to create a more well-rounded experience.




Log in or sign up for Devpost to join the conversation.