PageSourceSearch

https://www.opus9.com/about

html opus9.com collected 2026-10-04 16:19:45 UTC 32,145 bytes, 658 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" suppressHydrationWarning translate="no" data-opus9-prerender="1" data-prerender-path="/about">
3
4<head>
5  <meta charset="UTF-8" />
6  <meta name="google" content="notranslate" />
7  
7<script>
8    (function () {
9      try {
10        document.documentElement.classList.add('notranslate');
11      } catch (e) { /* ignore */ }
12    })();
13    (function () {
14      try {
15        var standalone = window.matchMedia('(display-mode: standalone)').matches || !!(window.navigator.standalone);
16        document.documentElement.setAttribute('data-display-mode', standalone ? 'standalone' : 'browser');
17      } catch (e) { /* ignore */ }
18    })();
19    (function () {
20      try {
21        var lang = localStorage.getItem('opus9_language');
22        if (lang && typeof lang === 'string' && lang.length >= 2) {
23          document.documentElement.lang = lang;
24        }
25      } catch (e) { /* ignore storage access errors */ }
26    })();
27    (function () {
28      try {
29        var k = 'vite-ui-theme';
30        var v = localStorage.getItem(k) || 'system';
31        if (v === 'system') {
32          v = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
33        }
34        var el = document.documentElement;
35        el.classList.remove('light', 'dark');
36        el.classList.add(v);
37      } catch (e) { /* ignore storage/SSR errors */ }
38    })();
39    (function () {
40      try {
41        var path = window.location.pathname || '/';
42        var isAuthRoute = path === '/login' || path === '/signup' || path === '/auth';
43        // Public marketing sites: /edi (EdiSite), /api (ApiSite) — not listed here.
44        // EDI ops (/edi/overview, /edi/partners, …) and /edi/partner-portal use React ProtectedRoute.
45        var protectedPathRe = /^\/(dashboard|admin|broker|carrier|customer|financials|crm|shipments|settings|it-support|owner-operator|api-portal)(\/|$)/;
46        var ediOpsProtectedRe = /^\/edi\/(overview|transactions|partners|mappings|errors|connections|compliance|alerts|acknowledgments|settings|documents|logs|validation-logs|mapping|partner-mapping|partner-portal)(\/|$)/;
47        var isPublicMarketing = !isAuthRoute && !protectedPathRe.test(path) && !ediOpsProtectedRe.test(path);
48        if (isPublicMarketing) {
49          document.documentElement.setAttribute('data-portal', 'website');
50          document.documentElement.setAttribute('data-website-nav-in-header', 'true');
51        }
52        if (isAuthRoute || (!protectedPathRe.test(path) && !ediOpsProtectedRe.test(path))) return;
53
54        var hasSessionToken = Object.keys(localStorage).some(function (key) {
55          if (!key.endsWith('-auth-token')) return false;
56          var value = localStorage.getItem(key);
57          return typeof value === 'string' && value.length > 0;
58        });
59
60        if (!hasSessionToken) {
61          var returnTo = encodeURIComponent(path + (window.location.search || ''));
62          window.location.replace('/login?returnTo=' + returnTo);
63        }
64      } catch (e) { /* ignore storage access/SSR errors */ }
65    })();
66  </script>
66
67  <!--
68    Hosting in a subfolder (e.g. example.com/website/)?
69    Build with: VITE_BASE_PATH=/website/ npm run build
70    Then deploy the contents of 'dist' into that subfolder.
71    Ensure your server serves index.html for all routes (SPA fallback).
72  -->
73  <!-- Responsive viewport: device width, pinch-zoom allowed (max 5x), safe-area for notches / PWA -->
74  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5, viewport-fit=cover" />
75  <link rel="stylesheet" href="./seo-shell.css" />
76  <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
77  <meta http-equiv="Pragma" content="no-cache" />
78  <meta http-equiv="Expires" content="0" />
79  <meta name="build-version" content="v3.2.0-20261001210711" />
80
81  <!-- Title ≤ ~60–70 chars; description ≤ ~150–160 chars (SERP budgets) -->
82  <title>About Opus9 | Simplify &amp; Modernize Logistics</title>
83  <meta name="description" content="Opus9 is simplifying and modernizing logistics with an AI-assisted platform built by freight brokerage professionals, with a free core workspace." />
84  <meta name="author" content="Opus9, Inc." />
85  <link rel="canonical" href="https://www.opus9.com/about" />
86
87  <!-- Calm UI chrome — must match the light and dark canvas tokens in src/index.css. -->
88  <meta name="theme-color" content="#f3f4f6" media="(prefers-color-scheme: light)" />
89  <meta name="theme-color" content="#0f1015" media="(prefers-color-scheme: dark)" />
90  <meta name="color-scheme" content="light dark" />
91  <meta name="keywords"
92    content="AI logistics platform, brokerage-built logistics, free core platform, freight broker software, carrier platform, shipper logistics, logistics service providers, freight operations, dispatch, shipment visibility, EDI, supply chain platform" />
93  <meta name="geo.region" content="US" />
94  <meta name="robots" content="index,follow" />
95
96  <!-- Organization structured data (JSON-LD) for branded search and knowledge panel eligibility -->
97  
98  <!-- WebSite schema for sitelinks search box eligibility -->
99  
100
101  <!-- Relative paths so favicon works when hosted in a subfolder (e.g. /website/) -->
102  <link rel="icon" href="./favicon.ico" sizes="48x48" />
103  <link rel="icon" type="image/png" sizes="32x32" href="./favicon.png?v=20260404" />
104  <link rel="icon" type="image/png" sizes="48x48" href="./favicon-48.png?v=20260404" />
105  <link rel="icon" type="image/svg+xml" href="./icons/favicon.svg?v=20260404" />
106  <link rel="apple-touch-icon" href="./apple-touch-icon.png?v=20260404" />
107  <link rel="apple-touch-icon" sizes="192x192" href="./pwa-icon-192.png?v=20260404" />
108  <link rel="apple-touch-icon" sizes="512x512" href="./pwa-icon-512.png?v=20260404" />
109  <link rel="manifest" href="/manifest.webmanifest" />
110
111  <!-- PWA / Add to Home Screen: open as standalone app (no browser UI on iOS/Android) -->
112  <meta name="mobile-web-app-capable" content="yes" />
113  <meta name="apple-mobile-web-app-capable" content="yes" />
114  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
115  <meta name="apple-mobile-web-app-title" content="Opus9" />
116
117  <!-- Apple Splash Screens (iOS) -->
118  <link rel="apple-touch-startup-image" href="./pwa-icon-512.png" />
119  <meta name="apple-mobile-web-app-orientations" content="portrait-any" />
120
121  <meta property="og:site_name" content="Opus9" />
122  <meta property="og:locale" content="en_US" />
123  <meta property="og:type" content="website" />
124  <meta property="og:url" content="https://www.opus9.com/about" />
125
126  <link rel="dns-prefetch" href="https://fonts.googleapis.com" />
127  <link rel="preconnect" href="https://fonts.googleapis.com" />
128  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
129  <!-- Non-blocking Google Fonts (preload + swap) to reduce render-blocking CSS -->
130  <link rel="preload" as="style"
131    href="https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@700;800&family=Space+Grotesk:wght@600;700&family=Manrope:wght@400;500;600;700&display=swap"
132    onload="this.onload=null;this.rel='stylesheet'" />
133  <noscript>
134    <link
135      href="https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;
135800&family=Plus+Jakarta+Sans:wght@700;800&family=Space+Grotesk:wght@600;700&family=Manrope:wght@400;500;600;700&display=swap"
136      rel="stylesheet" />
137  </noscript>
138
139  <style>
140    *,
141    *::before,
142    *::after {
143      box-sizing: border-box;
144      margin: 0;
145      padding: 0;
146    }
147
148    /*
149      Boot canvas — variables MUST match src/index.css (:root / .dark)
150      and website overrides in src/styles/tokens/portal-map.css.
151    */
152    :root {
153      --palette-background: 210 40% 98.0392%;
154      --palette-text: 220.9091 39.2857% 10.9804%;
155      --background: var(--palette-background);
156      --foreground: var(--palette-text);
157    }
158
159    html.dark {
160      --background: 224 18% 7%;
161      --foreground: 210 20% 96%;
162    }
163
164    html[data-portal="website"]:not(.dark) {
165      --background: 216 38% 97%;
166      --foreground: 222 47% 11%;
167    }
168
169    html[data-portal="website"].dark {
170      --background: 222 47% 11%;
171      --foreground: 210 40% 98%;
172    }
173
174    html {
175      line-height: 1.5;
176    }
177
178    html,
179    body,
180    #root,
181    #app-loading {
182      background-color: hsl(var(--background));
183      color: hsl(var(--foreground));
184    }
185
186    body {
187      font-family: Manrope, Inter, system-ui, -apple-system, sans-serif;
188      min-height: 100vh;
189      -webkit-font-smoothing: antialiased;
190      overflow-x: hidden;
191      max-width: 100vw;
192    }
193
194    #app-loading {
195      position: fixed;
196      inset: 0;
197      z-index: 9999;
198      display: flex;
199      flex-direction: column;
200      align-items: center;
201      justify-content: flex-start;
202      padding-top: calc(20vh + env(safe-area-inset-top, 0px));
203      transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
204    }
205
206    #app-loading.hidden {
207      opacity: 0;
208      visibility: hidden;
209      pointer-events: none;
210    }
211
212    #app-loading .app-shell-logo {
213      width: 64px;
214      height: 64px;
215      margin-bottom: 16px;
216    }
217
218    #app-loading .app-shell-tagline {
219      font-size: 18px;
220      font-weight: 800;
221      letter-spacing: -0.03em;
222      color: hsl(var(--foreground));
223      margin-bottom: 32px;
224    }
225
226    #app-loading .app-shell-skeleton {
227      width: min(90vw, 480px);
228      height: 120px;
229      background: linear-gradient(90deg, #e2e8f0 0%, #f1f5f9 50%, #e2e8f0 100%);
230      background-size: 200% 100%;
231      background-position: 100% 0;
232      animation: shimmer 1.2s ease-in-out infinite;
233      border-radius: 12px;
234    }
235
236    @keyframes shimmer {
237      to {
238        background-position: -100% 0;
239      }
240    }
241
242    #root {
243      min-height: 100vh;
244      min-height: 100dvh;
245    }
246
247    /*
248      Static shell is loading-only (#app-loading). Permanent page content is owned by React.
249      No-JS SEO copy lives in <noscript> — do not put tall marketing sections in #root
250      (bootstrap clears #root, and deep links must not flash Home shell content).
251    */
252    noscript.opus9-noscript {
253      display: block;
254      max-width: 42rem;
255      margin: 0 auto;
256      padding: calc(1.5rem + env(safe-area-inset-top, 0px)) 1rem calc(2rem + env(safe-area-inset-bottom, 0px));
257      font-family: Manrope, system-ui, sans-serif;
258      color: hsl(var(--foreground));
259      line-height: 1.65;
260    }
261
262    noscript.opus9-noscript h1 {
263      font-size: 1.75rem;
264      font-weight: 900;
265      letter-spacing: -0.03em;
266      margin-bottom: 0.75rem;
267    }
268
269    noscript.opus9-noscript h2 {
270      font-size: 1.25rem;
271      font-weight: 800;
272      margin: 1.25rem 0 0.5rem;
273    }
274
275    noscript.opus9-noscript p {
276      margin: 0 0 0.75rem;
277      color: rgba(15, 23, 42, 0.8);
278    }
279
280    noscript.opus9-noscript a {
281      color: #1d4ed8;
282      font-weight: 600;
283    }
284
285    #opus9-seo-links {
286      max-width: 42rem;
287      margin: 0 auto;
288      padding: 1.25rem 1rem 2rem;
289      font-family: Manrope, system-ui, sans-serif;
290      line-height: 1.65;
291    }
292
293    #opus9-seo-links a {
294      color: #1d4ed8;
295      font-weight: 600;
296    }
297
298    @media (max-width: 640px) {
299      #app-loading .app-shell-tagline {
300        font-size: 16px;
301      }
302
303      #app-loading .app-shell-skeleton {
304        width: min(92vw, 480px);
305        height: 96px;
306      }
307
308      noscript.opus9-noscript,
309      #opus9-seo-links {
310        padding-left: 1rem;
311        padding-right: 1rem;
312      }
313
314      noscript.opus9-noscript h1 {
315        font-size: 1.5rem;
316      }
317    }
318
319    @media (min-width: 768px) {
320      #app-loading .app-shell-logo {
321        width: 72px;
322        height: 72px;
323      }
324
325      #opus9-seo-links {
326        max-width: 56rem;
327      }
328    }
329
330    @media (prefers-reduced-motion: reduce) {
331      #app-loading .app-shell-skeleton {
332        animation: none;
333      }
334    }
335  </style>
336  
336<script>
337    (function () {
338      function syncThemeColor() {
339        try {
340          var rgb = getComputedStyle(document.documentElement).backgroundColor;
341          var match = rgb && rgb.match(/rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)/);
342          if (!match) return;
343          var hex = '#' + [match[1], match[2], match[3]].map(function (value) {
344            return Math.round(Number(value)).toString(16).padStart(2, '0');
345          }).join('');
346          document.querySelectorAll('meta[name="theme-color"]').forEach(function (meta) {
347            meta.setAttribute('content', hex);
348          });
349        } catch (e) { /* ignore */ }
350      }
351      syncThemeColor();
352      try {
353        new MutationObserver(syncThemeColor).observe(document.documentElement, {
354          attributes: true,
355          attributeFilter: ['class', 'data-portal'],
356        });
357      } catch (e) { /* ignore */ }
358    })();
359  </script>
359
360
361  
361<script>
362    (function () {
363      'use strict';
364      var maxWait = 18000;
365      var isHidden = false;
366      var SW_RECOVERY_KEY = 'o9_sw_recovery_v1';
367
368      function isE2EMode() {
369        try {
370          var meta = document.querySelector('meta[name="opus9-e2e"]');
371          if (meta && meta.getAttribute('content') === '1') return true;
372          if (window.location.search.indexOf('e2e=1') !== -1) return true;
373          if (localStorage.getItem('__E2E_TEST_USER_ROLE__')) return true;
374          if (sessionStorage.getItem('opus9:e2e-active')) return true;
375        } catch (e) { /* ignore */ }
376        return false;
377      }
378
379      function hideLoading() {
380        if (isHidden) return;
381        isHidden = true;
382        var el = document.getElementById('app-loading');
383        if (el) {
384          el.classList.add('hidden');
385          setTimeout(function () { el.remove(); }, 300);
386        }
387      }
388
389      function showLoadError() {
390        var el = document.getElementById('app-loading');
391        if (!el || isHidden) return;
392        el.innerHTML =
393          '<div style="text-align:center;padding:24px;max-width:420px;">' +
394          '<p style="color:#64748b;margin-bottom:12px;line-height:1.5;">Unable to load the application. This often happens right after a deploy when an old cached copy is still active.</p>' +
395          '<div style="display:flex;flex-direction:column;gap:10px;align-items:center;">' +
396          '<button type="button" id="o9-retry-load" style="padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;width:100%;max-width:280px;">Retry</button>' +
397          '<button type="button" id="o9-clear-cache-reload" style="padding:12px 24px;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;width:100%;max-width:280px;">Clear cache &amp; reload</button>' +
398          '</div></div>';
399        var retryBtn = document.getElementById('o9-retry-load');
400        var clearBtn = document.getElementById('o9-clear-cache-reload');
401        if (retryBtn) retryBtn.addEventListener('click', function () { window.location.reload(); });
402        if (clearBtn) clearBtn.addEventListener('click', function () { forceClearCacheAndReload(); });
403      }
404
405      function forceClearCacheAndReload() {
406        try { sessionStorage.removeItem(SW_RECOVERY_KEY); } catch (e) { }
407        try { sessionStorage.removeItem('o9_boot_recovery_v1'); } catch (e) { }
408        try { sessionStorage.removeItem('o9_boot_mounted_v1'); } catch (e) { }
409        try { sessionStorage.removeItem('o9_chunk_recovery'); } catch (e) { }
410
411        var pending = 0;
412        var reloaded = false;
413        function doReload() {
414          if (reloaded) return;
415          reloaded = true;
416          try {
417            var params = new URLSearchParams(window.location.search || '');
418            params.delete('__o9_recover');
419            params.set('__o9_recover', String(Date.now()));
420            var qs = params.toString();
421            window.location.replace(window.location.origin + window.location.pathname + (qs ? '?' + qs : '') + window.location.hash);
422          } catch (e) {
423            window.location.reload();
424          }
425        }
426        function tryReload() {
427          if (pending > 0) return;
428          doReload();
429        }
430        if ('serviceWorker' in navigator) {
431          pending++;
432          navigator.serviceWorker.getRegistrations().then(function (regs) {
433            var inner = regs.length;
434            if (inner === 0) { pending--; tryReload(); return; }
435            regs.forEach(function (r) {
436              r.unregister().then(function () { inner--; if (inner === 0) { pending--; tryReload(); } })
437                .catch(function () { inner--; if (inner === 0) { pending--; tryReload(); } });
438            });
439          }).catch(function () { pending--; tryReload(); });
440        }
441        if ('caches' in window) {
442          pending++;
443          caches.keys().then(function (names) {
444            var inner = names.length;
445            if (inner === 0) { pending--; tryReload(); return; }
446            names.forEach(function (n) {
447              caches.delete(n).then(function () { inner--; if (inner === 0) { pending--; tryReload(); } })
448                .catch(function () { inner--; if (inner === 0) { pending--; tryReload(); } });
449            });
450          }).catch(function () { pending--; tryReload(); });
451        }
452        if (pending === 0) doReload();
453      }
454
455      /**
456       * Clear stale service worker caches then reload once.
457       * Handles cases where a Workbox SW serves old cached JS that crashes before
458       * window.__appScriptLoaded is set (e.g. after a deploy with breaking changes).
459       */
460      function clearSwAndReload() {
461        var alreadyTried = false;
462        try { alreadyTried = !!sessionStorage.getItem(SW_RECOVERY_KEY); } catch (e) { }
463        if (alreadyTried) return false; // only try once per session
464        try { sessionStorage.setItem(SW_RECOVERY_KEY, '1'); } catch (e) { }
465
466        var reloaded = false;
467        var pending = 0;
468
469        // Use a cache-busting URL so the browser HTTP cache is bypassed too,
470        // not just the service worker cache.
471        function doReload() {
472          if (reloaded) return;
473          reloaded = true;
474          try {
475            var search = window.location.search || '';
476            var params = new URLSearchParams(search);
477            params.delete('__o9_recover');
478            params.set('__o9_recover', String(Date.now()));
479            if (params.get('e2e') !== '1' && isE2EMode()) {
480              params.set('e2e', '1');
481            }
482            var qs = params.toString();
483            var url = window.location.origin + window.location.pathname + (qs ? '?' + qs : '');
484            window.location.replace(url);
485          } catch (e) {
486            window.location.reload();
487          }
488        }
489
490        function tryReload() {
491          if (pending > 0) return;
492          doReload();
493        }
494
495        if ('serviceWorker' in navigator) {
496          pending++;
497          navigator.serviceWorker.getRegistrations().then(function (regs) {
498            var inner = regs.length;
499            if (inner === 0) { pending--; tryReload(); return; }
500            regs.forEach(function (r) {
501              r.unregister().then(function () {
502                inner--;
503                if (inner === 0) { pending--; tryReload(); }
504              }).catch(function () {
505                inner--;
506                if (inner === 0) { pending--; tryReload(); }
507              });
508            });
509          }).catch(function () { pending--; tryReload(); });
510        }
511
512        if ('caches' in window) {
513          pending++;
514          caches.keys().then(function (names) {
515            var inner = names.length;
516            if (inner === 0) { pending--; tryReload(); return; }
517            names.forEach(function (n) {
518              caches.delete(n).then(function () {
519                inner--;
520                if (inner === 0) { pending--; tryReload(); }
521              }).catch(function () {
522                inner--;
523                if (inner === 0) { pending--; tryReload(); }
524              });
525            });
526          }).catch(function () { pending--; tryReload(); });
527        }
528
529        if (pending === 0) doReload();
530        return true;
531      }
532
533      function init() {
534        // If the entry script never runs (blocked network, wrong path, stale SW cache),
535        // attempt a SW cache clear + reload once before showing the error UI.
536        // Also fires if the script loaded but React never mounted (crash before mount).
537        // Disabled in E2E/CI — recovery reloads strip auth/query state and flake Playwright.
538        if (!isE2EMode()) {
539          setTimeout(function () {
540            var rootMounted = !!(
541              document.getElementById('root') &&
542              document.getElementById('root').querySelector('[data-testid="react-root"]')
543            );
544            if (!window.__appScriptLoaded || !rootMounted) {
545              // First attempt: clear stale SW caches and do a cache-busting reload
546              var willReload = clearSwAndReload();
547              if (!willReload) {
548                // Already tried SW recovery; show user-facing error
549                showLoadError();
550              }
551            }
552          }, maxWait);
553        }
554        // Recover from a stuck boot: overlay was dismissed but React never mounted 
554into #root
555        if (!isE2EMode()) {
556          setTimeout(function () {
557            var root = document.getElementById('root');
558            if (!root || root.querySelector('[data-testid="react-root"]')) return;
559            if (!root.innerHTML || root.innerHTML.trim() === '') {
560              root.innerHTML =
561                '<div style="display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:system-ui,Inter,sans-serif;padding:24px;background:hsl(220 14% 96%);">' +
562                '<div style="text-align:center;max-width:420px;">' +
563                '<h1 style="font-size:20px;margin-bottom:12px;color:#0f172a;">Application did not load</h1>' +
564                '<p style="color:#64748b;margin-bottom:20px;line-height:1.5;">Try refreshing. If this persists after a deploy, use <strong>Clear cache &amp; reload</strong> below or unregister the service worker in DevTools (Application tab), then reload.</p>' +
565                '<div style="display:flex;flex-direction:column;gap:10px;align-items:center;">' +
566                '<button type="button" id="o9-root-retry" style="padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;width:100%;max-width:280px;">Reload</button>' +
567                '<button type="button" id="o9-root-clear-cache" style="padding:12px 24px;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;width:100%;max-width:280px;">Clear cache &amp; reload</button>' +
568                '</div></div></div>';
569              hideLoading();
570              var rootRetry = document.getElementById('o9-root-retry');
571              var rootClear = document.getElementById('o9-root-clear-cache');
572              if (rootRetry) rootRetry.addEventListener('click', function () { window.location.reload(); });
573              if (rootClear) rootClear.addEventListener('click', function () { forceClearCacheAndReload(); });
574            }
575          }, 22000);
576        }
577      }
578
579      if (document.readyState === 'loading') {
580        document.addEventListener('DOMContentLoaded', init);
581      } else {
582        init();
583      }
584    })();
585  </script>
585
586
587
588  <meta property="og:image" content="https://www.opus9.com/og/corporate-about.png" />
589  <meta property="og:image:width" content="1200" />
590  <meta property="og:image:height" content="630" />
591  <meta property="og:image:alt" content="About Opus9 — Opus9" />
592  <meta name="twitter:card" content="summary_large_image" />
593  <meta name="twitter:site" content="@opus9" />
594  <meta name="twitter:image" content="https://www.opus9.com/og/corporate-about.png" />
595  <meta name="twitter:image:alt" content="About Opus9 — Opus9" />
596  <meta property="og:title" content="About Opus9 | Simplify &amp; Modernize Logistics" />
597  <meta name="twitter:title" content="About Opus9 | Simplify &amp; Modernize Logistics" />
598  <meta property="og:description" content="Opus9 is simplifying and modernizing logistics with an AI-assisted platform built by freight brokerage professionals, with a free core workspace." />
599  <meta name="twitter:description" content="Opus9 is simplifying and modernizing logistics with an AI-assisted platform built by freight brokerage professionals, with a free core workspace." />
600  
600<script type="module" crossorigin src="/assets/index-DOSukPAO.js"></script>
600
601  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-CNC7AqOf.js">
602  <link rel="modulepreload" crossorigin href="/assets/vendor-query-BcxJewYy.js">
603  <link rel="modulepreload" crossorigin href="/assets/vendor-supabase-2T87MG0C.js">
604  
604<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","@id":"https://www.opus9.com/#organization","name":"Opus9, Inc.","legalName":"Opus9, Inc.","alternateName":"Opus9","url":"https://www.opus9.com","logo":"https://www.opus9.com/pwa-icon-512.png","image":"https://www.opus9.com/og/corporate.png","description":"Brokerage-built AI-powered logistics platform with a free core offering for freight operations.","industry":"Logistics Technology","sameAs":["https://www.linkedin.com/company/opus9","https://twitter.com/opus9","https://www.facebook.com/opus9"],"knowsAbout":["Brokerage-built, AI-powered logistics platform","Free core platform for freight operations","Freight brokerage building long-term logistics technology","Connected platform for brokers, carriers, shippers, and logistics service providers","Full truckload (FTL) brokerage","Less-than-truckload (LTL)","Intermodal and rail","Air and ocean freight arranged through licensed third-party providers (on request)","Cross-border requests reviewed case by case","Warehousing and transloading through partners (on request)","AI-powered logistics platform","Freight operations and dispatch workflows","CRM and partner intelligence","Role-based portals (broker, carrier, shipper)","AI-assisted dispatch and shipment-matching workflows (planned; humans approve)","EDI (X12/EDIFACT) and REST APIs"],"areaServed":"United States freight brokerage; international air and ocean requests reviewed and arranged through licensed providers.","contactPoint":{"@type":"ContactPoint","contactType":"sales","url":"https://www.opus9.com/contact","availableLanguage":["English"]}}</script>
604
605  
605<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","@id":"https://www.opus9.com/#website","url":"https://www.opus9.com","name":"Opus9","description":"Brokerage-built AI-powered logistics platform with a free core offering for freight operations.","publisher":{"@id":"https://www.opus9.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.opus9.com/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}</script>
605
606  
606<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","@id":"https://www.opus9.com/#software","name":"Opus9","applicationCategory":"BusinessApplication","applicationSubCategory":"Logistics Platform","operatingSystem":"Web","url":"https://www.opus9.com","description":"Brokerage-built AI-powered logistics platform with a free core offering for freight operations. Help brokers, carriers, shippers, and logistics service providers manage freight, dispatch, visibility, documents, and financial workflows from one connected platform.","offers":{"@type":"Offer","price":"0","priceCurrency":"USD","description":"Free core platform access; freight services and premium offerings quoted separately."},"provider":{"@id":"https://www.opus9.com/#organization"},"featureList":["AI-powered logistics platform","Freight operations and dispatch workflows","CRM and partner intelligence","Role-based portals (broker, carrier, shipper)","AI-assisted dispatch and shipment-matching workflows (planned; humans approve)","EDI (X12/EDIFACT) and REST APIs"]}</script>
606
607  
607<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.opus9.com/"},{"@type":"ListItem","position":2,"name":"About","item":"https://www.opus9.com/about"}]}</script>
607
608</head>
609
610<body>
611  <div id="app-loading" data-testid="app-loading-shell" data-legacy-testid="error-unauthorized"
612    aria-label="Loading application" role="status">
613    <img class="app-shell-logo" src="./logo-opus9.svg" alt="Opus9" width="64" height="64" />
614    <p class="app-shell-tagline">AI-powered logistics platform</p>
615    <div class="app-shell-skeleton" aria-hidden="true"></div>
616  </div>
617  <!--
618    Mount target only. bootstrap.tsx clears #root before createRoot.
619    Do not put permanent marketing content here — it vanishes on boot and flashes Home on deep links.
620    Canonical post-mount copy: React pages (e.g. HomeMultimodalFreight via homeMultimodalCopy.ts).
621  -->
622  <div id="root" data-static-shell="mount-target"></div>
623  <!-- Crawlable links for scanners that skip JS and <noscript>. Removed after React paints. -->
624  <nav id="opus9-seo-links" data-testid="opus9-seo-links" aria-label="Freight resources">
625    <p>
626      <a href="/">Home</a> ·
627      <a href="/quote">Freight quotes</a> ·
628      <a href="/platform/tms">TMS</a> ·
629      <a href="/solutions/full-truckload">Full truckload</a> ·
630      <a href="/solutions/ltl-freight">LTL freight</a> ·
631      <a href="/help">Help center</a> ·
632      <a href="/about">About Opus9</a> ·
633      <a href="/contact">Contact</a>
634    </p>
635    <p>
636      Official references:
637      <a href="https://www.fmcsa.dot.gov/" rel="noopener noreferrer">FMCSA</a> ·
638      <a href="https://safer.fmcsa.dot.gov/" rel="noopener noreferrer">FMCSA SAFER</a> ·
639      <a href="https://www.bts.gov/topics/freight-transportation" rel="noopener noreferrer">BTS freight statistics</a>
640    </p>
641  </nav>
642  <!-- No-JS / non-executing crawlers: mirror of src/lib/website/homeMultimodalCopy.ts -->
643  <noscript id="opus9-prerender-noscript">
644    <article>
645      <h1>About Opus9 | Simplify &amp; Modernize Logistics</h1>
646      <p>Opus9 is simplifying and modernizing logistics with an AI-assisted platform built by freight brokerage professionals, with a free core workspace.</p>
647      <p>Brokerage-built AI-powered logistics platform with a free core offering for freight operations. Help brokers, carriers, shippers, and logistics service providers manage freight, dispatch, visibility, documents, and financial workflows from one connected platform.</p>
648      <p><strong>What Opus9 is:</strong> Brokerage-built, AI-powered logistics platform; Free core platform for freight operations; Freight brokerage building long-term logistics technology; Connected platform for brokers, carriers, shippers, and logistics service providers</p>
649      <p><strong>Who we serve:</strong> Freight brokers, Shippers and logistics service providers, Carriers and owner-operators, Drivers, EDI and API integration partners</p>
650      
651      <nav aria-label="Primary"><a href="/">Home</a> · <a href="/products">Products</a> · <a href="/industries">Industries</a> · <a href="/platform/tms">TMS</a> · <a href="/platform/crm">CRM</a> · <a href="/learn/tms">TMS Learning</a> · <a href="/services">Solutions</a> · <a href="/contact">Contact</a> · <a href="https://www.fmcsa.dot.gov/" rel="noopener noreferrer">FMCSA</a> · <a href="https://safer.fmcsa.dot.gov/" rel="noopener noreferrer">FMCSA SAFER</a> · <a href="https://www.bts.gov/topics/freight-transportation" rel="noopener noreferrer">BTS freight statistics</a></nav>
652      <p>JavaScript is required for the full Opus9 application experience. Canonical page: <a href="https://www.opus9.com/about">https://www.opus9.com/about</a></p>
653    </article>
654  </noscript>
655  <!-- Vite replaces this script path at build time using the configured base -->
656</body>
657
658</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.