/* global React, Logo, Counter, Reveal, GlowCard, BlueprintHouse, Sparkline, DonutChart, Icon, DimCorner */ // Hero, Nav, Marquee, Metrics - v2 editorial / blueprint const { useEffect, useState } = React; function Nav() { const [scrolled, setScrolled] = useState(false); useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 20); window.addEventListener("scroll", onScroll, { passive: true }); return () => window.removeEventListener("scroll", onScroll); }, []); return ( ); } // ------------ Floating dashboard mockup ---------------- function HeroDashboard() { return (
OWNERS BOX · LIVE
OPS ONLINE
GOOD MORNING, JUSTIN
Today's command view
This week
{[ { label: "Active Jobs", v: 27, accent: "var(--cyan)", icon: "calendar" }, { label: "Crews Live", v: 18, accent: "var(--orange)", icon: "crew" }, { label: "Estimates", v: 14, accent: "var(--green)", icon: "doc" }, { label: "Revenue", v: "200K", accent: "var(--violet)", icon: "money", prefix: "$" }, ].map(k => (
{k.label}
{k.prefix}{k.v}
))}
SCHEDULE TODAY
{[ { t: "10 AM", title: "Roof Inspection", sub: "123 Maple St", c: "var(--orange)" }, { t: "11 AM", title: "Estimate Review", sub: "456 Oak Ave", c: "var(--cyan)" }, { t: "1 PM", title: "Material Delivery", sub: "789 Pine Rd", c: "var(--green)" }, { t: "3 PM", title: "Project Walkthrough", sub: "321 Cedar Ln", c: "var(--violet)" }, ].map((r, i) => (
{r.t}
{r.title}
{r.sub}
))}
27
TOTAL
9 In progress
6 Scheduled
5 Completed
7 Pending
REVENUE · 7D
AI COPILOT
Suggested action
Reroute Diego's crew to 456 Oak Ave, saves 38 min.
ON TRACK
95.7%
Workflow accuracy
UP NEXT · 10:00 AM
Roof Inspection
123 Maple St · 12 min away
LIVE CREW A
FORECAST
+
); } function FloatingCard({ children, style = {}, size = "md" }) { const pad = size === "sm" ? 12 : size === "lg" ? 16 : 14; const w = size === "sm" ? 150 : size === "lg" ? 220 : 180; return (
{children}
); } // ============== COMMAND STRIP - live ops ticker ============== function CommandStrip() { return (
OPS ONLINE / MK.07 · 2026.Q2
{[ ["CREW A", "→ 123 MAPLE ST", "var(--cyan)"], ["NEXT JOB", "10:00 AM · ROOF INSPECTION", "var(--orange)"], ["AI COPILOT", "REROUTE DIEGO'S CREW → SAVES 38 MIN", "var(--cyan)"], ["PAYMENT", "+$8,250 · MAPLE PROJECT", "var(--green)"], ["ESTIMATE", "ACCEPTED · $14,800", "var(--cyan)"], ["WEATHER", "CLEAR · 72°F · WIND 4MPH", "var(--ink-2)"], ["18 CREWS ACTIVE", "· 27 JOBS LIVE", "var(--orange)"], ["UPTIME", "99.99% · 142MS SYNC", "var(--green)"], ].concat([ ["CREW A", "→ 123 MAPLE ST", "var(--cyan)"], ["NEXT JOB", "10:00 AM · ROOF INSPECTION", "var(--orange)"], ["AI COPILOT", "REROUTE DIEGO'S CREW → SAVES 38 MIN", "var(--cyan)"], ["PAYMENT", "+$8,250 · MAPLE PROJECT", "var(--green)"], ["ESTIMATE", "ACCEPTED · $14,800", "var(--cyan)"], ["WEATHER", "CLEAR · 72°F · WIND 4MPH", "var(--ink-2)"], ]).map((it, i) => ( {it[0]} {it[1]} ))}
EVENTS · 2,847/HR / SYS · GREEN
); } // ============== PRODUCT WINDOW - clean, detailed Owners Box ============== function HeroProduct() { return (
{/* Title bar */}
lynkeduppro.app / owners-box
● SYNCED
{/* Body: sidebar + main */}
{/* Sidebar */}
{/* mini logo */}
LynkedUp Pro
{[ { l: "Owners Box", i: "field", active: true }, { l: "Dashboard", i: "growth" }, { l: "Projects", i: "doc" }, { l: "Leads", i: "lead" }, { l: "Pipeline", i: "calendar" }, { l: "LynkDispatch", i: "fleet" }, { l: "Canvas", i: "spark" }, { l: "Measurements", i: "target" }, { l: "AI Assistant", i: "ai" }, { l: "Settings", i: "shield" }, ].map(it => (
{it.l}
))}
{/* Main */}
{/* Top bar */}
OWNERS BOX
Good morning, Justin
This week
J
{/* KPI strip */}
{[ { l: "Appointments", v: "18", s: "Today", c: "var(--cyan)", i: "calendar" }, { l: "Projects", v: "27", s: "In progress", c: "var(--orange)", i: "hammer" }, { l: "Estimates", v: "14", s: "Sent", c: "var(--green)", i: "doc" }, { l: "Revenue", v: "$200K", s: "This week", c: "var(--violet)", i: "money" }, ].map(k => (
{k.l.toUpperCase()}
{k.v}
{k.s}
))}
{/* Body: schedule + right column */}
{/* Schedule */}
SCHEDULE · TODAY 4 ITEMS
{[ { t: "10 AM", title: "Roof Inspection", sub: "123 Maple St · Justin J.", c: "var(--orange)" }, { t: "11 AM", title: "Estimate Review", sub: "456 Oak Ave · Sarah M.", c: "var(--cyan)" }, { t: "1 PM", title: "Material Delivery", sub: "789 Pine Rd · Mike T.", c: "var(--green)" }, { t: "3 PM", title: "Project Walkthrough", sub: "321 Cedar Ln · Justin J.", c: "var(--violet)" }, ].map((r, i) => (
{r.t}
{r.title}
{r.sub}
))}
{/* Right column: donut + activity + map */}
27
In progress 9
Scheduled 6
Completed 5
Pending 7
RECENT ACTIVITY LIVE
{[ { c: "var(--cyan)", t: "New lead added", s: "John Smith · 34m" }, { c: "var(--orange)", t: "Estimate sent", s: "456 Oak · 1h" }, { c: "var(--green)", t: "Payment received", s: "$8.2K · 3h" }, ].map((a, i) => (
{a.t} {a.s}
))}
); } // AI Copilot overlay - single confident card function CopilotOverlay() { return (
AI COPILOT
Suggested action · 2s ago
Traffic on Maple St is moderate. Suggest leaving by 9:42 AM for your 10:00 AM inspection.
); } function UpNextOverlay() { return (
UP NEXT · 10:00 AM
Roof Inspection
123 Maple St · 12 min away
● LIVE CREW A RES.
); } // ============== HERO v3 - Confident Editorial ============== function Hero() { return (
{/* Section meta strip */}
§01 FIELD OPERATING SYSTEM
BUILD MK.07 SOC 2 TYPE II 99.99% UPTIME
{/* LEFT - editorial column */}
AI CONSTRUCTION OPERATING SYSTEM

One platform.
Every job.
Zero drag.

The AI command center for modern construction. Connect crews, projects, scheduling, budgets, the customer portal, and field intelligence in a single seamless ecosystem. It's your assistant that never sleeps or takes a day off.

4.9★ · 248 reviews
{/* RIGHT - product stage */}
{/* Ambient glows */}
{/* Half wireframe house behind */}
{/* Floor reflection plate */}
LynkedUp Pro dashboard {/* Stage signature plate */}
OWNERS BOX · v7.1
{/* Vertical mono rail beside the product */}
{["▴","|","|","◆","|","|","▾"].map((c, i) => ( {c} ))}
{/* Bottom stat strip */}
{[ { v: "2,000+", l: "Operators on platform", c: "var(--cyan)" }, { v: "98.7%", l: "Workflow accuracy", c: "var(--green)" }, { v: "65%", l: "Faster delivery", c: "var(--orange)" }, { v: "24/7", l: "AI ops monitoring", c: "var(--violet)" }, ].map((s, i) => (
{s.v}
{s.l}
))}
); } // ============== MANIFESTO ============== function Manifesto() { return (
§02 THESIS
WHY LYNKEDUP PRO

Construction runs on five tools,{" "} four spreadsheets,
and a whiteboard. We replaced all of it with{" "} one operating brain.

{[ { n: "01", t: "Connected by design", d: "Every action across CRM, jobs, billing and field flows through the same data layer in real time." }, { n: "02", t: "Intelligent by default", d: "The AI Copilot watches every workflow and suggests the next best action, before you know you need it." }, { n: "03", t: "Built for the field", d: "Engineered with the operators using it. Roofers, contractors, infrastructure teams, not desk-bound PMs." }, ].map(p => (
{p.n} /
{p.t}
{p.d}
))}
); } // ============== BLUEPRINT MARQUEE - uses dim tags ============== function TrustMarquee() { const items = [ { t: "BUILT FOR ROOFING", d: "18′-7″" }, { t: "ENTERPRISE GRADE", d: "12′-3″" }, { t: "AI-POWERED OPS", d: "MK.07" }, { t: "SOC 2 TYPE II", d: "CERT.04" }, { t: "REAL-TIME SYNC", d: "142 MS" }, { t: "4,000+ PROJECTS", d: "Q2.26" }, { t: "TRUSTED BY FIELD TEAMS", d: "v7.1" }, { t: "ZERO DOWNTIME", d: "99.99%" }, { t: "BUILT BY ROOFERS", d: "EST.21" }, ]; return (
{[...items, ...items, ...items].map((it, i) => ( {it.t} {it.d} ))}
); } // ============== LIVE METRICS v2 ============== function LiveMetrics() { // Projects-managed counter: starts at 3,000 on launch and ticks up 1 per day. const LAUNCH_MS = Date.UTC(2026, 6, 7); // 2026-07-07 const projectsManaged = 3000 + Math.max(0, Math.floor((Date.now() - LAUNCH_MS) / 86400000)); const metrics = [ { v: projectsManaged, suffix: "+", label: "PROJECTS MANAGED", sub: "Across enterprise contractors, and growing", icon: "shield", color: "var(--cyan)", code: "M.01" }, { v: 98.7, suffix: "%", decimals: 1, label: "WORKFLOW ACCURACY", sub: "Connected data, fewer errors", icon: "target", color: "var(--green)", code: "M.02" }, { v: 65, suffix: "%", label: "FASTER JOB DELIVERY", sub: "Vs. legacy spreadsheets & CRMs", icon: "growth", color: "var(--orange)", code: "M.03" }, { v: 24, suffix: "/7", label: "AI OPS MONITORING", sub: "Always-on field intelligence", icon: "ai", color: "var(--violet)", code: "M.04" }, ]; return (
§03 LIVE METRICS · STREAMING

Field teams choose precision.

STREAM · 142 MS
{metrics.map((m, i) => (
{m.code} /
{m.label}
{m.sub}
))}
); } Object.assign(window, { Nav, Hero, Manifesto, TrustMarquee, LiveMetrics });