AI-powered autonomous grocery shopping Chrome extension.
- Open source boundary: see OPEN_SOURCE_SCOPE.md
- Security reporting: see SECURITY.md
- Contribution rules: see CONTRIBUTING.md
- Standalone GitHub migration flow: see GITHUB_BOOTSTRAP.md
Sally controls your browser directly to shop for you at UK supermarkets. Unlike cloud-based automation:
- Uses YOUR logged-in session - No need to share passwords
- Works in your current tab - Navigate to a supermarket, then let Sally shop
- AI-powered product matching - GPT-4o-mini intelligently selects the right products
- No anti-bot issues - It's your real browser with your real session
- ✅ AI Product Matching - Distinguishes "Apples" from "Apple juice"
- ✅ Draggable Progress Overlay - See shopping progress in real-time
- ✅ Stats Tracking - Track items added, time saved, shopping sessions
- ✅ Multi-store Support - Tesco, Sainsbury's, ASDA, Ocado, Waitrose
- ✅ Quantity Support -
2x Milk,Bread x3,Eggs (6)
- Clone the repository
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the
heysalad-ai-shopperfolder
- Navigate to a supermarket - Go to Tesco, Sainsbury's, ASDA, Ocado, or Waitrose
- Click the Sally icon - Opens the popup
- Enter your shopping list - One item per line, with optional quantities
- Click "Let Sally Shop!" - Sally will:
- Search for each item
- Use AI to pick the best matching product
- Click "Add to cart" for each item
- Navigate to checkout when done
| Store | Status | Search URL |
|---|---|---|
| Tesco | ✅ | /groceries/en-GB/search?query= |
| Sainsbury's | ✅ | /gol-ui/SearchResults/ |
| ASDA | ✅ | /search/ |
| Ocado | ✅ | /search?q= |
| Waitrose | ✅ | /ecom/shop/search?searchTerm= |
| Morrisons | ✅ | /search?q= |
| Aldi | ✅ | /search?q= |
Sally uses the Shopping Agent API (shopping-agent.heysalad-o.workers.dev) for intelligent product matching:
POST /api/match-product
{
"query": "Apples",
"products": [
{ "name": "Gala Apples 6 Pack", "price": 1.50, "index": 0 },
{ "name": "Apple Juice 1L", "price": 1.20, "index": 1 }
]
}
Response:
{
"success": true,
"bestIndex": 0,
"confidence": 0.95,
"reason": "Fresh apples match the query, not apple juice"
}
Sally tracks your shopping efficiency:
- Items Added - Total items successfully added to carts
- Time Saved - Estimated at ~30 seconds per item
- Shop Trips - Number of completed shopping sessions
heysalad-ai-shopper/
├── manifest.json # Extension manifest (v3)
├── background/
│ └── service-worker.js # Background script (task management)
├── content-scripts/
│ ├── base.js # Main shopping logic + AI matching
│ └── overlay.css # Progress overlay styles
├── popup/
│ ├── popup.html # Popup UI with stats
│ ├── popup.js # Popup logic
│ └── popup.css # Styles
├── icons/ # Extension icons
└── README.md
- Load the extension in developer mode
- Navigate to a supermarket website
- Open the popup and enter a shopping list
- Watch the overlay for progress
- Check console logs:
[Sally] ...
- Content script logs: Open DevTools on the supermarket page
- Service worker logs: Go to
chrome://extensions/→ Sally → "Service worker" - Popup logs: Right-click popup → Inspect
- No passwords stored - Uses your existing logged-in sessions
- Local processing - Shopping happens in your browser
- AI calls only for matching - Product names sent to API, not personal data
- OAuth authentication - Secure magic link login via oauth.heysalad.app
- Developer Account - Register at Chrome Web Store Developer Dashboard ($5 one-time fee)
- Privacy Policy - Host at
https://heysalad.app/privacy - Screenshots - 1280x800 or 640x400 PNG/JPEG
| Asset | Size | Location |
|---|---|---|
| Icon 16px | 16x16 | icons/icon16.png |
| Icon 32px | 32x32 | icons/icon32.png |
| Icon 48px | 48x48 | icons/icon48.png |
| Icon 128px | 128x128 | icons/icon128.png |
| Screenshot 1 | 1280x800 | Shopping list entry |
| Screenshot 2 | 1280x800 | Sally shopping in progress |
| Screenshot 3 | 1280x800 | Completed shopping with stats |
| Promo Tile | 440x280 | Marketing image |
Name: Sally by HeySalad® Short Description (132 chars max):
Meet Sally, your AI shopping assistant. She adds groceries to your cart automatically at UK supermarkets.
Detailed Description:
Sally is your personal AI shopping assistant that automates grocery shopping at UK supermarkets.
🛒 HOW IT WORKS
- Navigate to Tesco, Sainsbury's, ASDA, Ocado, or Waitrose
- Enter your shopping list
- Click "Let Sally Shop!" and watch her add items to your cart
✨ FEATURES • AI-powered product matching - Sally picks the right products • Works with your logged-in session - no password sharing • Real-time progress overlay • Stats tracking - see time saved and items added • Supports quantities: "2x Milk", "Eggs (6)"
🔒 PRIVACY Sally works entirely in your browser using your existing supermarket sessions. No passwords are stored or transmitted.
Category: Shopping Language: English (UK)
-
Create ZIP:
cd heysalad-ai-shopper zip -r sally-extension.zip . -x "*.git*" -x "*.DS_Store"
-
Upload to Chrome Web Store:
- Go to Developer Dashboard
- Click "New Item"
- Upload the ZIP file
- Fill in store listing details
- Add screenshots and promotional images
- Submit for review
-
Review Timeline: Usually 1-3 business days
For Chrome Web Store review, explain each permission:
| Permission | Justification |
|---|---|
storage |
Save user preferences, shopping stats, and task history |
activeTab |
Access current tab to detect supermarket and inject shopping script |
scripting |
Inject content script to automate shopping actions |
tabs |
Navigate to search results and cart pages |
notifications |
Alert user when shopping is complete |
- ✅ CRITICAL FIX: Fixed Tesco add/remove toggle bug - items now stay in cart
- ✅ Single click method per store to prevent React toggle issues
- ✅ Added
findIncrementButton()for quantity > 1 handling - ✅ Proper quantity controls support after first add
- ✅ Added Morrisons support
- ✅ Added Aldi support
- ✅ Improved Tesco add-to-cart click handling for React/Next.js
- ✅ Optimized wait times for faster shopping (30-50% speed improvement)
- ✅ Added comprehensive test suite
- ✅ Better error handling and debugging logs
- Initial Chrome Web Store release
- Support for Tesco, Sainsbury's, ASDA, Ocado, Waitrose
- AI-powered product matching via GPT-4o-mini
Proprietary - HeySalad OÜ
- Email: peter@heysalad.io
- Website: https://heysalad.io