- Geo filter now uses backend type='ccTLD' instead of hardcoded list
- Tech filter expanded with more tech-related TLDs
- Load 500 TLDs instead of 100 for better coverage
- Calculate time_remaining live from end_time ISO string (UTC)
instead of using static backend string. This ensures time is
always accurate even if page stays open for hours.
- Remove /intelligence redirect page (was only a redirect to /tld-pricing)
- Add getSecondsUntilEnd() and calcTimeRemaining() helpers
- Run auction cleanup every 5 minutes and treat end_time <= now as ended
- Add admin endpoints to upload/inspect Playwright cookies (free alternative to paid proxies)
- Add client-side guardrail to never render ended auctions in Terminal Market
- Clamp end_time on updates to prevent drift from rounded time-left sources (e.g. Sav)
- Use a single request 'now' for time_remaining formatting across endpoints
- Avoid 'Ended' flicker caused by processing delays
- Treat Park.io close_date as America/New_York (configurable) and convert to UTC
- Ensure /stats, /scrape-status, /opportunities only count not-ended auctions
- Make NameJet Playwright scraper strict: requires real end_time + price
- Add Playwright proxy pool support (SCRAPER_PLAYWRIGHT_PROXY_POOL)
- Simplify protected scraping to NameJet only
- Fixed GoDaddy auctions with $0 price (set TLD-based minimum prices)
- Added SnapNames HTML scraper for additional auction data
- Improved Park.io scraper with HTML fallback (API is private)
- Enhanced HiddenApiScraperService with new sources
- Cleaned up 100+ invalid $0 entries
Current data:
- 581 total auctions with valid prices
- ExpiredDomains: 473 (avg $13)
- Dynadot: 108 (avg $332)
SYNC FIX:
- Public /auctions page now uses api.getMarketFeed()
- Same data source as Terminal /terminal/market
- Both show identical Pounce Direct + External auctions
CONCEPT REVIEW COMPLETED:
All Phase 1 features from concept docs implemented:
- ✅ TLD Pricing with Renewal Price & Trends
- ✅ Auction Aggregator (8+ sources, 542+ auctions)
- ✅ Vanity Filter for public visitors
- ✅ Pounce Direct Listings (0% commission)
- ✅ DNS Verification for ownership
- ✅ RADAR Dashboard
- ✅ MARKET Feed with unified API
- ✅ INTEL (TLD Data with registrar finder)
- ✅ WATCHLIST with monitoring
- ✅ Subscription tiers (Scout/Trader/Tycoon)
- ✅ Stripe integration
- ✅ Pounce Score algorithm
- ✅ Affiliate links for all platforms
- ✅ Sniper Alerts
- ✅ SEO pages per TLD
- ✅ Listing limits (2/10/50 by tier)
- ✅ Featured listings field
- Fixed: 'estibot_appraisal' is not a DomainAuction field
- Dynadot now saves 100 auctions to DB
- Total active auctions: 511 (was 386)
Sample data:
- embedgooglemap.net: $10,200 (51 bids)
- 9454.com: $2,550 (73 bids)
- swosh.com: $2,550 (31 bids)
- Remove all hardcoded 'bg-black' backgrounds from Terminal pages
- Let global background with emerald glow shine through
- Redesign TLD detail page to match Market/Radar/Intel style
- Use consistent StatCards, glassmorphism containers, and spacing
- Improve Quick Check section on TLD detail page
- Unify Watchlist and Listing page backgrounds for consistency
Changes:
- Fixed hover/tooltip issue: Tooltips now only trigger on the specific element, not the entire row.
- Added explicit 'Details' link to TLD table in INTEL view.
- Added clickable TLD badges in INTEL view.
- Standardized Tooltip implementation across all views.
- Ensured consistent 'Award-Winning' style for all interactive elements.
Changes:
- TerminalLayout:
- Added 'hideHeaderSearch' prop to remove top bar elements
- Header is now non-sticky and transparent when search is hidden for seamless integration
- RADAR (Dashboard):
- Removed top bar search/shortcuts
- Implemented 'Hero Style' Universal Search:
- Floating design with backdrop blur
- Dynamic emerald glow on focus
- Animated icons and clean typography
- Integrated results dropdown
- Content flows seamlessly from top
- MARKET:
- Integrated header into content (removed sticky behavior)
- Removed duplicate search/shortcuts from top bar
Changes:
- MARKET: Re-introduced 'Emerald Glow' background effect (Landing Page style)
- NAVIGATION: Complete redesign of Sidebar to match Award-Winning style
- Darker, cleaner background (zinc-950)
- Ultra-thin borders (white/5)
- New active state: subtle emerald glow line + text color (no blocky backgrounds)
- Simplified Logo section
- Modernized User Profile card
Changes:
- Added custom animated Tooltip component for Low Noise / High Density
- Tooltips added to: Score, Price, Time, Source, Actions, Headers
- Redesigned 'Monitor' button:
- Changed icon to 'Eye' (Watch)
- Made it round and distinct from primary action
- Added significant spacing (mr-4) from 'Buy' button
- Enhanced Mobile UX:
- Larger touch targets (h-9 to h-10 equivalents)
- Better button active states (scale-95)
- General Polish:
- Refined hover states and shadows
- Improved accessibility with cursor hints
Changes:
- Redesigned Metric Grid with trend indicators
- New separated Control Bar for search & filters
- High-end Data Grid with ultra-thin borders and hover effects
- Custom SVG 'Score Ring' component for Pounce Score
- Modern typography and spacing
- Removed 'clutter' badges, replaced with minimal indicators
- All columns now sortable (Domain, Score, Price, Time, Source)
- Click column header to sort asc/desc
- New professional header with icon, title, and live stats
- Cleaner, more compact design
- Better mobile responsiveness
- Improved filter bar layout
- Removed old folders: dashboard, pricing, auctions, marketplace, portfolio, alerts, seo
- Removed CommandCenterLayout.tsx (replaced by TerminalLayout)
- Fixed all internal links to use new terminal routes
- Updated keyboard shortcuts for new module names
- Fixed welcome page next steps
- Fixed landing page feature links
- Fixed radar page stat cards and links