pounce/memory-bank/activeContext.md
yves.gugger dc77b2110a feat: Complete Watchlist monitoring, Portfolio tracking & Listings marketplace
## Watchlist & Monitoring
-  Automatic domain monitoring based on subscription tier
-  Email alerts when domains become available
-  Health checks (DNS/HTTP/SSL) with caching
-  Expiry warnings for domains <30 days
-  Weekly digest emails
-  Instant alert toggle (optimistic UI updates)
-  Redesigned health check overlays with full details
- 🔒 'Not public' display for .ch/.de domains without public expiry

## Portfolio Management (NEW)
-  Track owned domains with purchase price & date
-  ROI calculation (unrealized & realized)
-  Domain valuation with auto-refresh
-  Renewal date tracking
-  Sale recording with profit calculation
-  List domains for sale directly from portfolio
-  Full portfolio summary dashboard

## Listings / For Sale
-  Renamed from 'Portfolio' to 'For Sale'
-  Fixed listing limits: Scout=0, Trader=5, Tycoon=50
-  Featured badge for Tycoon listings
-  Inquiries modal for sellers
-  Email notifications when buyer inquires
-  Inquiries column in listings table

## Scrapers & Data
-  Added 4 new registrar scrapers (Namecheap, Cloudflare, GoDaddy, Dynadot)
-  Increased scraping frequency to 2x daily (03:00 & 15:00 UTC)
-  Real historical data from database
-  Fixed RDAP/WHOIS for .ch/.de domains
-  Enhanced SSL certificate parsing

## Scheduler Jobs
-  Tiered domain checks (Scout=daily, Trader=hourly, Tycoon=10min)
-  Daily health checks (06:00 UTC)
-  Weekly expiry warnings (Mon 08:00 UTC)
-  Weekly digest emails (Sun 10:00 UTC)
-  Auction cleanup every 15 minutes

## UI/UX Improvements
-  Removed 'Back' buttons from Intel pages
-  Redesigned Radar page to match Market/Intel design
-  Less prominent check frequency footer
-  Consistent StatCard components across all pages
-  Ambient background glows
-  Better error handling

## Documentation
-  Updated README with monitoring section
-  Added env.example with all required variables
-  Updated Memory Bank (activeContext.md)
-  SMTP configuration requirements documented
2025-12-11 16:57:28 +01:00

3.1 KiB

Pounce - Active Context

Current Status

Pounce Terminal fully functional with complete monitoring & notification system.

Completed

  • Backend structure with FastAPI
  • Database models (User, Domain, DomainCheck, Subscription, TLDPrice, DomainHealthCache)
  • Domain checker service (WHOIS + RDAP + DNS)
  • Domain health checker (DNS, HTTP, SSL layers)
  • Authentication system (JWT + OAuth)
  • API endpoints for domain management
  • Tiered scheduler for domain checks (Scout=daily, Trader=hourly, Tycoon=10min)
  • Next.js frontend with dark terminal theme
  • Pounce Terminal with all modules (Radar, Market, Intel, Watchlist, Listing)
  • Intel page with tier-gated features
  • TLD price scraping from 5 registrars (Porkbun, Namecheap, Cloudflare, GoDaddy, Dynadot)
  • Watchlist with automatic monitoring & alerts
  • Health check overlays with complete DNS/HTTP/SSL details
  • 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