What
Let users set a target price on a saved wishlist product. A daily cron job checks the current price and sends a Resend email when it drops to or below the target.
Why
Saved products often fluctuate in price. Automating the price watch saves the user from manually rechecking and means they can act quickly when a deal appears.
Milestone / Phase
Phase 9 — v1.5.0
Branch
phase-9-price-drop-alerts
Tasks
Schema
Cron Extension (lib/reminders.ts or new lib/price-alerts.ts)
Email (lib/email.ts)
Server Actions
UI
Polish
Release
What
Let users set a target price on a saved wishlist product. A daily cron job checks the current price and sends a Resend email when it drops to or below the target.
Why
Saved products often fluctuate in price. Automating the price watch saves the user from manually rechecking and means they can act quickly when a deal appears.
Milestone / Phase
Phase 9 — v1.5.0
Branch
phase-9-price-drop-alertsTasks
Schema
price_alertstable (id,wishlist_item_id,user_id,target_price_pence,last_known_price_pence,statusenum: active/triggered/paused/dismissed,last_checked_at,created_at)npm run db:pushCron Extension (
lib/reminders.tsor newlib/price-alerts.ts)triggered, send email/api/cron/reminders(or dedicated/api/cron/price-alerts) protected byCRON_SECRETEmail (
lib/email.ts)Server Actions
createPriceAlert(set target price, activate)updatePriceAlertStatus(pause / dismiss)deletePriceAlertUI
/settings→ Price Alerts section: list active alerts with current/target price, pause/dismiss controlsPolish
Release
CHANGELOG.mdpackage.jsonto1.5.0