1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Inter:wght@400;500;600&display=swap" data-precedence="default"/><link rel="stylesheet" href="/assets/styles-XRwTEsCR.css" data-precedence="default"/><title>HaulPilot â AI Oversize Load Route Planner</title><meta name="theme-color" content="#0a0a0a"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta name="apple-mobile-web-app-title" content="HaulPilot"/><meta name="author" content="HaulPilot"/><meta name="google-site-verification" content="ogoKNFvc_mXMfDpnVkCs7VSlRleVrjuiJhMRQLfLNQs"/><meta property="og:type" content="website"/><meta property="og:site_name" content="HaulPilot"/><meta property="og:image" content="https://haul-pilot-solution.lovable.app/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@Lovable"/><meta name="twitter:image" content="https://haul-pilot-solution.lovable.app/og-image.png"/><meta name="description" content="Read oversize-load permits with AI and build truck-safe routes with live maps, clearance alerts, and turn-by-turn directions. Free to start."/><meta property="og:title" content="HaulPilot â AI Oversize Load Route Planner"/><meta property="og:description" content="Read oversize-load permits with AI and build truck-safe routes with live maps and clearance alerts."/><meta property="og:url" content="https://haul-pilot-solution.lovable.app/"/><link rel="modulepreload" href="/assets/index-B7IqohZr.js"/><link rel="modulepreload" href="/assets/index-LO574kgX.js"/><link rel="modulepreload" href="/assets/sonner-DePEtm7w.js"/><link rel="modulepreload" href="/assets/trending-up-Bjk-EZKa.js"/><link rel="modulepreload" href="/assets/auth-middleware-21lU5F1R.js"/><link rel="modulepreload" href="/assets/useSubscription-C16V-4Bq.js"/><link rel="modulepreload" href="/assets/createLucideIcon-hpoMUvwA.js"/><link rel="modulepreload" href="/assets/label-DEzISUBu.js"/><link rel="modulepreload" href="/assets/SiteFooter-CPpYXA1l.js"/><link rel="manifest" href="/manifest.json"/><link rel="apple-touch-icon" href="/app-icon.png"/><link rel="icon" type="image/png" href="/app-icon.png"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="canonical" href="https://haul-pilot-solution.lovable.app/"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"HaulPilot","url":"https://haul-pilot-solution.lovable.app","description":"AI-powered permit reader and oversize-load route planner with live maps, clearance alerts, and truck-safe routing for truckers and heavy-haul operators.","logo":"https://haul-pilot-solution.lovable.app/app-icon.png"}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"HaulPilot","applicationCategory":"BusinessApplication","operatingSystem":"Web","description":"AI oversize-load route planner that reads permits, builds truck-safe routes with live maps, and flags low-clearance and weight restrictions.","offers":[{"@type":"Offer","price":"5.99","priceCurrency":"USD","name":"Owner-Operator"},{"@type":"Offer","price":"14.99","priceCurrency":"USD","name":"Fleet Starter"},{"@type":"Offer","price":"34.99","priceCurrency":"USD","name":"Fleet Growth"},{"@type":"Offer","price":"59.99","priceCurrency":"USD","name":"Fleet Pro"}]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is an oversize load route planner?","acceptedAnswer":{"@type":"Answer","text":"An oversize load route planner builds a truck-safe route for heavy-haul and oversize freight, avoiding low bridges, weight-restricted roads, and tight turns. HaulPilot reads your permit with AI and plans the route automatically."}},{"@type":"Question","name":"Can HaulPilot read my oversize permit automatically?","acceptedAnswer":{"@type":"Answer","text":"Yes. Paste your permit text or upload a photo and HaulPilot's AI extracts dimensions, weight, route, and restrictions, then builds a compliant route."}},{"@type":"Question","name":"How much does HaulPilot cost?","acceptedAnswer":{"@type":"Answer","text":"Start free with up to 3 route plans a month. Owner-Operator is $5.99/month for a single truck. Fleet plans scale by size: Starter ($14.99/mo, up to 5 trucks), Growth ($34.99/mo, up to 15), and Pro ($59.99/mo, up to 30), plus a custom Enterprise tier for 30+ trucks."}}]}</script>
1<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
1<meta name="twitter:title" content="HaulPilot â AI Oversize Load Route Planner"><meta name="twitter:description" content="Read oversize-load permits with AI and build truck-safe routes with live maps and clearance alerts."></head><body><!--$--><main class="hud-grid min-h-screen"><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><header class="sticky top-0 z-30 border-b border-border/60 bg-background/80 backdrop-blur-md"><div class="mx-auto flex max-w-7xl items-center justify-between px-4 py-3"><div class="flex items-center gap-3"><div class="grid size-10 place-items-center rounded-sm bg-primary shadow-amber"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-truck size-6 text-primary-foreground" aria-hidden="true"><path d="M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2"></path><path d="M15 18H9"></path><path d="M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.624l-3.48-4.35A1 1 0 0 0 17.52 8H14"></path><circle cx="17" cy="18" r="2"></circle><circle cx="7" cy="18" r="2"></circle></svg></div><div><div class="font-brand text-sm font-bold uppercase tracking-[0.25em] text-foreground">HaulPilot</div><div class="font-mono text-[10px] uppercase tracking-wider text-primary/70">Sector: OS-Route-04</div></div></div><div class="flex items-center gap-3"><button class="items-center justify-center gap-2 whitespace-nowrap rounded-md cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 shadow hover:bg-primary/90 h-9 py-2 border-2 border-primary/70 bg-primary px-6 font-mono text-xs font-bold uppercase tracking-wider text-primary-foreground shadow-amber animate-pulse hover:animate-none hidden sm:inline-flex"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download size-4" aria-hidden="true"><path d="M12 15V3"></path><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><path d="m7 10 5 5 5-5"></path></svg>Add to Home Screen</button><a href="/auth"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-8 rounded-md px-3 text-xs">Sign in</button></a></div></div></header><section class="mx-auto max-w-7xl px-4 pb-2 pt-8"><div class="mb-3 flex items-end gap-1"><span class="h-1 w-6 bg-primary"></span><span class="h-1 w-3 bg-primary/40"></span><span class="h-1 w-1 bg-primary/20"></span></div><h1 class="max-w-3xl text-3xl font-bold uppercase leading-none tracking-tight text-foreground md:text-5xl">Mission <span class="text-primary">Control</span> for oversize hauls</h1><p class="mt-3 max-w-xl text-sm leading-relaxed text-muted-foreground">Analyze permits with AI, calibrate cargo telemetry, and engage truck-safe routed navigation with live clearance validation.</p><div class="mt-5 sm:hidden"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 shadow hover:bg-primary/90 h-9 py-2 border-2 border-primary/70 bg-primary px-6 font-mono text-xs font-bold uppercase tracking-wider text-primary-foreground shadow-amber animate-pulse hover:animate-none w-full"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download size-4" aria-hidden="true"><path d="M12 15V3"></path><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><path d="m7 10 5 5 5-5"></path></svg>Add to Home Screen</button></div></section><div class="mx-auto max-w-7xl px-4 py-16 text-center font-mono text-[11px] uppercase tracking-wider text-muted-foreground">Initializing telemetryâ¦</div><footer class="border-t border-border/60 bg-background/80 backdrop-blur-md"><div class="mx-auto flex max-w-7xl flex-col gap-4 px-4 py-8 text-xs sm:flex-row sm:items-center sm:justify-between"><div class="font-mono uppercase tracking-wider text-muted-foreground">© <!-- -->2026<!-- --> <!-- -->HaulPilot<!-- -->. All rights reserved.</div><nav class="flex flex-wrap gap-x-6 gap-y-2 font-mono uppercase tracking-wider text-muted-foreground"><a href="/pricing" class="hover:text-foreground">Pricing</a><a href="/blog" class="hover:text-foreground">Blog</a><a href="/terms" class="hover:text-foreground">Terms</a><a href="/refunds" class="hover:text-foreground">Refunds</a><a href="/privacy" class="hover:text-foreground">Privacy</a></nav></div><div class="border-t border-border/40 px-4 py-3 text-center text-[10px] font-mono uppercase tracking-wider text-muted-foreground
1/70">Payments securely processed by Stripe</div></footer></main>
1<script>(function(t){let s;try{s=JSON.parse(sessionStorage.getItem(t.storageKey)||"{}")}catch(e){console.error(e);return}const c=t.key||window.history.state?.__TSR_key,r=c?s[c]:void 0;if(t.shouldScrollRestoration&&r&&typeof r=="object"&&Object.keys(r).length>0){for(const e in r){const o=r[e];if(!o||typeof o!="object")continue;const l=o.scrollX,i=o.scrollY;if(!(!Number.isFinite(l)||!Number.isFinite(i))){if(e==="window")window.scrollTo({top:i,left:l,behavior:t.behavior});else if(e){let n;try{n=document.querySelector(e)}catch{continue}n&&(n.scrollLeft=l,n.scrollTop=i)}}}return}const a=window.location.hash.split("#",2)[1];if(a){const e=window.history.state?.__hashScrollIntoViewOptions??!0;if(e){const o=document.getElementById(a);o&&o.scrollIntoView(e)}return}window.scrollTo({top:0,left:0,behavior:t.behavior})})({"storageKey":"tsr-scroll-restoration-v1_3","shouldScrollRestoration":true});document.currentScript.remove()</script>
1<!--/$-->
1<script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/index-B7IqohZr.js"],assets:$R[5]=[$R[6]={tag:"script",attrs:$R[7]={type:"module",async:!0},children:"import(\"/assets/index-B7IqohZr.js\")"}]},"/":$R[8]={preloads:$R[9]=["/assets/index-LO574kgX.js","/assets/sonner-DePEtm7w.js","/assets/trending-up-Bjk-EZKa.js","/assets/auth-middleware-21lU5F1R.js","/assets/useSubscription-C16V-4Bq.js","/assets/createLucideIcon-hpoMUvwA.js","/assets/label-DEzISUBu.js","/assets/SiteFooter-CPpYXA1l.js"]}}},matches:$R[10]=[$R[11]={i:"__root__�",u:1790998082073,s:"success",ssr:!0},$R[12]={i:"��",u:1790998082073,s:"success",ssr:!0}],lastMatchId:"��"})($R["tsr"]);$_TSR.e();document.currentScript.remove()</script>
1<script type="module" async="">import("/assets/index-B7IqohZr.js")</script>
1</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.