Project name
Simmer
Tagline
A Chrome extension that lets big purchases simmer: it pauses checkout, asks why you want it, and gives an honest answer based on your history and product value.
Inspiration
Many friends of ours have ADHD, and a couple of them suffer from intense impulse buying. We've always wanted to develop an app that counteracts the frictionless 1-click ordering that has permeated e-commerce, and requests from many of these friends have made the problem hit closer to home. And we can't blame them either: modern checkout funnels can feel like they're designed to trigger impulsive dopamine hits.
Traditional budgeting apps act like an autopsy, scolding you days later for money you already spent on Tuesday. We were inspired to build Simmer: a proactive financial guardrail that steps in when a user's finger is on the trigger, giving them the space and data they need to breathe. Simmer is a shopping tool, not a medical or ADHD treatment.
What it does
Simmer adds de-escalating friction to the checkout process.
- The Interception: Our Chrome extension runs and mobilizes on checkout pages. It blocks the purchase button and starts marinating: a timer soft lock with a calm overlay. The unlock button is always visible, and it only re-enables the store's own checkout button. Simmer never clicks it for you.
- The Check-In: Simmer asks one question by iMessage through Photon: "What's making you want to purchase?" You answer by text, or dictate with your own phone's speech-to-text.
- The Verdict: Simmer reads your reason. If it is trivial, it will negatively impact a continuously calculated score and act accordingly. It considers the user's previous purchases and suggests better-value products.
- The Vault: Click Unlock to go ahead, or push the item into the Vault to sleep on it. The Vault keeps checkout blocked and shows exactly when it ends.
How we built it
Database and sign-in: MongoDB Atlas through Mongoose stores accounts. Passwords are hashed, and sign-in uses a token. Regret memory: Backboard keeps each user's purchase and regret history and searches it to raise the 1 to 8 impulse score. Veto check: Grok, through the xAI API, makes the final call on whether a "necessary" bag really is necessary. Texting: Photon sends the iMessage that asks before a paused cart unlocks. T-Mobile track: a carrier-switch flow that runs on synthetic data only.
Photon 2.0: our iMessage line You link your phone by texting the line once (shared lines need you to text first), and Simmer replies in that thread. A teammate's iPhone received Simmer's reply live.
Grok The xAI Grok API (grok-4.20-0309-non-reasoning) extracts signals from your typed reason: need or want, urgency, the phone's condition, and its age when you mention it (otherwise 24 months). A keyword parser is the offline fallback. Grok never produces a dollar figure.
T-Mobile A custom heuristic using device age, remaining balance and trade-in decay powers the "Wait vs. Buy" recommendation. It checks the next 12 months for the cheapest time to buy, then your motive gets the last word. A synthetic offer catalog adds an example bundle only when it's strictly cheaper
Accounts and memory: email and password accounts with argon2-hashed passwords on MongoDB through Mongoose (63 tests passing), plus per-user Backboard memory.
Built With
- css
- express.js
- grok
- html
- manifestv3
- node.js
- photon2.0
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.