PageSourceSearch

https://simsense.ai/

html simsense.ai collected 2026-10-09 22:57:08 UTC 85,648 bytes, 280 lines download raw bytes

1<!DOCTYPE html><html lang="en" data-astro-cid-j7pv25f6> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="icon" href="/favicon.ico"><link rel="canonical" href="https://simsense.ai/"><meta name="description" content="Sensors, agents and screens that run the room, not just the display. Start from a kit - a device, an agent and a sim with one job - or describe your own."><meta name="robots" content="index, follow"><!-- Open Graph --><meta property="og:type" content="website"><meta property="og:title" content="SimSense.ai - Put AI to work in your physical space"><meta property="og:description" content="Sensors, agents and screens that run the room, not just the display. Start from a kit - a device, an agent and a sim with one job - or describe your own."><meta property="og:url" content="https://simsense.ai/"><meta property="og:site_name" content="SimSense.ai"><meta property="og:image" content="https://simsense.ai/og-image.png"><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="SimSense.ai - Put AI to work in your physical space"><meta name="twitter:description" content="Sensors, agents and screens that run the room, not just the display. Start from a kit - a device, an agent and a sim with one job - or describe your own."><meta name="twitter:image" content="https://simsense.ai/og-image.png"><!-- Fonts --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"><title>SimSense.ai - Put AI to work in your physical space</title><!-- Meta Pixel -->
1<script type="module">(function(t,u,c,o,e,a,r){t.fbq||(e=t.fbq=function(){e.callMethod?e.callMethod.apply(e,arguments):e.queue.push(arguments)},t._fbq||(t._fbq=e),e.push=e,e.loaded=!0,e.version="2.0",e.queue=[],a=u.createElement(c),a.async=!0,a.src=o,r=u.getElementsByTagName(c)[0],r.parentNode.insertBefore(a,r))})(window,document,"script","https://connect.facebook.net/en_US/fbevents.js");fbq("init","362899428194347");fbq("track","PageView");</script>
1<noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=362899428194347&ev=PageView&noscript=1"></noscript><!-- Structured Data -->
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"SimSense.ai","url":"https://simsense.ai","logo":"https://simsense.ai/favicon.svg","description":"Platform where AI agents read devices, send them commands and run the screens in a physical space.","address":{"@type":"PostalAddress","streetAddress":"PO Box 282","addressLocality":"Manchester","addressRegion":"VT","postalCode":"05254","addressCountry":"US"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"SimSense.ai - Put AI to work in your physical space","description":"Sensors, agents and screens that run the room, not just the display. Start from a kit - a device, an agent and a sim with one job - or describe your own.","url":"https://simsense.ai/"}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"SimSense","url":"https://simsense.ai","description":"Put AI to work in your physical space. Sensors, agents and screens that run the room, not just the display.","potentialAction":{"@type":"SearchAction","target":"https://my.simsense.ai/go?prompt={search_term_string}","query-input":"required name=search_term_string"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"SimSense","applicationCategory":"BusinessApplication","operatingSystem":"Web","url":"https://simsense.ai","description":"AI in the physical space: cameras and sensors that watch a room, agents that decide what to do, and screens that show the answer.","offers":{"@type":"Offer","price":"0","priceCurrency":"USD","description":"Free tier available"}}</script>
1<script>window.dataLayer=window.dataLayer||[];window.dataLayer.push({siteEnv:"production"});</script>
1 <!-- Google Tag Manager -->
1<script>
vendor: 327 bytes, lines 1-5
1(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
2new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
3j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
4'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
5})(window,document,'script','dataLayer',"
5GTM-5RXMTTPC
vendor: 3 bytes, line 5
5");
5</script>
5 <!-- End Google Tag Manager -->
5<script type="module" src="/_astro/Analytics.astro_astro_type_script_index_0_lang.hAI6vDxH.js"></script>
5<link rel="stylesheet" href="/_astro/global.Duqd-K3H.css">
6<link rel="stylesheet" href="/_astro/SceneLoop.DzJRr4lW.css">
7<style>body.nav-overlay .nav{background:transparent!important;transition:background .3s,box-shadow .3s,backdrop-filter .3s!important}body.nav-overlay.nav-dark .nav{background:#06080fe0!important;backdrop-filter:blur(14px) saturate(1.2)!important;-webkit-backdrop-filter:blur(14px) saturate(1.2)!important;box-shadow:0 1px #ffffff14!important}body.nav-overlay .nav-line{display:none!important}body.nav-overlay .nav-links a{color:#ffffffd9!important;transition:color .3s!important}body.nav-overlay .nav-links a:hover{color:#fff!important;opacity:1!important}body.nav-overlay .nav-cta{color:#c8f135!important;border-color:#c8f135!important;transition:background .2s,color .2s,border-color .3s!important}body.nav-overlay .nav-cta:hover{background:#c8f135!important;color:#06080f!important}body.nav-overlay .nav-burger span{background:#fff!important;transition:background .3s!important}body.nav-overlay .nav-logo img{filter:brightness(0) invert(1)!important;transition:filter .3s!important}body.nav-overlay .nav-mobile-menu{background:#06080ff7!important}body.nav-overlay .nav-mobile-menu ul li a{color:#ffffffd9!important}body.nav-overlay .nav-mobile-cta{color:#c8f135!important;border-color:#c8f135!important}body.nav-overlay.nav-light .nav{background:#fffff3!important;box-shadow:0 1px #0000001a!important}body.nav-overlay.nav-light .nav-links a{color:#000!important}body.nav-overlay.nav-light .nav-links a:hover{opacity:.6!important}body.nav-overlay.nav-light .nav-cta{color:#421bd3!important;border-color:#421bd3!important}body.nav-overlay.nav-light .nav-cta:hover{background:#421bd3!important;color:#fff!important}body.nav-overlay.nav-light .nav-burger span{background:#000!important}body.nav-overlay.nav-light .nav-logo img{filter:none!important}
8</style>
9<link rel="stylesheet" href="/_astro/GoogleTagManagerNoscript.C7-zuaou.css">
10<link rel="stylesheet" href="/_astro/index@[email protected]">
11<link rel="stylesheet" href="/_astro/AgentChoice.BxbUJWaw.css">
11<script type="module" src="/_astro/page.DvHP4G0j.js"></script>
vendor: 1 bytes, line 11
11
12<script>
13          window.mixpanelConfig = {"track_pageview":false,"persistence":"localStorage","batch_requests":true,"debug":false,"disable_all_events":false,"disable_notifications":false,"ignore_dnt":true,"autocapture":false};
14          window.mixpanelToken = "0dc2f5e9b9a47619f71c17a679168f10";
15          window.mixpanelAutoTrack = true;
16          window.mixpanelGlobalProperties = {};
17        </script>
17</head> <body class="ni-body nav-overlay" data-astro-cid-j7pv25f6> 
17<script>
18  (function () {
19  /* The hero and the photograph below it are both dark and run together, so
20     the nav only flips to cream once BOTH have gone past. */
21  var body = document.body;
22  /* Rather than a hardcoded offset, ask which band is actually under the
23     bar. Sections declare their own tone, so reordering them - or adding a
24     new one - needs no change here. */
25  var nav = document.querySelector('.nav');
26  /* Looked up on each pass rather than once: this component renders above
27     the page's own sections, so at first run there is nothing to find. It
28     keeps the list once a pass sees one. */
29  var zones = [];
30
31  function paintNav() {
32    if (!zones.length) zones = [].slice.call(document.querySelectorAll('[data-nav]'));
33    if (!nav) nav = document.querySelector('.nav');
34    var atTop = window.scrollY <= 4;
35    var probe = (nav ? nav.offsetHeight : 68) / 2;   // the bar's midline
36    var tone = 'light';                              // footer and anything unmarked
37
38    for (var i = 0; i < zones.length; i++) {
39      var r = zones[i].getBoundingClientRect();
40      if (r.top <= probe && r.bottom > probe) {
41        tone = zones[i].getAttribute('data-nav');
42        break;
43      }
44    }
45
46    body.classList.toggle('nav-top', atTop);
47    body.classList.toggle('nav-dark', !atTop && tone === 'dark');
48    body.classList.toggle('nav-light', !atTop && tone === 'light');
49  }
50
51  var navTick = false;
52  window.addEventListener('scroll', function () {
53    if (navTick) return;
54    navTick = true;
55    requestAnimationFrame(function () { navTick = false; paintNav(); });
56  }, { passive: true });
57  window.addEventListener('resize', paintNav);
58  paintNav();
59  })();
60</script>
60 <!-- Google Tag Manager (noscript) -->
vendor: 67 bytes, line 60
60<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
60GTM-5RXMTTPC
vendor: 82 bytes, line 60
60" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
60<!-- End Google Tag Manager (noscript) --> <!-- ══ NAV ══ --><nav class="nav" data-astro-cid-dmqpwcec> <a href="/" class="nav-logo" data-astro-cid-dmqpwcec> <img src="/images/simsense-logo.svg" alt="SimSense" width="120" height="38" data-astro-cid-dmqpwcec> </a> <ul class="nav-links" data-astro-cid-dmqpwcec> <li data-astro-cid-dmqpwcec> <a href="/industries" class data-astro-cid-dmqpwcec>Industries</a> </li> </ul> <div class="nav-ctas" data-astro-cid-dmqpwcec> <a href="https://my.simsense.ai/go" class="nav-cta" target="_blank" rel="noopener noreferrer" data-track="Sign In Clicked" data-track-location="nav" data-astro-cid-dmqpwcec>Dashboard</a> <button class="nav-burger" aria-label="Toggle menu" aria-expanded="false" id="navBurger" data-astro-cid-dmqpwcec> <span data-astro-cid-dmqpwcec></span><span data-astro-cid-dmqpwcec></span><span data-astro-cid-dmqpwcec></span> </button> </div> </nav> <div class="nav-line" aria-hidden="true" data-astro-cid-dmqpwcec></div> <!-- ══ MOBILE MENU ══ --> <div class="nav-mobile-menu" id="navMobileMenu" data-astro-cid-dmqpwcec> <ul data-astro-cid-dmqpwcec> <li data-astro-cid-dmqpwcec> <a href="/industries" class="astro-dmqpwcec" data-astro-cid-dmqpwcec>Industries</a> </li> </ul> <a href="https://my.simsense.ai/go" class="nav-mobile-cta nav-mobile-signin" target="_blank" rel="noopener noreferrer" data-track="Sign In Clicked" data-track-location="mobile-nav" data-astro-cid-dmqpwcec>Dashboard</a> </div> <!-- ══ CONNECTOR MODAL ══ --> <div class="nav-modal-overlay" id="navModal" data-astro-cid-dmqpwcec> <div class="nav-modal" data-astro-cid-dmqpwcec> <button class="nav-modal-close" id="navModalClose" aria-label="Close" data-astro-cid-dmqpwcec>&times;</button> <h3 class="nav-modal-title" data-astro-cid-dmqpwcec>Set up SimSense connector</h3> <p class="nav-modal-desc" data-astro-cid-dmqpwcec>Copy the details below, then add them as an MCP connector in your agent.</p> <div class="nav-modal-field" data-astro-cid-dmqpwcec> <label class="nav-modal-label" data-astro-cid-dmqpwcec>Connector name</label> <div class="nav-modal-value-row" data-astro-cid-dmqpwcec> <span class="nav-modal-value" data-astro-cid-dmqpwcec>SimSense</span> <button class="nav-modal-copy" data-value="SimSense" data-event="Connector Name Copied" aria-label="Copy" data-astro-cid-dmqpwcec>Copy</button> </div> </div> <div class="nav-modal-field" data-astro-cid-dmqpwcec> <label class="nav-modal-label" data-astro-cid-dmqpwcec>MCP Server URL</label> <div class="nav-modal-value-row" data-astro-cid-dmqpwcec> <span class="nav-modal-value" data-astro-cid-dmqpwcec>https://my.simsense.ai/mcp</span> <button class="nav-modal-copy" data-value="https://my.simsense.ai/mcp" data-event="Server URL Copied" aria-label="Copy" data-astro-cid-dmqpwcec>Copy</button> </div> </div> <a href="https://claude.ai/settings/connectors?modal=add-custom-connector" target="_blank" rel="noopener noreferrer" class="nav-modal-goto" id="navGoToClaude" data-astro-cid-dmqpwcec>Go to Claude →</a> <p class="nav-modal-hint" data-astro-cid-dmqpwcec>Paste the values above, save the connector, then click <strong data-astro-cid-dmqpwcec>Connect</strong> to sign in. Need help? See the <a href="/faq#connecting" data-astro-cid-dmqpwcec>FAQ</a>.</p> </div> </div> 
60<script>
61  (function() {
62    var burger = document.getElementById('navBurger');
63    var mobileMenu = document.getElementById('navMobileMenu');
64    var modal = document.getElementById('navModal');
65    var modalClose = document.getElementById('navModalClose');
66
67    // Burger toggle
68    if (burger && mobileMenu) {
69      burger.addEventListener('click', function() {
70        var open = mobileMenu.classList.toggle('open');
71        burger.setAttribute('aria-expanded', String(open));
72      });
73    }
74
75    /* The connector modal lives here but is no longer opened from the nav -
76       Footer.astro still opens it by id, so it stays. */
77
78    // Close modal
79    if (modalClose) modalClose.addEventListener('click', function() { modal.classList.remove('active'); });
80    if (modal) modal.addEventListener('click', function(e) { if (e.target === modal) modal.classList.remove('active'); });
81
82    // Copy buttons
83    modal?.querySelectorAll('.nav-modal-copy').forEach(function(copyBtn) {
84      copyBtn.addEventListener('click', function() {
85        var val = copyBtn.getAttribute('data-value');
86        var eventName = copyBtn.getAttribute('data-event') || 'Connector URL Copied';
87        if (window.mixpanel) window.mixpanel.track(eventName);
88        if (!val) return;
89        navigator.clipboard.writeText(val).then(function() {
90          var prev = copyBtn.textContent;
91          copyBtn.textContent = 'Copied!';
92          setTimeout(function() { copyBtn.textContent = prev; }, 2000);
93        });
94      });
95    });
96
97    // Go to Claude link
98    var goBtn = document.getElementById('navGoToClaude');
99    if (goBtn) {
100      goBtn.addEventListener('click', function() {
101        if (window.mixpanel) window.mixpanel.track('Go to Claude Clicked');
102      });
103    }
104  })();
105</script>
105 <!-- ══ HERO ══ --> <section class="ni-how-section" id="niHowSection" data-nav="dark" data-astro-cid-j7pv25f6> <div class="ni-how-bg" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/sim-section-bg.png" alt="" data-astro-cid-j7pv25f6> </div> <div class="ni-how-inner" data-astro-cid-j7pv25f6> <h1 class="ni-how-heading" data-astro-cid-j7pv25f6>
106Put AI to work<br data-astro-cid-j7pv25f6>
107in your physical space.
108</h1> <!-- Desktop shows all four at once: a step heading with its animation
109           beneath it, four across. `display:contents` on the two wrappers
110           drops the tabs and the panels straight into one grid, so tabs land
111           on row 1 and panels on row 2 without duplicating any markup.
112           On a phone it collapses back to a 2x2 of steps over one stage that
113           cycles through them. --> <div class="hs" id="heroStage" data-astro-cid-j7pv25f6> <div class="hs-tabs" role="tablist" aria-label="What SimSense does" data-astro-cid-j7pv25f6> <button class="hs-tab is-on" type="button" role="tab" data-i="0" aria-selected="true" data-track="Hero Step Clicked" data-track-location="home-hero" data-track-label="Sense" style="--dwell:5.5s" data-astro-cid-j7pv25f6> <span class="hs-tab-head" data-astro-cid-j7pv25f6> <span class="hs-tab-n" data-astro-cid-j7pv25f6>01</span> <span class="hs-tab-v" data-astro-cid-j7pv25f6>Sense</span> </span> <span class="hs-tab-line" data-astro-cid-j7pv25f6>Vision, thermal, presence, noise - any sensor the room has, ours or yours.</span> <span class="hs-tab-track" data-astro-cid-j7pv25f6><span class="hs-tab-fill" data-astro-cid-j7pv25f6></span></span> </button><button class="hs-tab" type="button" role="tab" data-i="1" aria-selected="false" data-track="Hero Step Clicked" data-track-location="home-hero" data-track-label="Connect" style="--dwell:4.4s" data-astro-cid-j7pv25f6> <span class="hs-tab-head" data-astro-cid-j7pv25f6> <span class="hs-tab-n" data-astro-cid-j7pv25f6>02</span> <span class="hs-tab-v" data-astro-cid-j7pv25f6>Connect</span> </span> <span class="hs-tab-line" data-astro-cid-j7pv25f6>Devices, agents and the systems you already run - SimSense is what joins them.</span> <span class="hs-tab-track" data-astro-cid-j7pv25f6><span class="hs-tab-fill" data-astro-cid-j7pv25f6></span></span> </button><button class="hs-tab" type="button" role="tab" data-i="2" aria-selected="false" data-track="Hero Step Clicked" data-track-location="home-hero" data-track-label="Decide" style="--dwell:7.2s" data-astro-cid-j7pv25f6> <span class="hs-tab-head" data-astro-cid-j7pv25f6> <span class="hs-tab-n" data-astro-cid-j7pv25f6>03</span> <span class="hs-tab-v" data-astro-cid-j7pv25f6>Decide</span> </span> <span class="hs-tab-line" data-astro-cid-j7pv25f6>Agents watch what is happening, weigh what to do, and act on it through SimSense.</span> <span class="hs-tab-track" data-astro-cid-j7pv25f6><span class="hs-tab-fill" data-astro-cid-j7pv25f6></span></span> </button><button class="hs-tab" type="button" role="tab" data-i="3" aria-selected="false" data-track="Hero Step Clicked" data-track-location="home-hero" data-track-label="Build" style="--dwell:9s" data-astro-cid-j7pv25f6> <span class="hs-tab-head" data-astro-cid-j7pv25f6> <span class="hs-tab-n" data-astro-cid-j7pv25f6>04</span> <span class="hs-tab-v" data-astro-cid-j7pv25f6>Build</span> </span> <span class="hs-tab-line" data-astro-cid-j7pv25f6>A kit is a device, an agent and a sim with one job. Start from one, or describe your own.</span> <span class="hs-tab-track" data-astro-cid-j7pv25f6><span class="hs-tab-fill" data-astro-cid-j7pv25f6></span></span> </button> </div> <div class="hs-stage" data-astro-cid-j7pv25f6> <div class="hs-panel is-on" data-i="0" data-astro-cid-j7pv25f6>  <svg class="sf" viewBox="0 0 400 300" style="--lbl:14.4px;--tile:127px;--sweep:236.0px" role="img" aria-label="Many kinds of sensor signal - vision, thermal, humidity, mmWave and more - arriving on one bus." data-astro-cid-depuzbe5> <defs data-astro-cid-depuzbe5> <linearGradient id="sfFade" x1="0" x2="1" data-astro-cid-depuzbe5> <stop offset="0" stop-color="#fff" stop-opacity="0" data-astro-cid-depuzbe5></stop> <stop offset="0.14" stop-color="#fff" stop-opacity="1" data-astro-cid-depuzbe5></stop> <stop offset="0.86" stop-color="#fff" stop-opacity="1" data-astro-cid-depuzbe5></stop> <stop offset="1" stop-color="#fff" stop-opacity="1" data-astro-cid-depuzbe5></stop> </linearGradient> <mask id="sfMask" data-astro-cid-depuzbe5> <rect x="112" y="0" width="254" height="300" fill="url(#sfFade)" data-astro-cid-depuzbe5></rect> </mask> <linearGradient id="sfScan" x1="0" x2="1" data-astro-cid-depuzbe5> <stop offset="0" stop-color="#b7a5ff" stop-opacity="0" data-astro-cid-depuzbe5></stop> <stop offset="0.5" stop-color="#b7a5ff" stop-opacity="0.85" data-astro-cid-depuzbe5></stop> <stop offset="1" stop-color="#b7a5ff" stop-opacity="0" data-astro-cid-depuzbe5></stop> </linearGradient> </defs> <text class="sf-label" x="96" y="47.5" text-anchor="end" data-astro-cid-depuzbe5>Vision</text><text class="sf-label" x="96" y="103.5" text-anchor="end" data-astro-cid-depuzbe5>Thermal</text><text class="sf-label" x="96" y="155.5" text-anchor="end" data-astro-cid-depuzbe5>Noise</text><text class="sf-label" x="96" y="207.5" text-anchor="end" data-astro-cid-depuzbe5>Presence</text><text class="sf-label" x="96" y="257.5" text-anchor="end" data-astro-cid-depuzbe5>+ more</text> <g mask="url(#sfMask)" data-astro-cid-depuzbe5> <g transform="translate(112 44)" data-astro-cid-depuzbe5>  <g class="sf-run sf-run--vision" data-astro-cid-depuzbe5> <g transform="translate(0 0)" data-astro-cid-depuzbe5> <rect class="sf-cell" x="0" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.12" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="9" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.78" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="18" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.16" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="27" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.52" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="36" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.39" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="45" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.45" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="54" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.57" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="63" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.24" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="72" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.36" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="81" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.51" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="90" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.82" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="99" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.71" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="108" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.25" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="117" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.84" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="0" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.71" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="9" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.44" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="18" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.79" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="27" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.43" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="36" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.58" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="45" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.35" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="54" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.67" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="63" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.52" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="72" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.60" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="81" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.42" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="90" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.22" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="99" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.36" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="108" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.48" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="117" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.12" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="0" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.24" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="9" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.42" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="18" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.83" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="27" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.64" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="36" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.33" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="45" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.42" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="54" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.26" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="63" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.53" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="72" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.83" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="81" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.78" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="90" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.46" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="99" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.67" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="108" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.55" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="117" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.79" data-astro-cid-depuzbe5></rect>    </g><g transform="translate(127 0)" data-astro-cid-depuzbe5> <rect class="sf-cell" x="0" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.12" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="9" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.78" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="18" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.16" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="27" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.52" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="36" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.39" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="45" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.45" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="54" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.57" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="63" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.24" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="72" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.36" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="81" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.51" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="90" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.82" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="99" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.71" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="108" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.25" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="117" y="-9" width="6.4" height="6.4" rx="1.4" style="opacity:0.84" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="0" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.71" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="9" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.44" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="18" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.79" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="27" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.43" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="36" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.58" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="45" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.35" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="54" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.67" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="63" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.52" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="72" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.60" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="81" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.42" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="90" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.22" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="99" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.36" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="108" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.48" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="117" y="0" width="6.4" height="6.4" rx="1.4" style="opacity:0.12" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="0" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.24" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="9" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.42" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="18" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.83" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="27" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.64" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="36" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.33" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="45" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.42" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="54" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.26" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="63" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.53" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="72" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.83" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="81" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.78" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="90" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.46" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="99" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.67" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="108" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.55" data-astro-cid-depuzbe5></rect><rect class="sf-cell" x="117" y="9" width="6.4" height="6.4" rx="1.4" style="opacity:0.79" data-astro-cid-depuzbe5></rect>    </g> </g>  <rect class="sf-scan" x="0" y="-12" width="26" height="29" fill="url(#sfScan)" data-astro-cid-depuzbe5></rect> </g><g transform="translate(112 100)" data-astro-cid-depuzbe5>  <g class="sf-run sf-run--thermal" data-astro-cid-depuzbe5> <g transform="translate(0 0)" data-astro-cid-depuzbe5>  <path class="sf-trace sf-trace--warm" d="M0.0,0.00 L3.5,4.41 L7.0,8.30 L10.5,11.20 L14.0,12.78 L17.5,12.83 L21.0,11.36 L24.5,8.55 L28.0,4.71 L31.5,0.32 L35.0,-4.11 L38.5,-8.05 L42.0
113,-11.04 L45.5,-12.71 L49.0,-12.88 L52.5,-11.52 L56.0,-8.79 L59.5,-5.01 L63.0,-0.64 L66.5,3.80 L70.0,7.80 L73.5,10.86 L77.0,12.64 L80.5,12.92 L84.0,11.66 L87.5,9.02 L91.0,5.31 L94.5,0.96 L98.0,-3.49 L101.5,-7.54 L105.0,-10.68 L108.5,-12.56 L112.0,-12.95 L115.5,-11.80 L119.0,-9.25 L122.5,-5.60 L126.0,-1.28" data-astro-cid-depuzbe5></path>   </g><g transform="translate(127 0)" data-astro-cid-depuzbe5>  <path class="sf-trace sf-trace--warm" d="M0.0,0.00 L3.5,4.41 L7.0,8.30 L10.5,11.20 L14.0,12.78 L17.5,12.83 L21.0,11.36 L24.5,8.55 L28.0,4.71 L31.5,0.32 L35.0,-4.11 L38.5,-8.05 L42.0,-11.04 L45.5,-12.71 L49.0,-12.88 L52.5,-11.52 L56.0,-8.79 L59.5,-5.01 L63.0,-0.64 L66.5,3.80 L70.0,7.80 L73.5,10.86 L77.0,12.64 L80.5,12.92 L84.0,11.66 L87.5,9.02 L91.0,5.31 L94.5,0.96 L98.0,-3.49 L101.5,-7.54 L105.0,-10.68 L108.5,-12.56 L112.0,-12.95 L115.5,-11.80 L119.0,-9.25 L122.5,-5.60 L126.0,-1.28" data-astro-cid-depuzbe5></path>   </g> </g>   </g><g transform="translate(112 152)" data-astro-cid-depuzbe5>  <g class="sf-run sf-run--noise" data-astro-cid-depuzbe5> <g transform="translate(0 0)" data-astro-cid-depuzbe5>   <path class="sf-trace sf-trace--cool" d="M0.0,7.59 L4.5,2.70 L9.1,-7.37 L13.6,7.59 L18.1,8.65 L22.7,-3.91 L27.2,4.95 L31.8,-2.70 L36.3,-7.99 L40.8,7.69 L45.4,-5.58 L49.9,-6.89 L54.4,1.38 L59.0,-1.33 L63.5,-8.92 L68.0,-7.34 L72.6,4.60 L77.1,6.65 L81.6,1.27 L86.2,2.42 L90.7,7.73 L95.3,1.87 L99.8,7.97 L104.3,-4.60 L108.9,2.20 L113.4,5.44 L117.9,-3.64 L122.5,-8.66 L127.0,7.59" data-astro-cid-depuzbe5></path>  </g><g transform="translate(127 0)" data-astro-cid-depuzbe5>   <path class="sf-trace sf-trace--cool" d="M0.0,7.59 L4.5,2.70 L9.1,-7.37 L13.6,7.59 L18.1,8.65 L22.7,-3.91 L27.2,4.95 L31.8,-2.70 L36.3,-7.99 L40.8,7.69 L45.4,-5.58 L49.9,-6.89 L54.4,1.38 L59.0,-1.33 L63.5,-8.92 L68.0,-7.34 L72.6,4.60 L77.1,6.65 L81.6,1.27 L86.2,2.42 L90.7,7.73 L95.3,1.87 L99.8,7.97 L104.3,-4.60 L108.9,2.20 L113.4,5.44 L117.9,-3.64 L122.5,-8.66 L127.0,7.59" data-astro-cid-depuzbe5></path>  </g> </g>   </g><g transform="translate(112 204)" data-astro-cid-depuzbe5>  <g class="sf-run sf-run--presence" data-astro-cid-depuzbe5> <g transform="translate(0 0)" data-astro-cid-depuzbe5>     </g><g transform="translate(127 0)" data-astro-cid-depuzbe5>     </g> </g>   </g><g transform="translate(112 254)" data-astro-cid-depuzbe5>  <g class="sf-run sf-run--more" data-astro-cid-depuzbe5> <g transform="translate(0 0)" data-astro-cid-depuzbe5>     <path class="sf-trace sf-trace--faint" d="M0.0,1.95 L3.5,4.44 L7.0,4.89 L10.5,3.08 L14.0,-0.14 L17.5,-3.30 L21.0,-4.94 L24.5,-4.30 L28.0,-1.68 L31.5,1.72 L35.0,4.32 L38.5,4.93 L42.0,3.27 L45.5,0.10 L49.0,-3.11 L52.5,-4.89 L56.0,-4.42 L59.5,-1.91 L63.0,1.48 L66.5,4.19 L70.0,4.97 L73.5,3.45 L77.0,0.35 L80.5,-2.92 L84.0,-4.84 L87.5,-4.53 L91.0,-2.13 L94.5,1.24 L98.0,4.05 L101.5,4.99 L105.0,3.63 L108.5,0.60 L112.0,-2.71 L115.5,-4.77 L119.0,-4.63 L122.5,-2.36 L126.0,1.00" data-astro-cid-depuzbe5></path> <path class="sf-trace sf-trace--faint" d="M0.0,6.71 L3.5,4.28 L7.0,1.34 L10.5,-1.76 L14.0,-4.66 L17.5,-6.99 L21.0,-8.50 L24.5,-9.00 L28.0,-8.43 L31.5,-6.86 L35.0,-4.47 L38.5,-1.56 L42.0,1.55 L45.5,4.46 L49.0,6.85 L52.5,8.43 L56.0,9.00 L59.5,8.50 L63.0,7.00 L66.5,4.66 L70.0,1.77 L73.5,-1.33 L77.0,-4.27 L80.5,-6.70 L84.0,-8.34 L87.5,-8.99 L91.0,-8.57 L94.5,-7.14 L98.0,-4.85 L101.5,-1.99 L105.0,1.11 L108.5,4.07 L112.0,6.55 L115.5,8.26 L119.0,8.98 L122.5,8.64 L126.0,7.27" data-astro-cid-depuzbe5></path>  </g><g transform="translate(127 0)" data-astro-cid-depuzbe5>     <path class="sf-trace sf-trace--faint" d="M0.0,1.95 L3.5,4.44 L7.0,4.89 L10.5,3.08 L14.0,-0.14 L17.5,-3.30 L21.0,-4.94 L24.5,-4.30 L28.0,-1.68 L31.5,1.72 L35.0,4.32 L38.5,4.93 L42.0,3.27 L45.5,0.10 L49.0,-3.11 L52.5,-4.89 L56.0,-4.42 L59.5,-1.91 L63.0,1.48 L66.5,4.19 L70.0,4.97 L73.5,3.45 L77.0,0.35 L80.5,-2.92 L84.0,-4.84 L87.5,-4.53 L91.0,-2.13 L94.5,1.24 L98.0,4.05 L101.5,4.99 L105.0,3.63 L108.5,0.60 L112.0,-2.71 L115.5,-4.77 L119.0,-4.63 L122.5,-2.36 L126.0,1.00" data-astro-cid-depuzbe5></path> <path class="sf-trace sf-trace--faint" d="M0.0,6.71 L3.5,4.28 L7.0,1.34 L10.5,-1.76 L14.0,-4.66 L17.5,-6.99 L21.0,-8.50 L24.5,-9.00 L28.0,-8.43 L31.5,-6.86 L35.0,-4.47 L38.5,-1.56 L42.0,1.55 L45.5,4.46 L49.0,6.85 L52.5,8.43 L56.0,9.00 L59.5,8.50 L63.0,7.00 L66.5,4.66 L70.0,1.77 L73.5,-1.33 L77.0,-4.27 L80.5,-6.70 L84.0,-8.34 L87.5,-8.99 L91.0,-8.57 L94.5,-7.14 L98.0,-4.85 L101.5,-1.99 L105.0,1.11 L108.5,4.07 L112.0,6.55 L115.5,8.26 L119.0,8.98 L122.5,8.64 L126.0,7.27" data-astro-cid-depuzbe5></path>  </g> </g>   </g> </g>  <g class="sf-radar" transform="translate(142 204)" data-astro-cid-depuzbe5> <path class="sf-arc" style="animation-delay:0.00s" d="M0,-17 A17,17 0 0 1 0,17" data-astro-cid-depuzbe5></path><path class="sf-arc" style="animation-delay:0.90s" d="M0,-17 A17,17 0 0 1 0,17" data-astro-cid-depuzbe5></path><path class="sf-arc" style="animation-delay:1.80s" d="M0,-17 A17,17 0 0 1 0,17" data-astro-cid-depuzbe5></path> <circle class="sf-origin" cx="0" cy="0" r="2.6" data-astro-cid-depuzbe5></circle>  <circle class="sf-blip" cy="0" r="2" style="animation-delay:0.00s" data-astro-cid-depuzbe5></circle><circle class="sf-blip" cy="0" r="2" style="animation-delay:2.60s" data-astro-cid-depuzbe5></circle> </g>   <line class="sf-stub" x1="350" y1="44" x2="366" y2="44" data-astro-cid-depuzbe5></line> <circle class="sf-node" cx="366" cy="44" r="3" style="animation-delay:0.00s" data-astro-cid-depuzbe5></circle>
113  <line class="sf-stub" x1="350" y1="100" x2="366" y2="100" data-astro-cid-depuzbe5></line> <circle class="sf-node" cx="366" cy="100" r="3" style="animation-delay:0.42s" data-astro-cid-depuzbe5></circle>  <line class="sf-stub" x1="350" y1="152" x2="366" y2="152" data-astro-cid-depuzbe5></line> <circle class="sf-node" cx="366" cy="152" r="3" style="animation-delay:0.84s" data-astro-cid-depuzbe5></circle>  <line class="sf-stub" x1="350" y1="204" x2="366" y2="204" data-astro-cid-depuzbe5></line> <circle class="sf-node" cx="366" cy="204" r="3" style="animation-delay:1.26s" data-astro-cid-depuzbe5></circle>  <line class="sf-stub" x1="350" y1="254" x2="366" y2="254" data-astro-cid-depuzbe5></line> <circle class="sf-node" cx="366" cy="254" r="3" style="animation-delay:1.68s" data-astro-cid-depuzbe5></circle>  <line class="sf-bus" x1="366" y1="30" x2="366" y2="274" data-astro-cid-depuzbe5></line> <circle class="sf-pulse" cx="366" cy="0" r="4.5" data-astro-cid-depuzbe5></circle> </svg>    </div><div class="hs-panel" data-i="1" data-astro-cid-j7pv25f6>   <svg class="dm" viewBox="0 0 400 300" style="--lbl:14.4px" role="img" aria-label="Differently shaped data sources entering one socket and leaving as a single uniform stream." data-astro-cid-xwhpxlis> <text class="dm-label" x="46" y="284" text-anchor="middle" data-astro-cid-xwhpxlis>Sources</text> <text class="dm-label" x="209" y="284" text-anchor="middle" data-astro-cid-xwhpxlis>Protocol</text> <text class="dm-label" x="330" y="284" text-anchor="middle" data-astro-cid-xwhpxlis>One stream</text>  <path class="dm-route" d="M46,62  C118,62  138,150 177.82,150" data-astro-cid-xwhpxlis></path><path class="dm-route" d="M36,120 C104,120 136,150 177.82,150" data-astro-cid-xwhpxlis></path><path class="dm-route" d="M50,188 C118,188 142,150 177.82,150" data-astro-cid-xwhpxlis></path><path class="dm-route" d="M38,246 C110,246 140,150 177.82,150" data-astro-cid-xwhpxlis></path> <line class="dm-route" x1="240.18" y1="150" x2="372" y2="150" data-astro-cid-xwhpxlis></line>  <path class="dm-src" d="M0,-5.5 A5.5,5.5 0 1 1 0,5.5 A5.5,5.5 0 1 1 0,-5.5 Z" transform="translate(46 62)" style="animation-delay:0.00s" data-astro-cid-xwhpxlis></path><path class="dm-src" d="M0,-6 L5.6,4 L-5.6,4 Z" transform="translate(36 120)" style="animation-delay:1.10s" data-astro-cid-xwhpxlis></path><path class="dm-src" d="M-4.6,-4.6 L4.6,-4.6 L4.6,4.6 L-4.6,4.6 Z" transform="translate(50 188)" style="animation-delay:2.20s" data-astro-cid-xwhpxlis></path><path class="dm-src" d="M0,-6 L5.2,-3 L5.2,3 L0,6 L-5.2,3 L-5.2,-3 Z" transform="translate(38 246)" style="animation-delay:3.30s" data-astro-cid-xwhpxlis></path>  <path class="dm-token" d="M0,-5.5 A5.5,5.5 0 1 1 0,5.5 A5.5,5.5 0 1 1 0,-5.5 Z" style="offset-path:path('M46,62  C118,62  138,150 177.82,150');animation-delay:0.00s" data-astro-cid-xwhpxlis></path><path class="dm-token" d="M0,-6 L5.6,4 L-5.6,4 Z" style="offset-path:path('M36,120 C104,120 136,150 177.82,150');animation-delay:1.10s" data-astro-cid-xwhpxlis></path><path class="dm-token" d="M-4.6,-4.6 L4.6,-4.6 L4.6,4.6 L-4.6,4.6 Z" style="offset-path:path('M50,188 C118,188 142,150 177.82,150');animation-delay:2.20s" data-astro-cid-xwhpxlis></path><path class="dm-token" d="M0,-6 L5.2,-3 L5.2,3 L0,6 L-5.2,3 L-5.2,-3 Z" style="offset-path:path('M38,246 C110,246 140,150 177.82,150');animation-delay:3.30s" data-astro-cid-xwhpxlis></path>  <path class="dm-cube-face" d="M209,114 L240.18,132 L240.18,168 L209,186 L177.82,168 L177.82,132 Z" data-astro-cid-xwhpxlis></path> <path class="dm-cube" d="M209,114 L240.18,132 L240.18,168 L209,186 L177.82,168 L177.82,132 Z" data-astro-cid-xwhpxlis></path> <path class="dm-cube-edge" d="M209,150 L209,114 M209,150 L240.18,168 M209,150 L177.82,168" data-astro-cid-xwhpxlis></path> <circle class="dm-cube-core" cx="209" cy="150" r="2.6" data-astro-cid-xwhpxlis></circle>  <rect class="dm-out" x="0" y="146.6" width="13" height="6.8" rx="3.4" style="animation-delay:0.00s" data-astro-cid-xwhpxlis></rect><rect class="dm-out" x="0" y="146.6" width="13" height="6.8" rx="3.4" style="animation-delay:0.88s" data-astro-cid-xwhpxlis></rect><rect class="dm-out" x="0" y="146.6" width="13" height="6.8" rx="3.4" style="animation-delay:1.76s" data-astro-cid-xwhpxlis></rect><rect class="dm-out" x="0" y="146.6" width="13" height="6.8" rx="3.4" style="animation-delay:2.64s" data-astro-cid-xwhpxlis></rect><rect class="dm-out" x="0" y="146.6" width="13" height="6.8" rx="3.4" style="animation-delay:3.52s" data-astro-cid-xwhpxlis></rect> </svg>   </div><div class="hs-panel" data-i="2" data-astro-cid-j7pv25f6>
113    <svg class="ac" viewBox="0 0 400 300" style="--lbl:14.4px" role="img" aria-label="A signal arrives, the agent weighs three possible actions and commits to one." data-astro-cid-4tv3cvb4> <text class="ac-label" x="34" y="138" data-astro-cid-4tv3cvb4>Signal</text> <text class="ac-label" x="132" y="212" text-anchor="middle" data-astro-cid-4tv3cvb4>Agent</text> <text class="ac-label" x="332" y="284" text-anchor="middle" data-astro-cid-4tv3cvb4>Acts</text>  <line class="ac-feed" x1="34" y1="150" x2="101" y2="150" data-astro-cid-4tv3cvb4></line> <circle class="ac-packet" cx="0" cy="150" r="3.6" data-astro-cid-4tv3cvb4></circle>  <circle class="ac-orb" cx="132" cy="150" r="27" data-astro-cid-4tv3cvb4></circle> <circle class="ac-orb-spin" cx="132" cy="150" r="20" style="transform-origin:132px 150px" data-astro-cid-4tv3cvb4></circle> <circle class="ac-orb-core" cx="132" cy="150" r="4.4" data-astro-cid-4tv3cvb4></circle> <g class="ac-branch" style="--i:0;--delay:0.00s" data-astro-cid-4tv3cvb4> <path class="ac-line" d="M163,150 C214,150 236,74  300,74" data-astro-cid-4tv3cvb4></path> <path class="ac-line-lit" d="M163,150 C214,150 236,74  300,74" data-astro-cid-4tv3cvb4></path>  <rect class="ac-opt" x="300" y="59" width="62" height="30" rx="9" data-astro-cid-4tv3cvb4></rect> <rect class="ac-opt-track" x="310" y="77" width="42" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect> <rect class="ac-opt-fill" x="310" y="77" width="17.6" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect> <rect class="ac-opt-tick" x="310" y="67" width="6" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect><rect class="ac-opt-tick" x="319" y="67" width="6" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect><rect class="ac-opt-tick" x="328" y="67" width="12" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect> </g><g class="ac-branch ac-branch--win" style="--i:1;--delay:0.26s" data-astro-cid-4tv3cvb4> <path class="ac-line" d="M163,150 C224,150 248,150 300,150" data-astro-cid-4tv3cvb4></path> <path class="ac-line-lit" d="M163,150 C224,150 248,150 300,150" data-astro-cid-4tv3cvb4></path>  <rect class="ac-opt" x="300" y="135" width="62" height="30" rx="9" data-astro-cid-4tv3cvb4></rect> <rect class="ac-opt-track" x="310" y="153" width="42" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect> <rect class="ac-opt-fill" x="310" y="153" width="37.0" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect> <rect class="ac-opt-tick" x="310" y="143" width="6" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect><rect class="ac-opt-tick" x="319" y="143" width="6" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect><rect class="ac-opt-tick" x="328" y="143" width="12" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect> </g><g class="ac-branch" style="--i:2;--delay:0.52s" data-astro-cid-4tv3cvb4> <path class="ac-line" d="M163,150 C214,150 236,226 300,226" data-astro-cid-4tv3cvb4></path> <path class="ac-line-lit" d="M163,150 C214,150 236,226 300,226" data-astro-cid-4tv3cvb4></path>  <rect class="ac-opt" x="300" y="211" width="62" height="30" rx="9" data-astro-cid-4tv3cvb4></rect> <rect class="ac-opt-track" x="310" y="229" width="42" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect> <rect class="ac-opt-fill" x="310" y="229" width="13.0" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect> <rect class="ac-opt-tick" x="310" y="219" width="6" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect><rect class="ac-opt-tick" x="319" y="219" width="6" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect><rect class="ac-opt-tick" x="328" y="219" width="12" height="3" rx="1.5" data-astro-cid-4tv3cvb4></rect> </g>  <circle class="ac-commit" r="4.4" style="offset-path:path('M163,150 C224,150 248,150 300,150')" data-astro-cid-4tv3cvb4></circle> </svg>  </div><div class="hs-panel" data-i="3" data-astro-cid-j7pv25f6>     <svg class="pb" viewBox="0 0 400 300" style="--lbl:14.4px;--txt:15.5px;--nlbl:12.5px;--caret-h:19.7px;--caret-y:42.5px" role="img" aria-label="A prompt is typed, then becomes a small running sim." data-astro-cid-b5jxhyoj> <defs data-astro-cid-b5jxhyoj> <mask id="pbType" data-astro-cid-b5jxhyoj> <rect class="pb-reveal" x="26" y="39.5" height="23.5" fill="#fff" style="--w:246.6px;animation-timing-function:steps(26,end)" data-astro-cid-b5jxhyoj></rect> </mask> </defs> <text class="pb-label" x="28" y="32" data-astro-cid-b5jxhyoj>You ask</text> <g class="pb-prompt" data-astro-cid-b5jxhyoj> <text class="pb-text" x="28" y="58" mask="url(#pbType)" data-astro-cid-b5jxhyoj>a board that follows sales</text> <rect class="pb-caret" x="28" y="42.5" width="1.8" height="19.7" style="--w:246.6px;animation-timing-function:steps(26,end)" data-astro-cid-b5jxhyoj></rect> </g>  <rect class="pb-token" x="0" y="-3" width="18" height="6" rx="3" style="--x0:58px;--x1:74px;animation-delay:0.00s" data-astro-cid-b5jxhyoj></rect><rect class="pb-token" x="0" y="-3" width="12" height="6" rx="3" style="--x0:96px;--x1:100px;animation-delay:0.07s" data-astro-cid-b5jxhyoj></rect><rect class="pb-token" x="0" y="-3" width="22" height="6" rx="3" style="--x0:132px;--x1:185px;animation-delay:0.14s" data-astro-cid-b5jxhyoj></rect><rect class="pb-token" x="0" y="-3" width="14" height="6" rx="3" style="--x0:178px;--x1:210px;animation-delay:0.21s" data-astro-cid-b5jxhyoj></rect><rect class="pb-token" x="0" y="-3" width="20" height="6" rx="3" style="--x0:214px;--x1:296px;animation-delay:0.28s" data-astro-cid-b5jxhyoj></rect><rect class="pb-token" x="0" y="-3" width="12" height="6" rx="3" style="--x0:252px;--x1:322px;animation-delay:0.35s" data-astro-cid-b5jxhyoj></rect> <text class="pb-label" x="28" y="150" data-astro-cid-b5jxhyoj>It builds</text> <path class="pb-link" d="M126,196 L163,196" data-astro-cid-b5jxhyoj></path><path class="pb-link" d="M237,196 L274,196" data-astro-cid-b5jxhyoj></path> <g class="pb-node" style="animation-delay:0.00s" data-astro-cid-b5jxhyoj> <rect x="52" y="176" width="74" height="40" rx="10" data-astro-cid-b5jxhyoj></rect> <text class="pb-node-label" x="89" y="199.2" text-anchor="middle" data-astro-cid-b5jxhyoj>Feed</text> </g><g class="pb-node" style="animation-delay:0.16s" data-astro-cid-b5jxhyoj> <rect x="163" y="176" width="74" height="40" rx="10" data-astro-cid-b5jxhyoj></rect> <text class="pb-node-label" x="200" y="199.2" text-anchor="middle" data-astro-cid-b5jxhyoj>Rules</text> </g><g class="pb-node" style="animation-delay:0.32s" data-astro-cid-b5jxhyoj> <rect x="274" y="176" width="74" height="40" rx="10" data-astro-cid-b5jxhyoj></rect> <text class="pb-node-label" x="311" y="199.2" text-anchor="middle" data-astro-cid-b5jxhyoj>Board</text> </g>  <circle class="pb-run" r="3.6" cy="196" data-astro-cid-b5jxhyoj></circle> <rect class="pb-live" x="274" y="176" width="74" height="40" rx="10" data-astro-cid-b5jxhyoj></rect> </svg> </div> </div> </div> </div> </section> <!-- ══ CUSTOMER QUOTE ══ --> <!-- Sits between two dark sections that otherwise butt up against each
114       other. Solid black, with the hero fading down into it and the photograph
115       fading up out of it, so the three read as one continuous dark run.
116
117       NOTE: the wording below is OURS, not something Jeremy has said. It
118       still needs his sign-off before this page is public. --> <section class="qt-section" data-nav="dark" data-astro-cid-j7pv25f6> <figure class="qt-figure" data-astro-cid-j7pv25f6> <blockquote class="qt-quote" data-astro-cid-j7pv25f6> <p data-astro-cid-j7pv25f6>“I built a little survey game in SimSense in about ten minutes, put it up
119          on a screen in the shop, and had fifty customer emails by the end of the week.”</p> </blockquote> <figcaption class="qt-by" data-astro-cid-j7pv25f6> <span class="qt-name" data-astro-cid-j7pv25f6>Jeremy</span> <span class="qt-role" data-astro-cid-j7pv25f6>Co-founder, Birch Coffee</span> </figcaption> </figure> </section> <!-- ══ THE LOOP, OVER A REAL SPACE ══ --> <!-- runs straight on from the hero: no cream gap between the two --> <section class="sc-section" data-scene-loop data-nav="dark" data-astro-cid-q7rrazby> <!-- Wrapped so the two can swap roles: on desktop the frame is the
120         section's backdrop and the copy floats over it; on a phone the frame
121         is a block of its own and the copy follows it on black. --> <div class="sc-frame" data-astro-cid-q7rrazby> <img class="sc-photo" src="/images/retail-2.jpg" alt loading="lazy" data-astro-cid-q7rrazby> <span class="sc-scrim" aria-hidden="true" data-astro-cid-q7rrazby></span> <svg class="sc-links sc-links--wide" viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true" data-astro-cid-q7rrazby> <path d="M57 24 L70 56" data-astro-cid-q7rrazby></path> <path d="M70 56 L83 30" data-astro-cid-q7rrazby></path> </svg> <svg class="sc-links sc-links--tall" viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true" data-astro-cid-q7rrazby> <path d="M46 17 L57 47" data-astro-cid-q7rrazby></path> <path d="M57 47 L44 74" data-astro-cid-q7rrazby></path> </svg> <div class="sc-point sc-point--sees" style="left:57%; top:24%" data-depth="34" data-astro-cid-q7rrazby> <span class="sc-dot" aria-hidden="true" data-astro-cid-q7rrazby></span> <div class="sc-card" data-astro-cid-q7rrazby> <div class="sc-card-top" data-astro-cid-q7rrazby> <h3 class="sc-card-title" data-astro-cid-q7rrazby>It sees</h3> <svg class="sc-card-chev" width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" data-astro-cid-q7rrazby> <path d="M9 5l7 7-7 7" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-q7rrazby></path> </svg> </div> <p class="sc-card-when" data-astro-cid-q7rrazby>Tuesday, 3:10pm</p>  <div class="sc-chart" aria-hidden="true" data-astro-cid-q7rrazby> <span class="sc-bar" style="height:18%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:34%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:46%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:58%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:72%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:96%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:84%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:52%" data-astro-cid-q7rrazby></span><span class="sc-bar sc-bar--live" style="height:88%;--usual:20%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:16%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:26%" data-astro-cid-q7rrazby></span><span class="sc-bar" style="height:22%" data-astro-cid-q7rrazby></span> </div> <p class="sc-card-line" data-astro-cid-q7rrazby>A queue is building - three hours off your usual peak.</p>    </div> </div><div class="sc-point sc-point--thinks" style="left:70%; top:56%" data-depth="54" data-astro-cid-q7rrazby> <span class="sc-dot" aria-hidden="true" data-astro-cid-q7rrazby></span> <div class="sc-card" data-astro-cid-q7rrazby> <div class="sc-card-top" data-astro-cid-q7rrazby> <h3 class="sc-card-title" data-astro-cid-q7rrazby>It thinks</h3> <svg class="sc-card-chev" width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" data-astro-cid-q7rrazby> <path d="M9 5l7 7-7 7" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-q7rrazby></path> </svg> </div> <p class="sc-card-when" data-astro-cid-q7rrazby>
121Working on it</p>  <div class="sc-think" data-astro-cid-q7rrazby> <span class="sc-spinner" aria-hidden="true" data-astro-cid-q7rrazby></span> <p class="sc-card-line" data-astro-cid-q7rrazby>Looking for what is pulling them in.</p> </div>  </div> </div><div class="sc-point sc-point--acts" style="left:82%; top:30%" data-depth="42" data-astro-cid-q7rrazby> <span class="sc-dot" aria-hidden="true" data-astro-cid-q7rrazby></span> <div class="sc-card" data-astro-cid-q7rrazby> <div class="sc-card-top" data-astro-cid-q7rrazby> <h3 class="sc-card-title" data-astro-cid-q7rrazby>It acts</h3> <svg class="sc-card-chev" width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" data-astro-cid-q7rrazby> <path d="M9 5l7 7-7 7" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-q7rrazby></path> </svg> </div> <p class="sc-card-when" data-astro-cid-q7rrazby>Just now</p>    <p class="sc-msg" data-astro-cid-q7rrazby>Big sale on at the sneaker store two doors down. Want me to keep the specials on the board past close?</p> <div class="sc-actions" data-astro-cid-q7rrazby> <span class="sc-action sc-action--primary" data-astro-cid-q7rrazby>Yes</span><span class="sc-action" data-astro-cid-q7rrazby>Skip</span> </div>  </div> </div> <!-- phones: the callouts stop working over a photo, so they list out --> </div> <div class="sc-copy" data-astro-cid-q7rrazby> <p class="sc-eyebrow sc-eyebrow--on-dark" data-astro-cid-q7rrazby>How it works</p> <h2 class="sc-heading sc-heading--on-dark" data-astro-cid-q7rrazby>Build the logic.<br>Let AI act on it.</h2> <p class="sc-sub sc-sub--on-dark" data-astro-cid-q7rrazby>You describe what matters in your space and what should happen when it does. SimSense watches, works out what it is looking at, and acts on it - while the customer is still standing there.</p> </div> </section> 
121<script>
122  (function () {
123  /* ── widgets: arrive in sequence, then drift ── */
124  var calm = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
125
126  [].slice.call(document.querySelectorAll('[data-scene-loop]')).forEach(function (section) {
127    var points = [].slice.call(section.querySelectorAll('.sc-point'));
128    if (!points.length) return;
129    {
130    if (calm) {
131      section.classList.add('is-in');
132      points.forEach(function (p) { p.classList.add('is-in'); });
133    } else {
134      var seen = new IntersectionObserver(function (entries) {
135        /* entries can arrive batched - the first one may be the stale
136           "not yet on screen" record, so ask whether ANY of them is in */
137        var arrived = entries.some(function (e) { return e.isIntersecting; });
138        if (!arrived) return;
139        section.classList.add('is-in');
140        points.forEach(function (p, i) {
141          setTimeout(function () { p.classList.add('is-in'); }, i * 140);
142        });
143        seen.disconnect();
144      }, { threshold: 0.2 });
145      seen.observe(section);
146
147      /* Very slight drift as the section crosses the viewport - each widget
148         at its own depth, driven off the section's own progress. */
149      var ticking = false;
150      function drift() {
151        ticking = false;
152        var r = section.getBoundingClientRect();
153        var progress = (r.top + r.height / 2 - window.innerHeight / 2) / window.innerHeight;
154        progress = Math.max(-1, Math.min(1, progress));
155        points.forEach(function (p) {
156          var depth = parseFloat(p.getAttribute('data-depth')) || 14;
157          p.style.setProperty('--par', (progress * depth).toFixed(1) + 'px');
158        });
159      }
160      window.addEventListener('scroll', function () {
161        if (ticking) return;
162        ticking = true;
163        requestAnimationFrame(drift);
164      }, { passive: true });
165      window.addEventListener('resize', drift);
166      drift();
167    }
168    }
169  });
170  })();
171</script>
171 <!-- ══ THE MOVING PARTS ══ --> <!-- Light, so it also carries the page out of the dark run and into the
172       cream that industries and everything below it already sit on. It marks
173       its own nav tone, so the bar follows it without any extra wiring. --> <section class="mp mp--light" data-nav="light" data-astro-cid-kjugmyqm> <div class="mp-shell" data-astro-cid-kjugmyqm> <p class="mp-eyebrow" data-astro-cid-kjugmyqm>The moving parts</p> <h2 class="mp-heading" data-astro-cid-kjugmyqm>Three things, one loop.</h2> <p class="mp-sub" data-astro-cid-kjugmyqm>
174Everything SimSense runs on is one of three: an agent, a device, a sim.
175      Each is an input and an output, so they close a loop rather than form a queue.
176</p> <div class="mp-stage" style="--wide-w:1176;--wide-h:830;--tall-w:1176;--tall-h:1020" data-astro-cid-kjugmyqm> <svg class="mp-ring mp-ring--wide" viewBox="0 0 1176 830" aria-hidden="true" data-astro-cid-kjugmyqm> <circle class="mp-ring-line" cx="588" cy="478" r="280" data-astro-cid-kjugmyqm></circle> <path class="mp-chevron" d="M-7,-7 L0,0 L-7,7" transform="translate(830.5 338) rotate(60)" data-astro-cid-kjugmyqm></path><path class="mp-chevron" d="M-7,-7 L0,0 L-7,7" transform="translate(588 758) rotate(180)" data-astro-cid-kjugmyqm></path><path class="mp-chevron" d="M-7,-7 L0,0 L-7,7" transform="translate(345.5 338) rotate(300)" data-astro-cid-kjugmyqm></path> <g class="mp-orbit" style="transform-origin:588px 478px;animation-delay:0.0s" data-astro-cid-kjugmyqm> <circle class="mp-pulse" cx="588" cy="198" r="6" data-astro-cid-kjugmyqm></circle> </g><g class="mp-orbit" style="transform-origin:588px 478px;animation-delay:-6.0s" data-astro-cid-kjugmyqm> <circle class="mp-pulse" cx="588" cy="198" r="6" data-astro-cid-kjugmyqm></circle> </g><g class="mp-orbit" style="transform-origin:588px 478px;animation-delay:-12.0s" data-astro-cid-kjugmyqm> <circle class="mp-pulse" cx="588" cy="198" r="6" data-astro-cid-kjugmyqm></circle> </g> </svg><svg class="mp-ring mp-ring--tall" viewBox="0 0 1176 1020" aria-hidden="true" data-astro-cid-kjugmyqm> <circle class="mp-ring-line" cx="588" cy="582" r="340" data-astro-cid-kjugmyqm></circle> <path class="mp-chevron" d="M-7,-7 L0,0 L-7,7" transform="translate(882.4 412) rotate(60)" data-astro-cid-kjugmyqm></path><path class="mp-chevron" d="M-7,-7 L0,0 L-7,7" transform="translate(588 922) rotate(180)" data-astro-cid-kjugmyqm></path><path class="mp-chevron" d="M-7,-7 L0,0 L-7,7" transform="translate(293.6 412) rotate(300)" data-astro-cid-kjugmyqm></path> <g class="mp-orbit" style="transform-origin:588px 582px;animation-delay:0.0s" data-astro-cid-kjugmyqm> <circle class="mp-pulse" cx="588" cy="242" r="6" data-astro-cid-kjugmyqm></circle> </g><g class="mp-orbit" style="transform-origin:588px 582px;animation-delay:-6.0s" data-astro-cid-kjugmyqm> <circle class="mp-pulse" cx="588" cy="242" r="6" data-astro-cid-kjugmyqm></circle> </g><g class="mp-orbit" style="transform-origin:588px 582px;animation-delay:-12.0s" data-astro-cid-kjugmyqm> <circle class="mp-pulse" cx="588" cy="242" r="6" data-astro-cid-kjugmyqm></circle> </g> </svg> <article class="mp-node mp-node--agent" style="--x:50.000%;--y:23.855%;--x-tall:50.000%;--y-tall:23.725%" data-astro-cid-kjugmyqm> <div class="mp-art" data-astro-cid-kjugmyqm> <svg class="pa" viewBox="0 0 400 300" style="--lbl:14.4px" role="img" aria-label="A schedule dial: a hand sweeps the ring and the agent wakes at each scheduled tick." data-astro-cid-3r2mg2vz> <circle class="pa-dial" cx="200" cy="142" r="86" data-astro-cid-3r2mg2vz></circle> <line class="pa-tick" x1="200" y1="63" x2="200" y2="56" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="220.4" y1="65.7" x2="222.3" y2="58.9" data-astro-cid-3r2mg2vz></line><line class="pa-tick pa-tick--on" x1="236.5" y1="78.8" x2="243" y2="67.5" style="animation-delay:1.00s" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="255.9" y1="86.1" x2="260.8" y2="81.2" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="268.4" y1="102.5" x2="274.5" y2="99" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="276.3" y1="121.6" x2="283.1" y2="119.7" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="279" y1="142" x2="286" y2="142" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="276.3" y1="162.4" x2="283.1" y2="164.3" data-astro-cid-3r2mg2vz></line><line class="pa-tick pa-tick--on" x1="263.2" y1="178.5" x2="274.5" y2="185" style="animation-delay:4.00s" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="255.9" y1="197.9" x2="260.8" y2="202.8" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="239.5" y1="210.4" x2="243" y2="216.5" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="220.4" y1="218.3" x2="222.3" y2="225.1" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="200" y1="221" x2="200" y2="228" data-astro-cid-3r2mg2vz></line><line class="pa-tick pa-tick--on" x1="181.1" y1="212.5" x2="177.7" y2="225.1" style="animation-delay:6.50s" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="160.5" y1="210.4" x2="157" y2="216.5" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="144.1" y1="197.9" x2="139.2" y2="202.8" data-astro-cid-3r2mg2vz></line>
176<line class="pa-tick" x1="131.6" y1="181.5" x2="125.5" y2="185" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="123.7" y1="162.4" x2="116.9" y2="164.3" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="121" y1="142" x2="114" y2="142" data-astro-cid-3r2mg2vz></line><line class="pa-tick pa-tick--on" x1="129.5" y1="123.1" x2="116.9" y2="119.7" style="animation-delay:9.50s" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="131.6" y1="102.5" x2="125.5" y2="99" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="144.1" y1="86.1" x2="139.2" y2="81.2" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="160.5" y1="73.6" x2="157" y2="67.5" data-astro-cid-3r2mg2vz></line><line class="pa-tick" x1="179.6" y1="65.7" x2="177.7" y2="58.9" data-astro-cid-3r2mg2vz></line>  <g class="pa-hand" style="transform-origin:200px 142px" data-astro-cid-3r2mg2vz> <line x1="200" y1="142" x2="200" y2="60" data-astro-cid-3r2mg2vz></line> <circle class="pa-hand-tip" cx="200" cy="60" r="3.4" data-astro-cid-3r2mg2vz></circle> </g>  <g class="pa-core" data-astro-cid-3r2mg2vz> <circle class="pa-core-ring" cx="200" cy="142" r="30" data-astro-cid-3r2mg2vz></circle> <circle class="pa-core-spin" cx="200" cy="142" r="22" style="transform-origin:200px 142px" data-astro-cid-3r2mg2vz></circle> <circle class="pa-core-dot" cx="200" cy="142" r="6" style="transform-origin:200px 142px" data-astro-cid-3r2mg2vz></circle> </g> <text class="pa-label" x="200" y="272" text-anchor="middle" data-astro-cid-3r2mg2vz>Its own schedule</text> </svg>   </div> <h3 class="mp-node-title" data-astro-cid-kjugmyqm>Agents</h3> <p class="mp-node-line" data-astro-cid-kjugmyqm>Wakes on its own schedule, does the work, goes quiet again. No laptop left open.</p> </article><article class="mp-node mp-node--sim" style="--x:70.621%;--y:74.458%;--x-tall:75.034%;--y-tall:73.725%" data-astro-cid-kjugmyqm> <div class="mp-art" data-astro-cid-kjugmyqm>   <svg class="ps" viewBox="0 0 400 300" style="--lbl:14.4px" role="img" aria-label="A dashboard with a chart, a figure and a list, written to on one side and read from on the other." data-astro-cid-fakd2c2n>  <line class="ps-rail" x1="18" y1="141" x2="84" y2="141" data-astro-cid-fakd2c2n></line> <rect class="ps-in" x="0" y="138" width="13" height="6" rx="3" style="animation-delay:0.00s" data-astro-cid-fakd2c2n></rect><rect class="ps-in" x="0" y="138" width="13" height="6" rx="3" style="animation-delay:2.60s" data-astro-cid-fakd2c2n></rect> <path class="ps-arrow" d="M71,136 L78,141 L71,146" data-astro-cid-fakd2c2n></path> <rect class="ps-panel" x="84" y="62" width="232" height="158" rx="13" data-astro-cid-fakd2c2n></rect>  <rect class="ps-title" x="102" y="81" width="66" height="8" rx="4" data-astro-cid-fakd2c2n></rect> <rect class="ps-chip" x="254" y="80" width="44" height="10" rx="5" data-astro-cid-fakd2c2n></rect> <line class="ps-divide" x1="98" y1="100" x2="302" y2="100" data-astro-cid-fakd2c2n></line>  <rect class="ps-well" x="102" y="114" width="104" height="66" rx="7" data-astro-cid-fakd2c2n></rect> <rect class="ps-bar" x="108" y="151.8" width="12" height="20.2" rx="3" style="transform-origin:108px 172px;animation-delay:0.00s" data-astro-cid-fakd2c2n></rect><rect class="ps-bar" x="127" y="139.4" width="12" height="32.6" rx="3" style="transform-origin:127px 172px;animation-delay:0.34s" data-astro-cid-fakd2c2n></rect><rect class="ps-bar" x="146" y="148" width="12" height="24" rx="3" style="transform-origin:146px 172px;animation-delay:0.68s" data-astro-cid-fakd2c2n></rect><rect class="ps-bar" x="165" y="130.7" width="12" height="41.3" rx="3" style="transform-origin:165px 172px;animation-delay:1.02s" data-astro-cid-fakd2c2n></rect><rect class="ps-bar" x="184" y="142.2" width="12" height="29.8" rx="3" style="transform-origin:184px 172px;animation-delay:1.36s" data-astro-cid-fakd2c2n></rect>  <rect class="ps-well" x="218" y="114" width="80" height="30" rx="7" data-astro-cid-fakd2c2n></rect> <rect class="ps-figure" x="230" y="124" width="34" height="11" rx="3" data-astro-cid-fakd2c2n></rect> <rect class="ps-trend" x="272" y="127" width="14" height="5" rx="2.5" data-astro-cid-fakd2c2n></rect>   <circle class="ps-dot" cx="224" cy="159" r="2.6" style="animation-delay:0.00s" data-astro-cid-fakd2c2n></circle> <rect class="ps-row" x="234" y="156" width="62" height="6" rx="3" style="transform-origin:234px 159px;animation-delay:0.00s" data-astro-cid-fakd2c2n></rect>  <circle class="ps-dot" cx="224" cy="174" r="2.6" style="animation-delay:1.50s" data-astro-cid-fakd2c2n></circle> <rect class="ps-row" x="234" y="171" width="48" height="6" rx="3" style="transform-origin:234px 174px;animation-delay:1.50s" data-astro-cid-fakd2c2n></rect>  <circle class="ps-dot" cx="224" cy="189" r="2.6" style="animation-delay:3.00s" data-astro-cid-fakd2c2n></circle> <rect class="ps-row" x="234" y="186" width="56" height="6" rx="3" style="transform-origin:234px 189px;animation-delay:3.00s" data-astro-cid-fakd2c2n></rect>   <line class="ps-rail" x1="316" y1="141" x2="382" y2="141" data-astro-cid-fakd2c2n></line> <circle class="ps-out" cx="0" cy="141" r="3.4" style="animation-delay:1.30s" data-astro-cid-fakd2c2n></circle><circle class="ps-out" cx="0" cy="141" r="3.4" style="animation-delay:3.90s" data-astro-cid-fakd2c2n></circle> <path class="ps-arrow" d="M375,136 L382,141 L375,146" data-astro-cid-fakd2c2n></path> <text class="ps-label" x="50" y="252" text-anchor="middle" data-astro-cid-fakd2c2n>Written</text> <text class="ps-label" x="350" y="252" text-anchor="middle" data-astro-cid-fakd2c2n>Read</text> </svg> </div> <h3 class="mp-node-title" data-astro-cid-kjugmyqm>Sims</h3> <p class="mp-node-line" data-astro-cid-kjugmyqm>Where the interface lives - the board people actually look at.</p> </article><article class="mp-node mp-node--device" style="--x:29.379%;--y:74.458%;--x-tall:24.966%;--y-tall:73.725%" data-astro-cid-kjugmyqm> <div class="mp-art" data-astro-cid-kjugmyqm>  <svg class="pd" viewBox="0 0 400 300" style="--lbl:14.4px" role="img" aria-label="A camera watching a room on one side, with data reported out and instruction coming back on the other." data-astro-cid-nouw37rw>  <path class="pd-fov" d="M176,150 L46,92 L46,208 Z" data-astro-cid-nouw37rw></path> <g class="pd-room" data-astro-cid-nouw37rw>
176 <circle class="pd-blip" cx="0" cy="120" r="3.4" style="animation-duration:7.5s;animation-delay:0s" data-astro-cid-nouw37rw></circle><circle class="pd-blip" cx="0" cy="156" r="4.2" style="animation-duration:9.5s;animation-delay:2.2s" data-astro-cid-nouw37rw></circle><circle class="pd-blip" cx="0" cy="188" r="3" style="animation-duration:8.2s;animation-delay:4.6s" data-astro-cid-nouw37rw></circle> </g>  <line class="pd-scan" x1="46" y1="92" x2="46" y2="208" style="transform-origin:176px 150px" data-astro-cid-nouw37rw></line>  <rect class="pd-body" x="186" y="126" width="74" height="48" rx="9" data-astro-cid-nouw37rw></rect> <path class="pd-barrel" d="M186,133 L178,138 L178,162 L186,167 Z" data-astro-cid-nouw37rw></path> <circle class="pd-lens" cx="179" cy="150" r="11" data-astro-cid-nouw37rw></circle> <circle class="pd-iris" cx="179" cy="150" r="5.4" data-astro-cid-nouw37rw></circle> <circle class="pd-rec" cx="247" cy="138" r="3.2" data-astro-cid-nouw37rw></circle>  <line class="pd-mount" x1="220" y1="174" x2="220" y2="194" data-astro-cid-nouw37rw></line> <line class="pd-mount" x1="202" y1="195" x2="238" y2="195" data-astro-cid-nouw37rw></line>  <line class="pd-rail" x1="260" y1="141" x2="372" y2="141" data-astro-cid-nouw37rw></line> <line class="pd-rail" x1="260" y1="159" x2="372" y2="159" data-astro-cid-nouw37rw></line> <path class="pd-arrow" d="M365,136 L372,141 L365,146" data-astro-cid-nouw37rw></path> <path class="pd-arrow" d="M267,154 L260,159 L267,164" data-astro-cid-nouw37rw></path> <rect class="pd-out" x="0" y="138" width="13" height="6" rx="3" style="animation-delay:0.00s" data-astro-cid-nouw37rw></rect><rect class="pd-out" x="0" y="138" width="13" height="6" rx="3" style="animation-delay:1.60s" data-astro-cid-nouw37rw></rect><rect class="pd-out" x="0" y="138" width="13" height="6" rx="3" style="animation-delay:3.20s" data-astro-cid-nouw37rw></rect> <circle class="pd-in" cx="0" cy="159" r="3.4" style="animation-delay:1.10s" data-astro-cid-nouw37rw></circle><circle class="pd-in" cx="0" cy="159" r="3.4" style="animation-delay:3.50s" data-astro-cid-nouw37rw></circle> <text class="pd-label" x="96" y="252" text-anchor="middle" data-astro-cid-nouw37rw>What it sees</text> <text class="pd-label" x="316" y="252" text-anchor="middle" data-astro-cid-nouw37rw>Both ways</text> </svg>  </div> <h3 class="mp-node-title" data-astro-cid-kjugmyqm>Devices</h3> <p class="mp-node-line" data-astro-cid-kjugmyqm>A camera, a sensor, a screen. It captures the room and takes instruction back.</p> </article> </div> </div> </section> <!-- ══ INDUSTRIES ══ --> <section class="ix-section" id="use-cases" data-nav="light" data-astro-cid-j7pv25f6> <div class="ix-head" data-astro-cid-j7pv25f6> <p class="sp-eyebrow" data-astro-cid-j7pv25f6>Use cases</p> </div> <!-- pio-style stack: each slide sticks to the top and the next one rides
177         over it, so the cards overlap as you scroll. Whole slide is the link. --> <div class="ix-stack" data-astro-cid-j7pv25f6> <a class="ix-slide" href="/use-cases/cafe-window-shopping" data-track="Industry Clicked" data-track-location="home-industries" data-track-label="Window Shopping" data-astro-cid-j7pv25f6> <img class="ix-slide-photo" src="/images/retail-1.jpg" alt="" data-astro-cid-j7pv25f6> <span class="ix-slide-scrim" aria-hidden="true" data-astro-cid-j7pv25f6></span> <p class="ix-slide-line" data-astro-cid-j7pv25f6>Closing the loop on window shopping.</p> <span class="ix-slide-go" data-astro-cid-j7pv25f6>See it →</span> </a><a class="ix-slide" href="/use-cases/cafe-menu-board" data-track="Industry Clicked" data-track-location="home-industries" data-track-label="Menu Board" data-astro-cid-j7pv25f6> <img class="ix-slide-photo" src="/images/live-screen04.png" alt="" data-astro-cid-j7pv25f6> <span class="ix-slide-scrim" aria-hidden="true" data-astro-cid-j7pv25f6></span> <p class="ix-slide-line" data-astro-cid-j7pv25f6>The menu board runs itself.</p> <span class="ix-slide-go" data-astro-cid-j7pv25f6>See it →</span> </a> </div> </section> <!-- ══ TRUSTED BY ══ --> <section class="tb-section" data-nav="light" data-astro-cid-j7pv25f6> <h2 class="tb-title" data-astro-cid-j7pv25f6>Trusted by</h2> <!-- two rows running opposite ways; each row is doubled and slid by
178         exactly -50%, so the loop is seamless --> <div class="tb-marquee" id="tbMarquee" aria-label="Shops running SimSense" data-astro-cid-j7pv25f6> <div class="tb-track" data-astro-cid-j7pv25f6> <span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/alfred.png" alt="Alfred" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/anchorhead.png" alt="Anchorhead Coffee Co" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/aroma-joes.png" alt="Aroma Joe's" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/blank-street.png" alt="Blank Street" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/brash.png" alt="Brash Coffee Roasters" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/gregorys.png" alt="Gregorys Coffee" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/joe-coffee.png" alt="Joe Coffee" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/land-of-a-thousand-hills.png" alt="Land of a Thousand Hills" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/alfred.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/anchorhead.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/aroma-joes.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/blank-street.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/brash.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/gregorys.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/joe-coffee.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/land-of-a-thousand-hills.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span> </div> <div class="tb-track tb-track--reverse" data-astro-cid-j7pv25f6> <span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/maman.png" alt="Maman" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/muchacho.png" alt="Muchacho" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/night-swim.png" alt="Night Swim Coffee" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/summer-moon.png" alt="Summer Moon Coffee" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/summit.png" alt="Summit Coffee" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/the-human-bean.png" alt="The Human Bean" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" data-astro-cid-j7pv25f6> <img src="/images/logos/two-hands.png" alt="Two Hands" loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/maman.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/muchacho.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/night-swim.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/summer-moon.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/summit.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/the-human-bean.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span><span class="tb-mark" aria-hidden="true" data-astro-cid-j7pv25f6> <img src="/images/logos/two-hands.png" alt loading="lazy" data-astro-cid-j7pv25f6> </span> </div> </div> </section> <!-- ══ FOOTER ══ --> <footer class="footer footer--large" data-astro-cid-sz7xmlte> <div class="footer-cta" data-astro-cid-sz7xmlte> <h2 class="footer-heading" data-astro-cid-sz7xmlte>You're ready.<br>Go make something.</h2> <button class="footer-btn footer-get-started" id="footerGetStarted" data-track="Connector Modal Opened" data-track-location="footer" data-astro-cid-sz7xmlte>Get Started</button> </div> <div class="footer-bottom" data-astro-cid-sz7xmlte> <div class="footer-logo-wrap" data-astro-cid-sz7xmlte> <a href="/" class="footer-logo" data-astro-cid-sz7xmlte> <img src="/images/simsense-footer-logo.svg" alt="SimSense" width="120" height="38" data-astro-cid-sz7xmlte> </a> <div class="footer-socials" data-astro-cid-sz7xmlte> <a href="https://discord.gg/Xj5MUPbA" aria-label="Discord" target="_blank" rel="noopener noreferrer" data-track="Social Clicked" data-track-label="Discord" data-astro-cid-sz7xmlte>
178 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-sz7xmlte><path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z" data-astro-cid-sz7xmlte></path></svg> </a> <a href="https://x.com/simsense_ai" aria-label="X" target="_blank" rel="noopener noreferrer" data-track="Social Clicked" data-track-label="X" data-astro-cid-sz7xmlte> <svg width="15" height="15" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-sz7xmlte><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.911-5.622zm-1.161 17.52h1.833L7.084 4.126H5.117z" data-astro-cid-sz7xmlte></path></svg> </a> <a href="https://www.tiktok.com/@simsense_ai" aria-label="TikTok" target="_blank" rel="noopener noreferrer" data-track="Social Clicked" data-track-label="TikTok" data-astro-cid-sz7xmlte> <svg width="15" height="15" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-sz7xmlte><path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-2.88 2.5 2.89 2.89 0 0 1-2.89-2.89 2.89 2.89 0 0 1 2.89-2.89c.28 0 .54.04.79.1V9.01a6.33 6.33 0 0 0-.79-.05 6.34 6.34 0 0 0-6.34 6.34 6.34 6.34 0 0 0 6.34 6.34 6.34 6.34 0 0 0 6.33-6.34V8.69a8.18 8.18 0 0 0 4.78 1.52V6.76a4.85 4.85 0 0 1-1.01-.07z" data-astro-cid-sz7xmlte></path></svg> </a> <a href="https://www.instagram.com/simsense_ai" aria-label="Instagram" target="_blank" rel="noopener noreferrer" data-track="Social Clicked" data-track-label="Instagram" data-astro-cid-sz7xmlte> <svg width="15" height="15" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-sz7xmlte><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881z" data-astro-cid-sz7xmlte></path></svg> </a> </div> </div> <nav class="footer-nav" data-astro-cid-sz7xmlte> <div class="footer-col" data-astro-cid-sz7xmlte> <a href="/story" class="astro-sz7xmlte" data-astro-cid-sz7xmlte>Our Story</a><a href="/use-cases" class="astro-sz7xmlte" data-astro-cid-sz7xmlte>Use Cases</a><a href="/blog" class="astro-sz7xmlte" data-astro-cid-sz7xmlte>Blog</a> </div> <div class="footer-col" data-astro-cid-sz7xmlte> <a href="/privacy" data-astro-cid-sz7xmlte>Privacy</a> <a href="/terms" data-astro-cid-sz7xmlte>Terms</a> <a href="/dpa" data-astro-cid-sz7xmlte>DPA</a> <a href="/faq" data-astro-cid-sz7xmlte>FAQ</a> </div> </nav> </div> </footer> 
178<script>
179  (function() {
180    var btn = document.getElementById('footerGetStarted');
181    if (!btn) return;
182    btn.addEventListener('click', function() {
183      var modal = document.getElementById('navModal');
184      if (modal) modal.classList.add('active');
185    });
186  })();
187</script>
187 
187<script>
188  (function() {
189    var STORAGE_KEY = 'simsense_utm_source';
190    var SIGNUP_RE = /my\.simsense\.ai\/(register|go)/;
191
192    var urlSource = new URLSearchParams(window.location.search).get('utm_source');
193    var storedSource = null;
194    try { storedSource = sessionStorage.getItem(STORAGE_KEY); } catch (e) {}
195
196    var utmSource = urlSource || storedSource;
197    if (!utmSource) return;
198
199    if (urlSource) {
200      try { sessionStorage.setItem(STORAGE_KEY, urlSource); } catch (e) {}
201    }
202
203    document.querySelectorAll('a[href]').forEach(function(a) {
204      if (!SIGNUP_RE.test(a.getAttribute('href') || '')) return;
205      try {
206        var url = new URL(a.href);
207        url.searchParams.set('utm_source', utmSource);
208        a.href = url.toString();
209      } catch (e) { /* skip malformed */ }
210    });
211  })();
212</script>
212  <!-- Nav colour: dark over the hero and the photograph, cream once past them -->  
212<script>
213  (function () {
214    /* ── hero: the four beats take turns ──
215       Deliberately NOT gated on an IntersectionObserver: the stage is at the
216       very top of the page and is on screen the moment it exists. It pauses on
217       tab-away instead, which is the case that actually wastes anything. */
218    var stage = document.getElementById('heroStage');
219    if (stage) {
220      var panels = [].slice.call(stage.querySelectorAll('.hs-panel'));
221      var tabs = [].slice.call(stage.querySelectorAll('.hs-tab'));
222      var still = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
223      /* Desktop shows all four at once, so there is nothing to cycle - the
224         timer only runs at the width where one stage holds one beat. */
225      var oneAtATime = window.matchMedia('(max-width: 720px)');
226      var at = 0;
227      var timer = null;
228
229      function dwellOf(i) {
230        return (parseFloat(tabs[i].style.getPropertyValue('--dwell')) || 6) * 1000;
231      }
232
233      function show(i) {
234        at = (i + panels.length) % panels.length;
235        panels.forEach(function (p, n) { p.classList.toggle('is-on', n === at); });
236        tabs.forEach(function (t, n) {
237          t.classList.toggle('is-on', n === at);
238          t.setAttribute('aria-selected', n === at ? 'true' : 'false');
239        });
240      }
241
242      function queue() {
243        clearTimeout(timer);
244        if (still) return;
245        timer = setTimeout(function () { show(at + 1); queue(); }, dwellOf(at));
246      }
247
248      tabs.forEach(function (tab, i) {
249        tab.addEventListener('click', function () { show(i); queue(); });
250      });
251
252      document.addEventListener('visibilitychange', function () {
253        if (document.hidden) clearTimeout(timer);
254        else queue();
255      });
256
257      function setup() {
258        clearTimeout(timer);
259        if (oneAtATime.matches) {
260          show(0);
261          queue();
262        } else {
263          /* every panel on; the desktop grid ignores these classes anyway,
264             but keeping them true means nothing is left mid-transition */
265          panels.forEach(function (p) { p.classList.add('is-on'); });
266          tabs.forEach(function (t) {
267            t.classList.add('is-on');
268            t.setAttribute('aria-selected', 'true');
269          });
270        }
271      }
272
273      oneAtATime.addEventListener('change', setup);
274      setup();
275    }
276
277
278  })();
279</script>
279<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"1db32db4b8a841ebbe05145ba339c450","r":1,"spa":2}' crossorigin="anonymous"></script>
279
280</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.