
Why these five and not the others: new lead is the entire reason agents are on the platform — if this doesn't work flawlessly, nothing else matters. Messages keep conversations moving without people refreshing the dashboard. Verification status and subscription expiry are both moments where silence directly costs you (an agent who doesn't know their Elite Package lapsed just churns quietly). And the admin registration alert is what currently doesn't exist and is probably costing you response time on new agency signups today. What I'd deliberately leave out of MVP: saved search alerts, price-drop alerts, performance digests, featured rotation status, and push notifications. None of these have a churn or revenue consequence if delayed by a release — they're nice-to-have engagement features, not protective ones. Push specifically requires a mobile app you don't have yet, so building it now is pure waste. Why in-app + email only (no separate queue/broker) Given your infra — no CI/CD, manual PM2 deploys, solo operator — adding a message broker (Redis/SQS) for this is over-engineering. Email can fire synchronously off your existing email service at the same point the in-app row is written. This keeps it to one deploy across your four repos instead of new infrastructure to babysit.Created 2 files, read a fileCreated 2 files, read a file~17–24 hours total, no new infrastructure (no Redis, no message broker, no push setup) — runs entirely on your existing PM2/cron/Postgres setup. The package-expiry check is the only piece that needs a new cron entry; everything else hooks into code paths that already exist (lead creation, messaging, admin verification, registration).