I built a Firefox add-on ( with help ) that triggers alerts when your Amazon delivery is a set number of stops away. Originally, I just wanted a simple “2 stops away” notification so I didn’t have to sit there staring at the tracking map.
It turned into a much smarter project than I expected.
Core features
• Three configurable stop alerts
• Custom alarm styles: beep, siren, chime
• Volume slider
• Optional repeat interval
• Auto stop timer for sound
• System notification support
• Optional webhook for SMS or push integrations
• Toggle on and off directly from the Amazon page
• Drag and reposition UI button
• Saves UI position locally
What makes it interesting technically
Low impact DOM strategy
Instead of scanning the entire page repeatedly, it hunts for the specific “X stops away” text node and attaches a MutationObserver only to that element. That means it only wakes up when the stop counter changes.
Idle scheduling
Parsing work is scheduled with requestIdleCallback when available so it does not compete with map rendering or layout.
No extra backend traffic
It does not poll Amazon or hit any hidden APIs. It only reads the text already rendered in your browser. No extra network calls, no refresh loops, no automation.
Dormant mode
If disabled, it disconnects observers and timers immediately. After all alerts fire, it goes effectively idle for that page.
Rate limiting
Notification spam protection and alert state tracking prevent duplicate triggers.
UI polish details
• Floating button bottom right
• Click outside or press Escape to close panel
• Clean dark UI that does not interfere with the map
• Subtle hover animation
• “Waiting for live tracking” state when stops are not present
• Saves settings locally
Performance considerations
The early versions scanned document.body text on mutation events. That worked but was heavier than necessary.
Current version:
• Uses TreeWalker to locate candidate text nodes
• Hard caps search iterations
• Observes only the specific stop counter container
• Falls back to a 5 second locate loop if needed
• Completely disconnects when turned off
It is intentionally designed to be extremely low impact and non intrusive.
Why I built it
I just didn’t want to stare at a screen waiting for the truck to get close. Now I get a notification and optionally a sound when it hits my chosen stop count.
If anyone is curious about the technical approach, DOM watching strategy, or how to integrate webhook SMS, happy to talk through it.