'use client' import { useState, useRef } from 'react' import Link from 'next/link' import { motion, AnimatePresence, useInView } from 'framer-motion' import { Globe, Brain, Shield, Zap, BarChart3, Lock, ArrowRight, ChevronDown, ChevronUp, Target, Users, Gem, CheckCircle2, Terminal, Play, Cpu, } from 'lucide-react' /* ─── FEATURES ──────────────────────────────────────────────────── */ const FEATURES = [ { icon: Globe, title: 'Multi-Site Coverage', desc: 'Watches eBay, HiBid, ShopGoodwill, and 12+ more simultaneously. Add any new site in seconds with AI-generated selectors.', accent: '#06b6d4', }, { icon: Brain, title: 'AI-First Filtering', desc: 'Write in plain English what a perfect lot looks like. The AI reads every title and decides match or reject — with a clear reason.', accent: '#a78bfa', }, { icon: Shield, title: 'Stealth Engine', desc: '30+ fingerprint patches, Bezier mouse curves, human typing rhythms. Auction sites see a person, not a bot.', accent: '#00e87b', }, { icon: Zap, title: 'Instant Alerts', desc: 'Telegram, Discord, and Gmail in real time. Multi-interval closing alerts at 60, 30, 10, 5 minutes before the hammer falls.', accent: '#fbbf24', }, { icon: BarChart3, title: 'Smart Scoring', desc: 'Database-backed heuristic rules boost or penalise every lot. Fully editable. Or disable entirely for pure AI mode.', accent: '#3b82f6', }, { icon: Lock, title: 'Privacy-First', desc: 'Runs entirely on your machine. SQLite or PostgreSQL. Your hunting intelligence stays yours — no cloud fees, no data leaks.', accent: '#f43f5e', }, ] /* ─── STEPS ─────────────────────────────────────────────────────── */ const STEPS = [ { n: '01', title: 'Add Targets', desc: 'Define keywords and tell the AI what a good lot looks like in plain English.', color: '#00e87b' }, { n: '02', title: 'Engine Runs', desc: 'Stealth browsers scan every site on a schedule. You do nothing.', color: '#06b6d4' }, { n: '03', title: 'AI Filters', desc: 'Every lot is read and scored. Junk is rejected. Only good matches continue.', color: '#a78bfa' }, { n: '04', title: 'You Win', desc: 'Instant alerts fire. You bid on the original site. You capture deals others miss.', color: '#fbbf24' }, ] /* ─── AUDIENCE ──────────────────────────────────────────────────── */ const AUDIENCE = [ { icon: Target, title: 'Power Buyers & Flippers', desc: 'See every under-priced lot before competitors do. Never miss a liquidation deal again.', accent: '#00e87b' }, { icon: Gem, title: 'Collectors & Deal Hunters', desc: 'AI precision — only lots that match your exact criteria. Zero noise, zero manual browsing.', accent: '#a78bfa' }, { icon: Users, title: 'Teams & Agencies', desc: 'Monitor multiple platforms and regions without dedicating staff hours to manual searching.', accent: '#06b6d4' }, ] /* ─── FAQ ───────────────────────────────────────────────────────── */ const FAQ = [ { q: 'Does Ghost Node place bids for me?', a: 'No. Ghost Node is a pure intelligence layer — it monitors, filters, scores, and alerts you. You place bids yourself on the original site. This keeps you in full control.' }, { q: 'Which auction sites are supported?', a: 'eBay UK, eBay US, HiBid, and ShopGoodwill work out of the box. 12 more sites (Invaluable, BidSpotter, Catawiki, LiveAuctioneers, and more) are ready to configure. Any new site can be added with AI-generated selectors.' }, { q: 'How does the AI filter work?', a: 'Per keyword, you write a natural-language description — e.g. "actual Samsung tablet device, not cases or accessories". The AI reads every lot title and returns match/reject plus a human-readable reason you can review.' }, { q: 'Is this allowed by auction sites?', a: "Ghost Node behaves exactly like a human browser: slow scrolling, randomised mouse movement, realistic typing. You are solely responsible for each platform's terms of service." }, { q: 'Will it run 24/7?', a: 'Yes — Ghost Node runs as a background Python process with a configurable scrape window or continuously. Failed sites auto-enter cooldown and retry. The engine is self-healing.' }, ] /* ─── FAKE LOTS ─────────────────────────────────────────────────── */ const LOTS = [ { time: '02:14', title: 'Samsung Galaxy Tab S10 FE 256GB', site: 'eBay UK', price: '£89', ok: true, score: '+74' }, { time: '02:11', title: 'Apple iPad Pro 12.9" M2 128GB', site: 'HiBid', price: '$210', ok: true, score: '+88' }, { time: '02:08', title: 'iPad protective case lot ×12', site: 'ShopGoodwill', price: '$14', ok: false, score: '−22' }, { time: '02:05', title: 'Microsoft Surface Pro 9 i5 16GB', site: 'eBay US', price: '$380', ok: true, score: '+61' }, { time: '02:01', title: 'Lenovo ThinkPad X1 Carbon Gen 11', site: 'HiBid', price: '$445', ok: true, score: '+55' }, ] /* ─── SMALL COMPONENTS ──────────────────────────────────────────── */ function GradientText({ children, from = '#00e87b', via = '#06b6d4', to = '#a78bfa' }: { children: React.ReactNode; from?: string; via?: string; to?: string }) { return ( {children} ) } function GlowOrbs() { return (
) } function LiveTerminal() { return ({q}
{a}
{f.desc}
Process
Four automated steps. You configure. Ghost Node does the rest.
{step.desc}
Audience
{a.desc}
FAQ
Ready?
Configure your first target, launch the engine, and let Ghost Node handle the watching.
Runs entirely on your machine · No cloud fees · No subscriptions