// mockups.jsx — abstract product mockups (CSS/HTML, original) const mk = { // Hero: floating glass funnel/analytics dashboard HeroDashboard: () => (
{/* Main card: funnel analytics */}
Funnel Sessions Revenue
Last 30d
Conv. Rate
12.84%
+2.4
Sessions
48,210
+18.2%
MRR
$24.6k
+9.1%
{[40,80,120,160,200,240,280,320,360].map((x,i)=>( ))}
Mar 18 $1,284
{[ {label: "Visitors", v: 100, n: "48,210"}, {label: "Sign-ups", v: 64, n: "30,854"}, {label: "Trial", v: 38, n: "18,319"}, {label: "Paid", v: 13, n: "6,194"}, ].map((s,i)=>(
{s.label}
{s.n}
))}
{/* Floating side card: integrations */}
Live connected
{["Stripe", "Resend", "Supabase", "Linear", "Slack"].map((n,i)=>(
{n} 200
))}
{/* Floating side card: deploy */}
Deployed to production
main · 7s ago · build 248
), // Portfolio thumbnails SaasDashboard: () => (
{[0,1,2,3,4].map(i=>
)}
{[0,1,2,3].map(i=>
)}
), FunnelSystem: () => (
01 Landing
02 Opt-in
03 Offer
04 Checkout
CTR42.8%
CR9.6%
AOV$148
), TradingJournal: () => (
AI Journal +$1,284.20
{Array.from({length: 28}).map((_,i)=>{ const h = 20 + Math.abs(Math.sin(i*1.3))*60; const up = Math.sin(i*0.7) > 0; return
; })}
LongRSI div15m+R 2.4
), LandingPage: () => (
{[0,1,2,3,4].map(i=>
)}
), BookingFunnel: () => (
March 2026
{Array.from({length: 28}).map((_,i)=>(
5&&i<25?"avail":"")}/> ))}
09:00
10:30
14:00
15:30
), }; Object.assign(window, { mk });