- Landing: 'TLD price explorer' → 'Market overview'
- Auctions: Title to 'Curated Opportunities' (no small numbers)
- TLD Pricing: First row (.com) visible without blur for preview
- Footer: Updated branding, simplified, added tagline
- All Sign In links redirect back to original page
- Fix Command Center loading on mobile (add mobile sidebar menu)
- Rename 'Market' to 'Auctions' in navigation (clearer naming)
- Add Vanity Filter for public auctions (hide spam domains)
- Premium TLDs only for public (.com, .io, .ai, etc.)
- Max 15 chars, max 1 hyphen, max 2 digits
- No random consonant strings
- Improve pricing page differentiation
- Highlight 'Smart spam filter' for Trader
- Show 'Curated list' vs 'Raw feed'
- Add sublabels for key features
- Add background effects to Command Center
- Improve responsive design
- New Sidebar component with collapsible navigation
- New CommandCenterLayout for logged-in users
- Separate routes: /watchlist, /portfolio, /market, /intelligence
- Dashboard with Activity Feed and Market Pulse
- Traffic light status indicators for domain status
- Updated Header for public/logged-in state separation
- Settings page uses new Command Center layout
Landing Page:
- New hero section with 'The market never sleeps' headline
- Live market ticker showing hot auctions
- Three pillars: Discover, Track, Acquire structure
- Better value propositions and CTAs
- Improved TLD trending section
- Cleaner pricing comparison
- More 'Bloomberg meets Apple' aesthetic
Documentation:
- GAP_ANALYSIS.md: Comprehensive comparison of concept vs implementation
- Prioritized roadmap for missing features
- concept.md: Original product concept
Infrastructure:
- Improved start.sh with better process management
- Port cleanup and verification
- Better error handling and logging
- Add delete user functionality with cascade deletion of all user data
- Fix OAuth URLs to include /api/v1 path
- Fix token storage key consistency in OAuth callback
- Update user model to cascade delete price alerts
- Improve email templates with minimalist design
- Add confirmation dialog for user deletion
- Prevent deletion of admin users
- After login, check if user.is_verified is false
- If not verified, redirect to /verify-email page instead of dashboard
- This ensures same UX as after registration
Backend (Scheduler):
- Add check_domains_by_frequency() for tier-based scanning
- Scout: Daily checks (at configured hour)
- Trader: Hourly checks (every :00)
- Tycoon: 10-minute real-time checks
- Smart tier filtering to avoid duplicate checks
Frontend (Pricing):
- All feature text now white (text-foreground)
Frontend (Settings/Billing):
- Show current plan with visual stats (domains, interval, portfolio)
- Display check frequency in human-readable format
- Full plan comparison table
- Green checkmarks for active features
- Upgrade CTA for free users
- Changed badge-style labels to simple text format
- Matching other pages: Market Intel, Auction Aggregator, etc.
- Removed Sparkles icon from blog headers
- Consistent: text-sm font-semibold text-accent uppercase tracking-wider
- Blog listing: Featured post hero section, animated card grid
- Category filters with accent styling
- Blog detail: Improved typography, social sharing, author box
- Consistent background effects matching landing page
- Newsletter CTA section on blog listing
- fadeInUp animations for posts grid
Admin Panel:
- User Detail Modal with full profile info
- Bulk tier upgrade for multiple users
- User export to CSV
- Price Alerts overview tab
- Domain Health Check trigger
- Email Test functionality
- Scheduler Status with job info and last runs
- Activity Log for admin actions
- Blog management tab with CRUD
Blog System:
- BlogPost model with full content management
- Public API: list, featured, categories, single post
- Admin API: create, update, delete, publish/unpublish
- Frontend blog listing page with categories
- Frontend blog detail page with styling
- View count tracking
OAuth:
- Google OAuth integration
- GitHub OAuth integration
- OAuth callback handling
- Provider selection on login/register
Other improvements:
- Domain checker with check_all_domains function
- Admin activity logging
- Breadcrumbs component
- Toast notification component
- Various UI/UX improvements
SETTINGS FIXES:
- Profile save now calls real API (PUT /auth/me)
- Updates store after successful profile save
- Notification preferences now functional with state
- Save preferences button added
- Preferences stored in localStorage
- Proper loading/saving states
DASHBOARD FIX:
- Portfolio data loads on mount (not just when tab active)
- Tab counts now show correct numbers
- Both Watchlist and Portfolio counts visible immediately
API:
- Added updateMe() method in api.ts
DASHBOARD CHANGES:
- Stats cards now all neutral (no colored backgrounds)
- Added limit warning with upgrade CTA when domain limit reached
- Removed TLD Price Intelligence section
- Portfolio now uses table layout like Watchlist
- Consistent styling across both tabs
NAVIGATION OVERHAUL:
- New notification center with dropdown
- Shows available domains with pulsing indicator
- Empty state when no notifications
- Link to manage notifications
- New user dropdown menu
- Shows user info and plan tier
- Domain usage (X/Y domains)
- Quick links to Dashboard, TLD Pricing, Settings
- Clean logout option
- Dashboard button more prominent
- Plans link hidden when logged in
- Click-outside closes dropdowns
MOBILE:
- User info shown at top of mobile menu
- Plan tier and domain usage visible
- All navigation items accessible
DASHBOARD:
- Reverted status icons to simple dots with pulse animation
- Changed max-width from 5xl to 7xl (matching tld-pricing)
- All colors back to accent/green (no cyan/emerald/etc)
- Stats cards use accent color for positive values
- Monitoring domains show pulsing green dot
- Added proper spacing (pt-28/32, pb-20/24)
SETTINGS:
- Updated to match dashboard style (max-w-7xl)
- Same padding and spacing
- rounded-2xl for modern look
- Accent green for highlights
- Pulsing dots for active alerts
- Consistent border and bg colors
STATUS ICONS:
- CircleCheck (emerald) = Available - ready to hunt
- Radio (cyan, pulsing) = Monitoring - actively watching
- CircleAlert (amber, pulsing) = Expiring soon - urgent
- CircleX (gray) = Registered - taken
VISUAL IMPROVEMENTS:
- Status icons with colored backgrounds and ring effects
- Pulsing animation for monitoring and expiring domains
- Stats cards with vibrant color accents (emerald, cyan, amber, violet)
- Icon badges in stat cards for better visual hierarchy
- Gradient quick-links section
- Increased max-width consistency (max-w-5xl)
- More padding (pt-28/32, pb-20/24)
- Rounded-2xl for modern card look
- Hover effects with color transitions
COLORS:
- Emerald for positive/available
- Cyan for monitoring/active
- Amber for warnings/expiring
- Violet for investments
- Rose for negative/loss
DESIGN CHANGES:
- Restored table-based domain list for cleaner data display
- Simpler header without large hero section
- Compact stats row with modern rounded corners
- Clean tab navigation with pill style
- Kept all functionality intact
- Modern modals with blur backdrop
- Subtle hover effects on table rows
- Clean typography hierarchy
This returns to the original minimalist style while keeping
modern UI improvements like rounded corners and subtle gradients.
DASHBOARD REDESIGN (Award-winning UI):
- New hero section with gradient icon and tier badge
- Modern stats grid with gradient backgrounds
- Redesigned domain cards with improved spacing
- Better visual hierarchy and typography
- Smooth animations and transitions
- Quick links section at bottom
- Redesigned all modals with rounded corners
- Better color system for ROI indicators
- Improved mobile responsiveness
API FIX:
- Fixed PATCH /domains/{id}/notify endpoint
- Now accepts body with 'notify' field instead of query param
- Resolves 422 Unprocessable Entity error
UI IMPROVEMENTS:
- Added BellOff icon for disabled notifications
- Better loading states with descriptive text
- Improved empty states with larger icons
- Gradient backgrounds for positive/negative values
- Better button hover states
SCHEDULER DOCUMENTATION:
- Built-in APScheduler runs automatically with backend
- 4 scheduled jobs: Domain check, TLD scrape, Auctions, Price alerts
- Optional external cron commands for production
- PM2 recommended setup for production
- Summary table of all cron jobs
- Added rewrites() in next.config.js to proxy /api/v1/* to backend
- Works regardless of whether Nginx is in front or external proxy goes directly to Next.js
- Disabled standalone output for non-Docker deployments
- Made Auction.valuation optional (API doesn't always return it)
- Fixed domain.notify to domain.notify_on_available in dashboard
- Changed api.request from private to protected for inheritance
README UPDATES:
- Added Quick Start section at the top with 2-command startup
- Documented common console warnings (SES, PostHog, CSS prefixes)
- Explained what errors actually need fixing
- Three startup options: Two terminals, start.sh, PM2
- Step-by-step manual setup with verification
- Application URLs table
IMPORTANT: Backend must be running for CORS errors to disappear!
BACKEND FIX:
- Added CurrentUserOptional alias to deps.py for backward compatibility
TONE OF VOICE UPDATES:
- Auctions: 'Live Auctions. One Feed. Strike first.'
- Careers: 'Build tools. For hunters.'
- Blog: 'The Hunt Report' - Market intel for hunters
- Settings: 'Your account. Your rules.'
- Forgot Password: Cleaner, direct copy
- guggeryves@hotmail.com automatically gets admin rights on registration
- Changed navigation logo from 'pounce' to 'POUNCE' (uppercase)
- Adjusted letter-spacing for better visual appearance
TypeScript Fixes:
- Cleared TypeScript cache to resolve @types/node conflicts
- Reinstalled node_modules with fresh package-lock.json
- Removed duplicate type definitions from cache
Navigation Improvements:
- Logo uses Playfair Display font (same as titles)
- Consistent font-display class for 'pounce' wordmark
- Perfect vertical centering using flex + h-9 for all nav items
- Removed unused Image import
- Unified button/link heights (36px/h-9) for visual consistency
- Improved hover states with consistent sizing
Favicon:
- Generated favicon.ico (32x32) from pounce-puma.png
- Created favicon-16x16.png and favicon-32x32.png
- Created apple-touch-icon.png (180x180)
- Created android-chrome-192x192.png and android-chrome-512x512.png
- Updated layout.tsx to reference new favicon files
- Updated site.webmanifest to use new Android icons
Landing Page Logo:
- Reduced puma logo size on hero section
- Mobile: w-32 (128px)
- Tablet: w-40 (160px)
- Desktop: w-48 (192px)
- Reduced glow effect for more elegant appearance
Settings Page:
- Horizontal scrollable tabs on mobile (< lg breakpoint)
- Vertical sidebar on desktop (lg+)
- Hide plan info card on mobile (visible in billing tab)
Header:
- Added Settings link in mobile menu for authenticated users
Global CSS:
- Added scrollbar-hide utility class
- Added smooth scrolling for touch devices
- Added touch-pan-x for horizontal scroll areas
- Removed tap highlight on mobile
- select-none utility class
Dashboard Improvements:
- Portfolio: Sell Domain Modal mit Profit-Vorschau
- Portfolio: Edit Domain Modal für alle Felder
- Watchlist: Notification Toggle Button (Bell Icon)
- Neue Handler-Funktionen für alle Aktionen
New Pages:
- /settings - Profile, Notifications, Billing, Security
- /blog/[slug] - Blog Detail Page mit Share-Buttons
- /unsubscribe - Newsletter Unsubscribe Seite
Navigation Updates:
- Settings Icon im Header für eingeloggte User
- Unsubscribe Link im Footer (Legal Section)
API Additions:
- updateDomainNotify() für Watchlist-Benachrichtigungen