# Pounce - Active Context ## Current Status Pounce Terminal fully functional with complete monitoring & notification system. ## Completed - [x] Backend structure with FastAPI - [x] Database models (User, Domain, DomainCheck, Subscription, TLDPrice, DomainHealthCache) - [x] Domain checker service (WHOIS + RDAP + DNS) - [x] Domain health checker (DNS, HTTP, SSL layers) - [x] Authentication system (JWT + OAuth) - [x] API endpoints for domain management - [x] Tiered scheduler for domain checks (Scout=daily, Trader=hourly, Tycoon=10min) - [x] Next.js frontend with dark terminal theme - [x] Pounce Terminal with all modules (Radar, Market, Intel, Watchlist, Listing) - [x] Intel page with tier-gated features - [x] TLD price scraping from 5 registrars (Porkbun, Namecheap, Cloudflare, GoDaddy, Dynadot) - [x] **Watchlist with automatic monitoring & alerts** - [x] **Health check overlays with complete DNS/HTTP/SSL details** - [x] **Instant alert toggle (no refresh needed)** ## Recent Changes (Dec 2024) ### Watchlist & Monitoring 1. **Automatic domain checks**: Runs based on subscription tier 2. **Email alerts when domain becomes available**: Sends immediately 3. **Expiry warnings**: Weekly check for domains expiring in <30 days 4. **Health status monitoring**: Daily health checks with caching 5. **Weekly digest emails**: Summary every Sunday ### Email Notifications Implemented | Alert Type | Trigger | |------------|---------| | Domain Available | Domain becomes free | | Expiry Warning | <30 days until expiry | | Health Critical | Domain goes offline | | Price Change | TLD price changes >5% | | Sniper Match | Auction matches criteria | | Weekly Digest | Every Sunday | ### UI Improvements 1. **Instant alert toggle**: Uses Zustand store for optimistic updates 2. **Less prominent check frequency**: Subtle footer instead of prominent banner 3. **Health modals**: Show complete DNS, HTTP, SSL details 4. **"Not public" for private registries**: .ch/.de show lock icon with tooltip ## Next Steps 1. **Configure SMTP on server** - Required for email alerts to work 2. **Test email delivery** - Verify alerts are sent correctly 3. **Consider SMS alerts** - Would require Twilio integration 4. **Monitor scheduler health** - Check logs for job execution ## Server Deployment Checklist - [ ] Set `SMTP_*` environment variables (see `env.example`) - [ ] Set `STRIPE_*` for payments - [ ] Set `GOOGLE_*` and `GITHUB_*` for OAuth - [ ] Run `python scripts/init_db.py` - [ ] Run `python scripts/seed_tld_prices.py` - [ ] Start with PM2: `pm2 start "uvicorn app.main:app --host 0.0.0.0 --port 8000"` ## Design Decisions - **Dark terminal theme** with emerald accent (#10b981) - **Tier-gated features**: Scout (free), Trader ($9), Tycoon ($29) - **Real data priority**: Always prefer DB data over simulations - **Multiple registrar sources**: For accurate price comparison - **Optimistic UI updates**: Instant feedback without API round-trip ## Known Considerations - Email alerts require SMTP configuration - Some TLDs (.ch, .de) don't publish expiration dates publicly - SSL checks may fail on local dev (certificate chain issues) - Scheduler starts automatically with uvicorn