Custom domain: https://silvercreeklogistics.com Worker-bee: https://silver-creek-logistics.worker-bee.app Vercel: prj_GAvvhHkkuDLGfjf3mg0fH3Y4DeMA Latest prod: silver-creek-logistics-gl386wlpj-adobetoby-5572s-projects.vercel.app Stack: Next.js 16 + Supabase + Twilio + QuickBooks
/admin/crm — customer relationship manager /admin/clients — client list /admin/invoices — invoice management /admin/dispatch — dispatch automation /admin/marketing — marketing controls /admin/settings — site config Auth: cookie-based admin (adminAuth.ts)
/portal/dashboard — customer dashboard /portal/invoices — invoice view + pay Auth: Supabase JWT Stripe: online invoice payments via public token URL /invoice/[id] — public payment link (no login)
Cloudflare Worker: silvercreek-dispatch (30-min cron) Vercel cron: /api/cron/dispatch daily Twilio SMS: driver dispatch notifications Gmail: email notifications (GMAIL_USER + GMAIL_APP_PASSWORD) CRON_SECRET shared between Vercel + Cloudflare
Client: logistics company — monthly retainer Revenue: hosting + maintenance fee Value: dispatch automation ($$$ labor savings), QuickBooks sync Stripe: customer invoice payments processed through portal QuickBooks: QB_CLIENT_ID/SECRET integration for accounting
NEXT_PUBLIC_SUPABASE_URL: placeholder.supabase.co (needs real) SUPABASE_SERVICE_ROLE_KEY ✓ ADMIN_SECRET ✓ | ANTHROPIC_API_KEY ✓ CRON_SECRET (Vercel + CF Worker must match) GMAIL_USER + GMAIL_APP_PASSWORD TWILIO_ACCOUNT_SID/AUTH_TOKEN/FROM/DISPATCH_PHONES QB_CLIENT_ID/SECRET/REDIRECT_URI/ENVIRONMENT