PageSourceSearch

https://realityengines.ai/about

html realityengines.ai collected 2026-10-05 12:27:10 UTC 107,162 bytes, 1,281 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4  <meta charset="utf-8">
5  <title>About Abacus.AI Company | Enterprise Generative AI Platform</title>
6    <meta name="description" content="Learn about Abacus AI, the enterprise generative AI platform delivering enterprise AI solutions, AI agents, and advanced automation for businesses.">
7  <meta property="og:url" content="https://abacus.ai/about">
8  <meta property="og:site_name" content="Abacus.AI">
9  <meta property="og:title" content="About Abacus.AI Company | Enterprise Generative AI Platform" />
10  <meta property="og:description" content="Learn about Abacus AI, the enterprise generative AI platform delivering enterprise AI solutions, AI agents, and advanced automation for businesses.">
11  <meta property="og:image" content="https://abacus.ai/static/h4664e939/og/og_about.jpg" />
12  <meta property="og:image:type" content="image/jpeg" />
13  <meta property="og:image:width" content="1200" />
14  <meta property="og:image:height" content="630" />
15  <meta property="og:type" content="website" />
16  <meta property="fb:app_id" content="758771677996804" />
17  
18
19<link id="iconFav1" rel="shortcut icon" href="/static/hbfd5c88b/icon2/favicon.ico" />
20<link id="iconFav2" rel="icon" type="image/x-icon" sizes="16x16 32x32" href="/static/hbfd5c88b/icon2/favicon.ico" />
21
22<link rel="icon" sizes="192x192" href="/static/h23c4bfa0/icon2/favicon-192.png" />
23<link rel="apple-touch-icon" sizes="180x180" href="/static/hb3ee7c1d/icon2/favicon-180-precomposed.png" />
24<meta name="msapplication-TileColor" content="#FFFFFF" />
25<meta name="msapplication-TileImage" content="/static/haba49645/icon2/favicon-144-precomposed.png" />
26  <meta name="viewport" content="width=device-width,initial-scale=1.0">
27  <meta name="insight-app-sec-validation" content="be86a286-6081-4e6d-afd3-7f376bb38ca1">
28  <link rel="preconnect" href="https://apps.abacus.ai">
vendor: 66 bytes, lines 28-29
28
29  <script async src="https://www.googletagmanager.com/gtag/js?id=
29G-NM4YZNYB7G
vendor: 12 bytes, line 29
29"></script>
30<script>
vendor: 128 bytes, lines 31-35
31window.dataLayer = window.dataLayer || [];
32function gtag(){dataLayer.push(arguments);}
33gtag('js', new Date());
34
35gtag('config', '
35G-NM4YZNYB7G
vendor: 45 bytes, line 35
35',  {cookie_flags: 'secure;samesite=none'});
36gtag('set', 'user_properties', {'exp': 'exp_ns2_revamp'})
37gtag('event', 'experiment_set', {'exp': 'exp_ns2_revamp'})
38</script>
vendor: 1 bytes, line 38
38
39<script>
40  (function () {
41    var zi = document.createElement('script');
42    zi.type = 'text/javascript';
43    zi.async = true;
44    zi.referrerPolicy = 'unsafe-url';
45    zi.src = 'https://ws.zoominfo.com/pixel/62ff9bdbe2e537008ecab918';
46    var s = document.getElementsByTagName('script')[0];
47    s.parentNode.insertBefore(zi, s);
48  })();
49</script>
49
50<!-- Twitter universal website tag code -->
51<script>
52    !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments);
53    },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='//static.ads-twitter.com/uwt.js',
54    a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script');
55    // Insert Twitter Pixel ID and Standard Event data below
56    twq('init','o52dx');
57    twq('track','PageView');
58</script>
58
59<!-- End Twitter universal website tag code -->
60<!-- Twitter conversion tracking base code -->
61<script>
62  !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments);
63  },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js',
64  a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script');
65  twq('config','obw0r');
66</script>
66
67<!-- End Twitter conversion tracking base code -->
68<script async src="https://browser.sentry-cdn.com/6.2.0/bundle.min.js" integrity="sha384-PWBASVWyeEeNsEw6zDTEwryGvuiH1xuxnlu/n+GOI777vnfbqyYLzqCf+najQLoi" crossorigin="anonymous"></script>
68
69
70<!-- for r2b.com -->
71<script>
72  (function (key) {
73    if (window.reb2b) return;
74    window.reb2b = { loaded: true };
75    var s = document.createElement("script");
76    s.async = true;
77    s.src = "https://ddwl4m2hdecbv.cloudfront.net/b/" + key + "/" + key + ".js.gz";
78    var firstScript = document.getElementsByTagName("script")[0];
79    firstScript.parentNode.insertBefore(s, firstScript);
80  })("GNLKQHP8526Q");
81</script>
81
82
83<!-- for vector pixel  -->
84<script>
85  (function (window, document) {
86    try {
87      if (window.vector) {
88        console.log("Vector snippet included more than once.");
89        return;
90      }
91      var vectorObj = {};
92      vectorObj.q = vectorObj.q || [];
93      var methods = ["load", "identify", "on"];
94      var createMethod = function (method) {
95        return function () {
96          var args = Array.prototype.slice.call(arguments);
97          vectorObj.q.push([method, args]);
98        };
99      };
100      for (var i = 0; i < methods.length; i++) {
101        var method = methods[i];
102        vectorObj[method] = createMethod(method);
103      }
104      window.vector = vectorObj;
105      if (!vectorObj.loaded) {
106        var script = document.createElement("script");
107        script.type = "text/javascript";
108        script.async = true;
109        script.src = "https://cdn.vector.co/pixel.js";
110        var firstScript = document.getElementsByTagName("script")[0];
111        firstScript.parentNode.insertBefore(script, firstScript);
112        vectorObj.loaded = true;
113      }
114    } catch (e) {
115      console.error("Error loading Vector:", e);
116    }
117  })(window, document);
118
119  vector.load("3c7f486d-07b1-4b73-97b9-250a36636a05");
120</script>
120<script>(function () { try { var t = localStorage.getItem('ns2-theme'); if (t === 'light' || t === 'dark') { document.documentElement.setAttribute('data-ns2-theme', t); } } catch (e) {} })();</script>
120
121  <link rel="preconnect" href="https://fonts.googleapis.com">
122  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
123  <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,400&display=swap" rel="stylesheet" media="print" onload="this.media='all'">
124  <noscript><link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;1,400&display=swap" rel="stylesheet"></noscript>
125  <link rel="stylesheet" href="/static/h01e71f96/v2/css/ns2.css">
126  <link rel="preload" href="/static/h3100e775/v2/fonts/inter-latin.woff2" as="font" type="font/woff2" crossorigin>
127<style>
128@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/static/h3100e775/v2/fonts/inter-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
129@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/static/h34b9c504/v2/fonts/inter-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
130@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("/static/h684ad5b5/v2/fonts/geist-mono-latin.woff2") format("woff2"); }
131@font-face { font-family: "Inter Fallback"; src: local("Arial"); size-adjust: 107.25%; ascent-override: 90.33%; descent-override: 22.49%; line-gap-override: 0%; }
132</style>
133<link rel="stylesheet" href="/static/hab4b620c/v2/css/tokens.css">
134<link rel="stylesheet" href="/static/h18c5ef89/v2/css/base.css">
135<link rel="stylesheet" href="/static/hb44feb54/v2/css/chrome.css">
136  <link rel="stylesheet" href="/static/h45dfb7f8/v2/css/pages/company.css">
137  
138</head>
139<body class="v2-body">
140  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=G-NM4YZNYB7G" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
141  <a class="v2-skip" href="#main">Skip to content</a>
142  <div class="v2-glow" aria-hidden="true"></div>
143  
144
145
146
147<header class="ns2-header">
148  <div class="ns2-container ns2-header-inner">
149    <a class="ns2-logo" href="/"><img class="ns2-logo-ink" src="/static/hafa23d09/imgs/logo_text80Dark.webp" alt="Abacus.AI" width="148" height="20"><img class="ns2-logo-white" src="/static/h60348627/imgs/logo_text80.webp" alt="Abacus.AI" width="148" height="20"></a>
150    
151    <nav class="ns2-nav" aria-label="Main">
152      <div class="ns2-dd" data-ns2-dd>
153        <button type="button" class="ns2-nav-link" aria-expanded="false" aria-controls="ns2-products">
154          Products
155          <svg viewBox="0 0 14 14" aria-hidden="true" focusable="false"><path d="M3.5 5.25L7 8.75L10.5 5.25" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
156        </button>
157        <div class="ns2-dd-panel" id="ns2-products"><div class="ns2-menu ns2-menu--cols">
158  <ul class="ns2-menu-col">
159    <li style="--ns2-i: 0"><a class="ns2-menu-item" href="/teams/chatllm"><span class="ns2-menu-tile ns2-menu-tile--logo" aria-hidden="true"><img src="/static/h62176ad3/imgs/homepage4/chatllm_icon.webp" alt="" width="24" height="24" loading="lazy" decoding="async"></span><span class="ns2-menu-text"><b>ChatLLM</b><span>All-In-One AI Assistant</span></span></a></li><li style="--ns2-i: 1"><a class="ns2-menu-item" href="/teams/agent"><span class="ns2-menu-tile ns2-menu-tile--logo" aria-hidden="true"><img src="/static/h22675917/imgs/chatllm/deepagent_icon_menu.webp" alt="" width="24" height="24" loading="lazy" decoding="async"></span><span class="ns2-menu-text"><b>Abacus AI Agent</b><span>General-Purpose Agent</span></span></a></li><li style="--ns2-i: 2"><a class="ns2-menu-item" href="/teams/supercomputer"><span class="ns2-menu-tile ns2-menu-tile--logo" aria-hidden="true"><img src="/static/h2d6ddffc/imgs/deepagent/key_features/powerful_computer_icon.webp" alt="" width="24" height="24" loading="lazy" decoding="async"></span><span class="ns2-menu-text"><b>Abacus AI SuperComputer</b><span>Powerful AI Computer</span></span></a></li>
160  </ul><ul class="ns2-menu-col">
161    <li style="--ns2-i: 0"><a class="ns2-menu-item" href="/gen_ai"><span class="ns2-menu-tile ns2-menu-tile--logo" aria-hidden="true"><img src="/static/h3cc5a9da/imgs/expsecond/iconEnterprise1.webp" alt="" width="24" height="24" loading="lazy" decoding="async"></span><span class="ns2-menu-text"><b>Abacus AI Enterprise</b><span>Enterprise-Class Agentic Platform</span></span></a></li><li style="--ns2-i: 1"><a class="ns2-menu-item" href="/teams/studio"><span class="ns2-menu-tile ns2-menu-tile--logo" aria-hidden="true"><img src="/static/h35f8bd1b/imgs/abacus_studio_icon.webp" alt="" width="24" height="24" loading="lazy" decoding="async"></span><span class="ns2-menu-text"><b>Abacus AI Studio</b><span>Multi-Media Studio</span></span></a></li><li style="--ns2-i: 2"><a class="ns2-menu-item" href="/teams/routellm-apis"><span class="ns2-menu-tile ns2-menu-tile--logo" aria-hidden="true"><img src="/static/hc0f6cddc/imgs/teams/routellm_icon.webp" alt="" width="24" height="24" loading="lazy" decoding="async"></span><span class="ns2-menu-text"><b>RouteLLM API</b><span>Cache-Aware API to 100s of AI Models</span></span></a></li>
162  </ul>
163</div></div>
164      </div>
165      <a class="ns2-nav-link" href="/gen_ai">Enterprise</a>
166      <div class="ns2-dd" data-ns2-dd>
167        <button type="button" class="ns2-nav-link" aria-expanded="false" aria-controls="ns2-research">
168          Research
169          <svg viewBox="0 0 14 14" aria-hidden="true" focusable="false">
169<path d="M3.5 5.25L7 8.75L10.5 5.25" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
170        </button>
171        <div class="ns2-dd-panel" id="ns2-research"><div class="ns2-menu">
172  <ul class="ns2-menu-col">
173    <li style="--ns2-i: 0"><a class="ns2-menu-item" href="/research"><span class="ns2-menu-tile ns2-menu-tile--mask" aria-hidden="true"><i style="--ns2-mask: url('/static/h85cd89cf/imgs/homepage4/dropdown/icon_research.svg')"></i></span><span class="ns2-menu-text"><b>Research Areas</b><span>Explore our research initiatives</span></span></a></li><li style="--ns2-i: 1"><a class="ns2-menu-item" href="/publications"><span class="ns2-menu-tile ns2-menu-tile--mask" aria-hidden="true"><i style="--ns2-mask: url('/static/hc07ee98d/imgs/homepage4/dropdown/icon_publications.svg')"></i></span><span class="ns2-menu-text"><b>Publications</b><span>Read our latest papers</span></span></a></li>
174  </ul>
175</div></div>
176      </div>
177      <div class="ns2-dd" data-ns2-dd>
178        <button type="button" class="ns2-nav-link" aria-expanded="false" aria-controls="ns2-company">
179          Company
180          <svg viewBox="0 0 14 14" aria-hidden="true" focusable="false"><path d="M3.5 5.25L7 8.75L10.5 5.25" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
181        </button>
182        <div class="ns2-dd-panel" id="ns2-company"><div class="ns2-menu">
183  <ul class="ns2-menu-col">
184    <li style="--ns2-i: 0"><a class="ns2-menu-item" href="/about"><span class="ns2-menu-tile ns2-menu-tile--mask" aria-hidden="true"><i style="--ns2-mask: url('/static/h2f9b2fb7/imgs/homepage4/dropdown/icon_about.svg')"></i></span><span class="ns2-menu-text"><b>About Us</b><span>Learn about our mission</span></span></a></li><li style="--ns2-i: 1"><a class="ns2-menu-item" href="/culture"><span class="ns2-menu-tile ns2-menu-tile--mask" aria-hidden="true"><i style="--ns2-mask: url('/static/h013bef39/imgs/homepage4/dropdown/icon_culture.svg')"></i></span><span class="ns2-menu-text"><b>Culture</b><span>Our values and team</span></span></a></li><li style="--ns2-i: 2"><a class="ns2-menu-item" href="/press"><span class="ns2-menu-tile ns2-menu-tile--mask" aria-hidden="true"><i style="--ns2-mask: url('/static/hc562110d/imgs/homepage4/dropdown/icon_press.svg')"></i></span><span class="ns2-menu-text"><b>Press</b><span>News and media coverage</span></span></a></li><li style="--ns2-i: 3"><a class="ns2-menu-item" href="/casestudies"><span class="ns2-menu-tile ns2-menu-tile--mask" aria-hidden="true"><i style="--ns2-mask: url('/static/h570084f3/imgs/homepage4/dropdown/icon_casestudies.svg')"></i></span><span class="ns2-menu-text"><b>Customers</b><span>Success stories from customers</span></span></a></li><li style="--ns2-i: 4"><a class="ns2-menu-item" href="/security"><span class="ns2-menu-tile ns2-menu-tile--mask" aria-hidden="true"><i style="--ns2-mask: url('/static/ha49a8cbc/imgs/homepage4/dropdown/icon_security.svg')"></i></span><span class="ns2-menu-text"><b>Security</b><span>Enterprise-grade security</span></span></a></li><li style="--ns2-i: 5"><a class="ns2-menu-item" href="/jobs"><span class="ns2-menu-tile ns2-menu-tile--mask" aria-hidden="true"><i style="--ns2-mask: url('/static/hb2711d2b/imgs/homepage4/dropdown/icon_jobs.svg')"></i></span><span class="ns2-menu-text"><b>Jobs</b><span>Join our team</span></span></a></li><li style="--ns2-i: 6"><a class="ns2-menu-item" href="https://blog.abacus.ai/"><span class="ns2-menu-tile ns2-menu-tile--mask" aria-hidden="true"><i style="--ns2-mask: url('/static/h1c250806/imgs/homepage4/dropdown/icon_blog.svg')"></i></span><span class="ns2-menu-text"><b>Blog</b><span>Latest news and updates</span></span></a></li>
185  </ul>
186</div></div>
187      </div>
188    </nav>
189    
190    <div class="ns2-header-actions">
191      
192
193
194      <a class="ns2-nav-link" href="https://apps.abacus.ai/chatllm/" data-ns2-app-link="login">Log in</a>
195      <button type="button" class="ns2-theme-btn" data-ns2-theme-toggle aria-label="Switch to dark theme" data-ns2-label-dark="Switch to dark theme" data-ns2-label-light="Switch to light theme">
196        <svg class="ns2-theme-moon" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/></svg>
197        <svg class="ns2-theme-sun" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></g></svg>
198      </button><a class="ns2-btn ns2-btn--pill" href="/app/signup?" data-ns2-cta data-ns2-params="{}">Get started</a>
199      
200    </div>
201  </div>
202</header>
203  <main id="main" tabindex="-1">
204    
205<section class="v2-hero about-hero" aria-labelledby="about-title">
206  <div class="v2-wrap">
207    <p class="v2-label v2-hero__label">Company</p>
208    <div class="v2-hero__grid">
209      <h1 class="v2-display v2-hero__title" id="about-title">About Us</h1>
210      <div class="v2-hero__side">
211        <p class="v2-lead">Abacus.AI is the state-of-the-art SuperAssistant and agentic platform built to automate white-collar work. Over 3M professionals, small businesses, and enterprises, including dozens of the Fortune 500, run on Abacus.AI.</p>
212      </div>
213    </div>
214  </div>
215</section>
216
217<section class="v2-section v2-section--tight" aria-labelledby="about-products">
218  <div class="v2-wrap">
219    <div class="v2-head v2-head--rule">
220  <div class="v2-head__bar">
221    <h2 class="v2-label" id="about-products">Products</h2>
222  </div>
223</div>
224    <div class="v2-co-products" data-v2-reveal>
225      <a class="v2-card v2-co-product" href="/teams/chatllm">
226        <h3 class="v2-h3">ChatLLM</h3>
227        <p class="v2-card__text">ChatLLM is the super assistant for professionals and small teams. 100+ AI models that run your personal agents, create full-stack and mobile apps, and power self-improving tasks that get better with every run.</p>
228        <span class="v2-more">Learn more<svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg></span>
229      </a>
230      <a class="v2-card v2-co-product" href="/generative-ai">
231        <h3 class="v2-h3">Abacus.AI Enterprise</h3>
232        <p class="v2-card__text">Abacus.AI Enterprise puts that same power to work across your entire organization. It connects to your systems of record, builds an AI brain that learns your business, and deploys agents and AI workflows that automate mission-critical processes, with single sign-on, flexible deployment options, and enterprise-grade security and compliance built in. It is a force multiplier for every employee and a growth engine for the business.</p>
233        <span class="v2-more">Learn more<svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg></span>
234      </a>
235    </div>
236  </div>
237</section>
238
239<section class="v2-section v2-section--fill">
240  <div class="v2-wrap v2-co-split">
241    <p class="v2-h2 v2-co-split__title" data-v2-reveal="words">Our mission is simple: give every professional and every enterprise a super assistant that automates all their work.</p>
242    <p class="v2-co-split__body" data-v2-reveal="self">
243      Headquartered in San Francisco, Abacus.AI is backed by world-class investors including <a class="v2-link" href="https://en.wikipedia.org/wiki/Mike_Volpi" target="_blank" rel="noopener">Mike Volpi</a> (Index Ventures), <a class="v2-link" href="https://en.wikipedia.org/wiki/Eric_Schmidt" target="_blank" rel="noopener">Eric Schmidt</a> (former CEO and Chairman of Google), <a class="v2-link" href="https://en.wikipedia.org/wiki/Ram_Shriram" target="_blank" rel="noopener">Ram Shriram</a> (Google board member), Coatue, Khosla Ventures, and Tiger Global. The company was founded by Google, Amazon, and Uber veterans Bindu Reddy and Arvind Sundararajan, and our team has shipped some of the most widely used products in tech, from Gmail and Google Docs to Amazon Personalize and Uber&#39;s autonomy stack.
244    </p>
245  </div>
246</section>
247
248<section class="v2-section" id="team" aria-labelledby="about-team">
249  <div class="v2-wrap">
250    <div class="v2-head">
251  <h2 class="v2-h2 v2-head__title about-section-title" id="about-team">Team</h2>
252</div>
253    <div class="v2-people" data-v2-reveal>
254      <article class="v2-person about-team-card" aria-labelledby="team-1">
255        <img class="v2-person__photo" src="/static/h396ca8d8/imgs/teamA9-new.webp" alt="Bindu Reddy" loading="lazy" decoding="async" >
256        <div class="v2-person__head">
257          <h3 class="v2-h3" id="team-1">Bindu Reddy</h3>
258          <p class="v2-label">CEO &amp; Co-Founder</p>
259          <ul class="v2-social">
260  <li><a href="https://x.com/bindureddy" target="_blank" rel="noopener" aria-label="Bindu Reddy: X/Twitter"><svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M18 6 6 18" /><path d="m6 6 12 12" /></svg></a></li>
261  <li><a href="https://linkedin.com/in/bindureddy/" target="_blank" rel="noopener" aria-label="Bindu Reddy: LinkedIn"><svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
262</ul>
263        </div>
264        <div class="v2-person__bio">
265          <p>Bindu Reddy is the CEO and Co-Founder of Abacus.AI. Before starting Abacus.AI, she was the General Manager for AI Verticals at AWS, AI. Her organization created and launched Amazon Personalize and Amazon Forecast, the first of their kind AI services that enable organizations to create custom deep-learning models easily. Prior to that, she was the CEO and co-founder of Post Intelligence, a deep-learning company that created services for social media influencers that was acquired by Uber. Bindu was previously at Google, where she was the Head of Product for Google Apps, including Docs, Spreadsheets, Slides, Sites and Blogger. Bindu has a Masters Degree from Dartmouth and B.Tech degree from Indian Institute of Technology, Mumbai.</p>
266          <p>Prior to AWS, Bindu founded and led Post Intelligence as CEO, a deep-learning company focused on AI-powered services for social media influencers. Under her leadership, the company developed innovative AI solutions that optimized content strategy and engagement, ultimately leading to its acquisition by Uber in 2017.</p>
267          <p>Her impact at Google was equally transformative. As Head of Product for Google Apps from 2005 to 2009, Bindu directed the product strategy and development of some of Google's most widely used productivity tools - Docs, Spreadsheets, Slides, Sites, and Blogger. She played a crucial role in shaping the future of cloud-based collaboration tools used by hundreds of millions globally.</p>
268          <p>Bindu has an M.S. from Dartmouth and a B.Tech from the Indian Institute of Technology, Bombay. She shares her views on Abacus AI and the future of AGI on X. You can read more at <a href='/bindureddy'>/bindureddy</a></p>
269        </div>
270      </article>
271      <article class="v2-person about-team-card" aria-labelledby="team-2">
272        <img class="v2-person__photo" src="/static/h6b93efa0/imgs/teamA2-new.webp" alt="Arvind Sundararajan" loading="lazy" decoding="async" >
273        <div class="v2-person__head">
274          <h3 class="v2-h3" id="team-2">Arvind Sundararajan</h3>
275          <p class="v2-label">CTO &amp; Co-Founder</p>
276          <ul class="v2-social">
277  <li><a href="https://x.com/arvinds" target="_blank" rel="noopener" aria-label="Arvind Sundararajan: X/Twitter"><svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M18 6 6 18" /><path d="m6 6 12 12" /></svg></a></li>
278  <li><a href="https://linkedin.com/in/arvindsundararajan/" target="_blank" rel="noopener" aria-label="Arvind Sundararajan: LinkedIn">
278<svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
279</ul>
280        </div>
281        <div class="v2-person__bio">
282          <p>Arvind Sundararajan is the CTO and Co-Founder of Abacus.AI. Before starting Abacus.AI, he was a senior technical lead at Uber's autonomous vehicles division where he led the Autonomy Systems team, responsible for wide ranging software initiatives across the autonomy stack spanning onboard software, ML, and infrastructure. Previously, he was the CTO and co-founder of Post Intelligence. Before Post Intelligence, he was at Google, where he was the technical lead for AdSense's machine learning and serving system, and the technical lead for GMail's backend system (part of the initial launch team). Arvind was the recipient of two founders awards at Google and has a M.S. (CS) degree from Stanford and a B.Tech degree from Indian Institute of Technology, Mumbai.</p>
283          <p>Most recently, Arvind served as a Senior Technical Leader at Uber's Advanced Technologies Group, leading the Autonomy Systems team for Uber's autonomous vehicles division. Before Uber, Arvind co-founded and served as CTO of Post Intelligence alongside Bindu Reddy, building the company from inception through its acquisition by Uber in 2017.</p>
284          <p>At Post Intelligence, he architected the deep-learning infrastructure that powered AI-driven social media analytics and content optimization. Arvind's foundational technical expertise was honed at Google, where his accomplishments included two key roles: Technical Lead for AdSense's machine learning and serving system, one of Google's primary revenue engines, and Technical Lead for Gmail's backend system, where he was part of the initial launch team that brought Gmail to the world. His exceptional contributions earned him two prestigious Google Founders Awards, recognizing work that significantly advanced the company's mission.</p>
285          <p>Arvind has an M.S. in Computer Science from Stanford University and a B.Tech in Computer Science from the Indian Institute of Technology, Bombay.</p>
286        </div>
287      </article>
288      <article class="v2-person about-team-card" aria-labelledby="team-3">
289        <img class="v2-person__photo" src="/static/h59758d66/imgs/teamA12-new.webp" alt="Patrick Nussbaumer" loading="lazy" decoding="async" width="990" height="990">
290        <div class="v2-person__head">
291          <h3 class="v2-h3" id="team-3">Patrick Nussbaumer</h3>
292          <p class="v2-label">VP of Sales</p>
293          <ul class="v2-social">
294  <li><a href="https://linkedin.com/in/patrick-nussbaumer-092951/" target="_blank" rel="noopener" aria-label="Patrick Nussbaumer: LinkedIn"><svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
295</ul>
296        </div>
297        <div class="v2-person__bio">
298          <p>Patrick Nussbaumer serves as Senior Vice President of Worldwide Sales at Abacus.AI, where he leads the company's global sales organization encompassing Business Development, Revenue Operations, Inside Sales, and Channel Sales. His leadership drives Abacus.AI's go-to-market strategy and customer success across diverse industries and geographies.</p>
299          <p>With over 20 years of proven experience spanning sales, marketing, and finance, Patrick has established himself as a strategic sales leader who excels at building high-performing teams and executing complex initiatives that accelerate business growth. He brings an AI-first approach to sales and has created the world's first "agentic sales strategy" that is at the forefront of AI-human collaboration.</p>
300          <p>Patrick previously held leadership roles in Domino Data Labs, Data Robots, and Alteryx. He holds a B.S. in Electrical Engineering from the University of Illinois at Urbana-Champaign and an MBA from the Paul Merage School of Business at UC Irvine.</p>
301        </div>
302      </article>
303      <article class="v2-person about-team-card" aria-labelledby="team-4">
304        <img class="v2-person__photo" src="/static/hf48f65dc/imgs/teamA13-new.webp" alt="Ajit Deshpande" loading="lazy" decoding="async" width="990" height="990">
305        <div class="v2-person__head">
306          <h3 class="v2-h3" id="team-4">Ajit Deshpande</h3>
307          <p class="v2-label">CSO &amp; VP of Infrastructure Engineering</p>
308          <ul class="v2-social">
309  <li><a href="https://linkedin.com/in/ajit-deshpande-b30434/" target="_blank" rel="noopener" aria-label="Ajit Deshpande: LinkedIn"><svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
310</ul>
311        </div>
312        <div class="v2-person__bio">
313          <p>Ajit Deshpande serves as Chief Security Officer (CSO) and Vice President of Infrastructure Engineering at Abacus.AI, where he holds comprehensive responsibility for the company's security posture, data protection frameworks, cloud infrastructure, and compliance programs. As the leader of Abacus.AI's Information Security Committee and the company's designated Data Protection Officer (DPO), Ajit ensures that enterprise customers can trust the platform with their most sensitive data and mission-critical AI workloads.</p>
314          <p>Before Abacus.AI, Ajit held senior technical leadership positions at prominent technology companies. At Bleacher Report (Turner Sports), he served as Director and Senior Director of Engineering, overseeing technology infrastructure and engineering teams. Prior to that, he spent over a decade at LexisNexis Risk Solutions in progressively senior roles—Director of Systems Engineering, Senior Director of Technology, and Enterprise Architect—where he architected large-scale data systems for risk analytics and identity solutions. His career also includes technical roles at Seisint (later acquired by LexisNexis) and Keane, Inc., building a strong foundation in software engineering and enterprise systems.</p>
315          <p>His leadership ensures that Abacus.AI customers, which include many Fortune 500 enterprises, can deploy AI systems with confidence in their security, privacy, and compliance. Ajit holds a B.Tech degree from the Indian Institute of Technology, Bombay, and an M.S. degree from the University of Cincinnati.</p>
316        </div>
317      </article>
318      <article class="v2-person about-team-card" aria-labelledby="team-5">
319        <img class="v2-person__photo" src="/static/hb4a3fd52/imgs/teamA14-new.webp" alt="Thodoris Petropoulos" loading="lazy" decoding="async" width="990" height="990">
320        <div class="v2-person__head">
321          <h3 class="v2-h3" id="team-5">Thodoris Petropoulos</h3>
322          <p class="v2-label">VP of Forward Deployed Engineering</p>
323          <ul class="v2-social">
324  <li><a href="https://linkedin.com/in/thodoris-petropoulos/" target="_blank" rel="noopener" aria-label="Thodoris Petropoulos: LinkedIn"><svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
325</ul>
326        </div>
327        <div class="v2-person__bio">
328          <p>Thodoris (Theo) Petropoulos leads Data Science and Forward Deployed Engineering at Abacus.AI, serving as the critical bridge between cutting-edge AI research and real-world enterprise applications. In this customer-facing leadership role, Theo is responsible for making sure our customers (including many Fortune 500 companies) are successful at leveraging Abacus.AI products to make AI work for them to provide valuable business outcomes.</p>
329          <p>With a deep passion for democratizing AI and making it accessible to people of all backgrounds and technical skill levels, Theo has built his career on the belief that AI should empower everyone—from citizen data scientists to seasoned ML practitioners. Before joining Abacus.AI, Theo was a data science leader at DataRobot.</p>
330          <p>Theo has a Ph.D in Big Data and Business Strategy from the Athens University of Economics and Business.</p>
331        </div>
332      </article>
333    </div>
334  </div>
335</section>
336
337<section class="v2-section" aria-labelledby="about-investors">
338  <div class="v2-wrap">
339    <div class="v2-head">
340  <h2 class="v2-h2 v2-head__title about-section-title" id="about-investors">Key Investors</h2>
341</div>
342    <ul class="v2-cells v2-cells--4 v2-co-backers" data-v2-reveal>
343      <li class="v2-backer about-investor-card">
344        <img class="v2-backer__photo" src="/static/h53e97bb5/imgs/teamA5.webp" alt="Ram Shriram" loading="lazy" decoding="async" width="48" height="48">
345        <div>
346          <h3 class="v2-backer__name">Ram Shriram</h3>
347          <p class="v2-backer__title">Partner, Sherpalo Ventures and Board Member, Google<br>Board Member, Abacus.AI</p>
348          <ul class="v2-social">
349  <li><a href="https://en.wikipedia.org/wiki/Ram_Shriram" target="_blank" rel="noopener" aria-label="Ram Shriram: Wikipedia"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z"/></svg></a></li>
350</ul>
351        </div>
352      </li>
353      <li class="v2-backer about-investor-card">
354        <img class="v2-backer__photo" src="/static/h6fd69b88/imgs/teamA4.webp" alt="Eric Schmidt" loading="lazy" decoding="async" width="48" height="48">
355        <div>
356          <h3 class="v2-backer__name">Eric Schmidt</h3>
357          <p class="v2-backer__title">ex-CEO and Chairman, Google</p>
358          <ul class="v2-social">
359  <li><a href="https://en.wikipedia.org/wiki/Eric_Schmidt" target="_blank" rel="noopener" aria-label="Eric Schmidt: Wikipedia"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.00
3597-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z"/></svg></a></li>
360  <li><a href="https://x.com/ericschmidt" target="_blank" rel="noopener" aria-label="Eric Schmidt: X/Twitter"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M18 6 6 18" /><path d="m6 6 12 12" /></svg></a></li>
361</ul>
362        </div>
363      </li>
364      <li class="v2-backer about-investor-card">
365        <img class="v2-backer__photo" src="/static/habef2b05/imgs/teamS1.webp" alt="Mike Volpi" loading="lazy" decoding="async" width="48" height="48">
366        <div>
367          <h3 class="v2-backer__name">Mike Volpi</h3>
368          <p class="v2-backer__title">Partner, Index Ventures<br>Board Member, Abacus.AI</p>
369          <ul class="v2-social">
370  <li><a href="https://en.wikipedia.org/wiki/Mike_Volpi" target="_blank" rel="noopener" aria-label="Mike Volpi: Wikipedia"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z"/></svg></a></li>
371  <li><a href="https://x.com/mavolpi" target="_blank" rel="noopener" aria-label="Mike Volpi: X/Twitter"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M18 6 6 18" /><path d="m6 6 12 12" /></svg></a></li>
372</ul>
373        </div>
374      </li>
375      <li class="v2-backer about-investor-card">
376        <img class="v2-backer__photo" src="/static/h9ed8414c/imgs/teamA7.webp" alt="Martin Chavez" loading="lazy" decoding="async" width="48" height="48">
377        <div>
378          <h3 class="v2-backer__name">Martin Chavez</h3>
379          <p class="v2-backer__title">Partner, Sixth Street<br>Former CFO &amp; CIO, Goldman Sachs<br>Board Member, Abacus.AI</p>
380          <ul class="v2-social">
381  <li><a href="https://en.wikipedia.org/wiki/R._Martin_Chavez" target="_blank" rel="noopener" aria-label="Martin Chavez: Wikipedia"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.00
3817-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z"/></svg></a></li>
382</ul>
383        </div>
384      </li>
385      <li class="v2-backer about-investor-card">
386        <img class="v2-backer__photo" src="/static/hbdd98a0b/imgs/teamA11B.webp" alt="Caryn Marooney" loading="lazy" decoding="async" width="48" height="48">
387        <div>
388          <h3 class="v2-backer__name">Caryn Marooney</h3>
389          <p class="v2-backer__title">General Partner, Coatue<br>Board Member, Abacus.AI</p>
390          <ul class="v2-social">
391  <li><a href="https://linkedin.com/in/caryn-marooney/" target="_blank" rel="noopener" aria-label="Caryn Marooney: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
392</ul>
393        </div>
394      </li>
395      <li class="v2-backer about-investor-card">
396        <img class="v2-backer__photo" src="/static/h50563656/imgs/teamA10.webp" alt="Tiger Global" loading="lazy" decoding="async" width="48" height="48">
397        <div>
398          <h3 class="v2-backer__name">Tiger Global</h3>
399          <ul class="v2-social">
400  <li><a href="https://www.tigerglobal.com" target="_blank" rel="noopener" aria-label="Tiger Global: Website"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="10" /><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" /><path d="M2 12h20" /></svg></a></li>
401</ul>
402        </div>
403      </li>
404      <li class="v2-backer about-investor-card">
405        <img class="v2-backer__photo" src="/static/h38ca72b9/imgs/teamA6.webp" alt="Khosla Ventures" loading="lazy" decoding="async" width="48" height="48">
406        <div>
407          <h3 class="v2-backer__name">Khosla Ventures</h3>
408          <ul class="v2-social">
409  <li><a href="https://www.khoslaventures.com" target="_blank" rel="noopener" aria-label="Khosla Ventures: Website"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="10" /><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" /><path d="M2 12h20" /></svg></a></li>
410</ul>
411        </div>
412      </li>
413      <li class="v2-backer about-investor-card">
414        <img class="v2-backer__photo" src="/static/h6faba06a/imgs/teamT2.webp" alt="Paul Buchheit" loading="lazy" decoding="async" width="48" height="48">
415        <div>
416          <h3 class="v2-backer__name">Paul Buchheit</h3>
417          <ul class="v2-social">
418  <li><a href="https://en.wikipedia.org/wiki/Paul_Buchheit" target="_blank" rel="noopener" aria-label="Paul Buchheit: Wikipedia"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.00
4187-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z"/></svg></a></li>
419</ul>
420        </div>
421      </li>
422      <li class="v2-backer about-investor-card">
423        <img class="v2-backer__photo" src="/static/h29632792/imgs/teamT3.webp" alt="Jerry Yang" loading="lazy" decoding="async" width="48" height="48">
424        <div>
425          <h3 class="v2-backer__name">Jerry Yang</h3>
426          <ul class="v2-social">
427  <li><a href="https://en.wikipedia.org/wiki/Jerry_Yang" target="_blank" rel="noopener" aria-label="Jerry Yang: Wikipedia"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z"/></svg></a></li>
428</ul>
429        </div>
430      </li>
431      <li class="v2-backer about-investor-card">
432        <img class="v2-backer__photo" src="/static/ha4b00a75/imgs/teamT4.webp" alt="Decibel Ventures" loading="lazy" decoding="async" width="48" height="48">
433        <div>
434          <h3 class="v2-backer__name">Decibel Ventures</h3>
435          <ul class="v2-social">
436  <li><a href="https://www.decibel.vc" target="_blank" rel="noopener" aria-label="Decibel Ventures: Website"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><circle cx="12" cy="12" r="10" /><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" /><path d="M2 12h20" /></svg></a></li>
437</ul>
438        </div>
439      </li>
440      <li class="v2-backer about-investor-card">
441        <img class="v2-backer__photo" src="/static/h404f4f32/imgs/teamR22.webp" alt="Avichal Garg" loading="lazy" decoding="async" width="48" height="48">
442        <div>
443          <h3 class="v2-backer__name">Avichal Garg</h3>
444          <ul class="v2-social">
445  <li><a href="https://linkedin.com/in/avichalgarg/" target="_blank" rel="noopener" aria-label="Avichal Garg: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
446</ul>
447        </div>
448      </li>
449      <li class="v2-backer about-investor-card">
450        <img class="v2-backer__photo" src="/static/heabb4441/imgs/teamT9.webp" alt="Chet Kapoor" loading="lazy" decoding="async" width="48" height="48">
451        <div>
452          <h3 class="v2-backer__name">Chet Kapoor</h3>
453          <ul class="v2-social">
454  <li><a href="https://linkedin.com/in/chetkapoor/" target="_blank" rel="noopener" aria-label="Chet Kapoor: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
454<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
455</ul>
456        </div>
457      </li>
458      <li class="v2-backer about-investor-card">
459        <img class="v2-backer__photo" src="/static/h5703d314/imgs/teamR21.webp" alt="Deepchand Nishar" loading="lazy" decoding="async" width="48" height="48">
460        <div>
461          <h3 class="v2-backer__name">Deepchand Nishar</h3>
462          <ul class="v2-social">
463  <li><a href="https://linkedin.com/in/deepnishar/" target="_blank" rel="noopener" aria-label="Deepchand Nishar: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
464</ul>
465        </div>
466      </li>
467      <li class="v2-backer about-investor-card">
468        <img class="v2-backer__photo" src="/static/h4a7473c6/imgs/teamR32.webp" alt="Don Burnette" loading="lazy" decoding="async" width="48" height="48">
469        <div>
470          <h3 class="v2-backer__name">Don Burnette</h3>
471          <ul class="v2-social">
472  <li><a href="https://linkedin.com/in/don-burnette/" target="_blank" rel="noopener" aria-label="Don Burnette: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
473</ul>
474        </div>
475      </li>
476      <li class="v2-backer about-investor-card">
477        <img class="v2-backer__photo" src="/static/hc4bef67a/imgs/teamR23.webp" alt="Elad Gil" loading="lazy" decoding="async" width="48" height="48">
478        <div>
479          <h3 class="v2-backer__name">Elad Gil</h3>
480          <ul class="v2-social">
481  <li><a href="https://linkedin.com/in/eladgil/" target="_blank" rel="noopener" aria-label="Elad Gil: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
482</ul>
483        </div>
484      </li>
485      <li class="v2-backer about-investor-card">
486        <img class="v2-backer__photo" src="/static/h4c6e7320/img
486s/teamT6.webp" alt="Erica Schultz" loading="lazy" decoding="async" width="48" height="48">
487        <div>
488          <h3 class="v2-backer__name">Erica Schultz</h3>
489          <ul class="v2-social">
490  <li><a href="https://linkedin.com/in/erica-ruliffson-schultz-45ab631/" target="_blank" rel="noopener" aria-label="Erica Schultz: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
491</ul>
492        </div>
493      </li>
494      <li class="v2-backer about-investor-card">
495        <img class="v2-backer__photo" src="/static/h4173ac5d/imgs/teamT7.webp" alt="Jeannette zu Fürstenberg" loading="lazy" decoding="async" width="48" height="48">
496        <div>
497          <h3 class="v2-backer__name">Jeannette zu Fürstenberg</h3>
498          <ul class="v2-social">
499  <li><a href="https://linkedin.com/in/jeannette-zu-f%C3%BCrstenberg-a4227a17a/" target="_blank" rel="noopener" aria-label="Jeannette zu Fürstenberg: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
500</ul>
501        </div>
502      </li>
503      <li class="v2-backer about-investor-card">
504        <img class="v2-backer__photo" src="/static/h1e2c4a4b/imgs/teamR31.webp" alt="Keval Desai" loading="lazy" decoding="async" width="48" height="48">
505        <div>
506          <h3 class="v2-backer__name">Keval Desai</h3>
507          <ul class="v2-social">
508  <li><a href="https://linkedin.com/in/kevaldesai/" target="_blank" rel="noopener" aria-label="Keval Desai: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
509</ul>
510        </div>
511      </li>
512      <li class="v2-backer about-investor-card">
513        <img class="v2-backer__photo" src="/static/h40fe494e/imgs/teamT5.webp" alt="Mariam Naficy" loading="lazy" decoding="async" width="48" height="48">
514        <div>
515          <h3 class="v2-backer__name">Mariam Naficy</h3>
516          <ul class="v2-social">
517  <li><a href="https://linkedin.com/in/mariam-naficy-23290/" target="_blank" rel="noopener" aria-label="Mariam Naficy: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
518</ul>
519        </div>
520      </li>
521      <li class="v2-backer about-investor-card">
522        <img class="v2-backer__photo" src="/static/h12eb7833/imgs/teamT8.webp" alt="Neha Narkhede" loading="lazy" decoding="async" width="48" height="48">
523        <div>
524          <h3 class="v2-backer__name">Neha Narkhede</h3>
525          <ul class="v2-social">
526  <li><a href="https://linkedin.com/in/nehanarkhede/" target="_blank" rel="noopener" aria-label="Neha Narkhede: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
527</ul>
528        </div>
529      </li>
530      <li class="v2-backer about-investor-card">
531        <img class="v2-backer__photo" src="/static/ha143ff4a/imgs/teamR33.webp" alt="Prasanna Srikhanta" loading="lazy" decoding="async" width="48" height="48">
532        <div>
533          <h3 class="v2-backer__name">Prasanna Srikhanta</h3>
534          <ul class="v2-social">
535  <li><a href="https://x.com/prasanna" target="_blank" rel="noopener" aria-label="Prasanna Srikhanta: X/Twitter"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M18 6 6 18" /><path d="m6 6 12 12" /></svg></a></li>
536</ul>
537        </div>
538      </li>
539      <li class="v2-backer about-investor-card">
540        <img class="v2-backer__photo" src="/static/h331e45b5/imgs/teamT10.webp" alt="Xuezhao Lan" loading="lazy" decoding="async" width="48" height="48">
541        <div>
542          <h3 class="v2-backer__name">Xuezhao Lan</h3>
543          <ul class="v2-social">
544  <li><a href="https://linkedin.com/in/xuezhao-lan-50aa1a1/" target="_blank" rel="noopener" aria-label="Xuezhao Lan: LinkedIn"><svg class="v2-icon " width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg></a></li>
545</ul>
546        </div>
547      </li>
548    </ul>
549  </div>
550</section>
551
552<section class="v2-section v2-section--fill" aria-labelledby="featured-title">
553  <div class="v2-wrap">
554    <div class="v2-head v2-head--center">
555      <div class="v2-head__bar"><h2 class="v2-label" id="featured-title">Featured on</h2></div>
556    </div><ul class="v2-cells v2-cells--4 v2-logos"><li><img src="/static/hecc63f6d/imgs/homepage4/logo_yahoo.webp" alt="Yahoo!" loading="lazy" width="348" height="96"></li><li><img class="is-tall" src="/static/h68e02bb0/imgs/homepage4/logo_nbc.webp" alt="NBC" loading="lazy" width="148" height="144"></li><li><img src="/static/h9710c8b7/imgs/homepage4/logo_techcrunch.webp" alt="TechCrunch" loading="lazy" width="656" height="96"></li><li>
556<img class="is-tall" src="/static/he144cc11/imgs/homepage4/logo_zdnet.webp" alt="ZDNet" loading="lazy" width="54" height="36"></li><li><img src="/static/h8f41cc92/imgs/homepage4/logo_tnw.webp" alt="TNW" loading="lazy" width="336" height="80"></li><li><img src="/static/h2655129d/imgs/homepage4/logo_venturebeat.webp" alt="VentureBeat" loading="lazy" width="624" height="80"></li><li><img src="/static/h6fcb6afb/imgs/homepage4/logo_silicon.webp" alt="SeekingAlpha" loading="lazy" width="548" height="120"></li><li><img src="/static/h712acf60/imgs/homepage4/logo_knowtechie.webp" alt="KnowTechie" loading="lazy" width="488" height="80"></li>
557</ul>
558    <ul class="v2-badges">
559      <li><a href="/press"><img src="/static/h07883e4a/imgs/eweekbadge_2025.webp" alt="eWeek 100 Best AI Companies 2025" loading="lazy" width="689" height="1044"></a></li>
560      <li><a href="/press"><img src="/static/h1c6ccfd5/imgs/cbinsightbadge.webp" alt="CB Insights AI 100" loading="lazy" width="348" height="532"></a></li>
561      <li><a href="/press"><img src="/static/hac7ca0ee/imgs/gatbadge.webp" alt="Gartner Cool Vendor 2021" loading="lazy" width="350" height="532"></a></li>
562      <li><a href="https://www.forbes.com/lists/americas-best-startup-employers/" target="_blank" rel="noopener"><img src="/static/h32e179a2/imgs/forbes-badge.webp" alt="Forbes America's Best Startup Employers 2024" loading="lazy" width="154" height="259"></a></li>
563    </ul>
564  </div>
565</section>
566<section class="v2-band" aria-labelledby="about-cta">
567  <div class="v2-wrap v2-band__inner">
568    <h2 class="v2-h1 v2-band__title" id="about-cta">Put the world&#39;s best super assistant to work today</h2>
569    <div class="v2-choices">
570      <div class="v2-choice"><p class="v2-label">ChatLLM</p><a class="v2-btn v2-btn--primary v2-btn--lg" href="https://apps.abacus.ai/chatllm/?isSignUp=1">Sign Up<svg class="v2-icon " width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg></a></div>
571    </div>
572  </div>
573</section>
574
575  </main><div class="ns2"><footer class="ns2-footer">
576  <div class="ns2-container ns2-footer-inner">
577    <div class="ns2-footer-brand">
578      <a href="/"><img src="/static/h60348627/imgs/logo_text80.webp" alt="Abacus.AI" width="176" height="24"></a>
579      <p>The AI super assistant for professionals and enterprises</p><ul class="ns2-social" aria-label="Abacus.AI on social media">
580        <li><a href="https://x.com/abacusai" target="_blank" rel="noopener" aria-label="X/Twitter"><img src="/static/h4b38de75/imgs/xtwitter1.webp" alt="" width="18" height="18" loading="lazy"></a></li>
581        <li><a href="https://www.linkedin.com/company/abacusai" target="_blank" rel="noopener" aria-label="LinkedIn"><img src="/static/h4c144b97/imgs/linkedin_logo.webp" alt="" width="18" height="18" loading="lazy"></a></li>
582        <li><a href="https://www.facebook.com/share/1ENnhS8rT6/" target="_blank" rel="noopener" aria-label="Facebook"><img src="/static/h424a85fa/imgs/facebook_white.webp" alt="" width="18" height="18" loading="lazy"></a></li>
583        <li><a href="https://www.instagram.com/abacus.ai?igsh=MzBmNHBveXNoMmwz" target="_blank" rel="noopener" aria-label="Instagram"><img src="/static/h5e4e50f0/imgs/instagram_white.webp" alt="" width="18" height="18" loading="lazy"></a></li>
584        <li><a href="https://youtube.com/@abacusai5193?si=lEmZ4ilp6u3mDxCV" target="_blank" rel="noopener" aria-label="YouTube"><img src="/static/h03844bcc/imgs/youtube_white.webp" alt="" width="18" height="18" loading="lazy"></a></li>
585      </ul>
586      <p class="ns2-footer-copy">© 2026 Abacus.AI. All Rights Reserved</p>
587    </div>
588    <nav class="ns2-footer-cols" aria-label="Footer">
589      <div><p class="ns2-footer-h">Products</p>
590        <a href="/teams/chatllm">ChatLLM</a><a href="/teams/agent">Abacus AI Agent</a>
591        <a href="/teams/supercomputer">SuperComputer</a><a href="/teams/studio">Studio</a></div>
592      <div><p class="ns2-footer-h">Company</p>
593        <a href="/about">About</a><a href="/casestudies">Customers</a>
594        <a href="/press">Press</a><a href="/jobs">Jobs</a></div>
595      <div><p class="ns2-footer-h">Legal</p>
596        <a href="/terms">Terms</a><a href="/privacy">Privacy</a>
597        <a href="/security">Security</a></div>
598    </nav>
599  </div>
600</footer></div>
601  <div class="v2-consent" id="v2-consent" role="region" aria-label="privacy settings" hidden>
602  <p>We use cookies for login and stats. Learn more in our <a href="/privacy-policy">privacy settings</a>.</p>
603  <div class="v2-consent__actions">
604    <button type="button" class="v2-btn v2-btn--secondary v2-btn--sm" data-consent="deny">Deny</button>
605    <button type="button" class="v2-btn v2-btn--primary v2-btn--sm" data-consent="accept">Accept</button>
606  </div>
607</div>
608  
609  
610<script>
611(function () {
612  var page = (window.location.pathname.replace(/\/+$/, '').split('/').pop() || 'home')
613    .toLowerCase().replace(/[^a-z0-9_-]/g, '').slice(0, 32) || 'home';
614  function tagSignupLink(ev) {
615    var link = ev.target && ev.target.closest ? ev.target.closest('a[href]') : null;
616    if (!link || link.href.indexOf('isSignUp=1') === -1 || /[?&]src=/.test(link.href)) {
617      return;
618    }
619    var placement = link.closest('header, nav') ? 'header' : 'body';
620    link.href += '&src=' + page + '-' + placement;
621  }
622  document.addEventListener('click', tagSignupLink, true);
623  document.addEventListener('auxclick', tagSignupLink, true);
624})();
625</script>
625
626  
626<script>
627(function () {
628  // The shared pricing modal builds its CTA for the React sign-in page; on treatment pages that CTA goes to the site's
629  // own /app/signup instead (treatment-styled sign-up page; same query, token as signupToken). Absolute on the product
630  // subdomains (chatllm.abacus.ai and the others serve the product page for EVERY path, /app/signup included, so a
631  // relative link there just reloads the landing page): abacus_homepage_url is the main site's origin on those hosts
632  // and empty on the main host, the same prefix ns2Cta uses.
633  var ns2Main = "";
634  function toNs2Signup(url) {
635    return url.replace(/^https?:\/\/[^/?#]+\/chatllm\/?\?isSignUp=1&?/, ns2Main + '/app/signup?').replace(/([?&])token=/, '$1signupToken=');
636  }
637  // Attribution (users.signup_source). Treatment pages tag their CTAs explicitly (data-ns2-params.src); pages that only
638  // carry the treatment header have no page src, so they get one from the path like the control site's _signup_src.html
639  // (which only tags isSignUp=1 links and so no longer sees these). The app's sign-in page reads ?src= too, so the
640  // header's Log in link and the modal's model-logo links, which lead into the app, are tagged as well: two thirds of
641  // the treatment's sign-ups were arriving through paths like these with no tag at all.
642  var pageSlug = (window.location.pathname.replace(/\/+$/, '').split('/').pop() || 'home').toLowerCase().replace(/[^a-z0-9_-]/g, '').slice(0, 32) || 'home';
643  function withSrc(url, placement) {
644    if (/[?&]src=/.test(url)) { return url; }
645    var base = url.replace(/[?&]$/, '');
646    return base + (base.indexOf('?') === -1 ? '?' : '&') + 'src=' + pageSlug + '_ns2_' + placement;
647  }
648  // Effective theme (v6 dark mode): the stored choice on <html data-ns2-theme>, else the system setting.
649  var root = document.documentElement, sysDark = matchMedia('(prefers-color-scheme: dark)');
650  function theme() { return root.getAttribute('data-ns2-theme') || (sysDark.matches ? 'dark' : 'light'); }
651  // Links into the app (the header's Log in, the modal's model logos) lead to the app's sign-in page, which takes this
652  // site's look for the experiment's visitors in the theme they have here; the app cannot read the stored choice, so the
653  // link carries it (the app's sign-up page passes the same hint on to the card page). Re-applied when the toggle flips.
654  function withTheme(url) {
655    var base = url.replace(/([?&])ns2_theme=[^&#]*&?/, '$1').replace(/[?&]$/, '');
656    return base + (base.indexOf('?') === -1 ? '?' : '&') + 'ns2_theme=' + theme();
657  }
658  function openModal(prompt, params) {
659    var opened = typeof openPricingModal === 'function' && openPricingModal(prompt || '', params);
660    var modal = opened && document.getElementById('hp-new-pricing-modal');
661    if (modal) {
662      Array.prototype.forEach.call(modal.querySelectorAll('a[href*="isSignUp=1"]'), function (a) { a.href = withSrc(toNs2Signup(a.getAttribute('href')), 'modal'); });
663      Array.prototype.forEach.call(modal.querySelectorAll('a[href*="/chatllm/"]:not([href*="isSignUp=1"])'), function (a) { a.href = withTheme(withSrc(a.getAttribute('href'), 'modal_logo')); });
664    }
665    return opened;
666  }
667  // The pricing modal opens from the CTAs only on the homepage, where the control homepage has one too. On every
668  // other page (product pages, campaign slugs, isv, FAQs) the CTA follows its href to the sign-up page, as the control
669  // pages' CTAs do: with the modal in between, two fifths of the clicks on those pages went no further.
670  var modalCtas = false;
671  document.addEventListener('click', function (e) {
672    var cta = e.target.closest ? e.target.closest('[data-ns2-cta]') : null;
673    if (!cta) { return; }
674    var params = JSON.parse(cta.getAttribute('data-ns2-params') || '{}');
675    if (!params.src) { params.src = pageSlug + '_ns2_' + (cta.closest('header') ? 'header' : 'body'); cta.href = withSrc(cta.getAttribute('href'), 'header'); }
676    if (modalCtas && openModal('', params)) { e.preventDefault(); }
677  });
678  function tagAppLinks() {
679    Array.prototype.forEach.call(document.querySelectorAll('a[data-ns2-app-link]'), function (a) {
680      a.href = withTheme(withSrc(a.getAttribute('href'), a.getAttribute('data-ns2-app-link')));
681    });
682  }
683  tagAppLinks();
684  // Links to the blog carry the experiment the same way (src=<page>_ns2_<header|footer|body>): blog.abacus.ai's page
685  // cache serves one HTML to everyone and can't read the arm, so its plugin (wordpress/abacus-v2-blog) shows this look
686  // to visitors who arrive with an _ns2_ src. Only the experiment's pages run this script, so only they tag them.
687  Array.prototype.forEach.call(document.querySelectorAll('a[href^="https://blog.abacus.ai"]'), function (a) {
688    var href = a.getAttribute('href'), cut = href.indexOf('#'), hash = cut === -1 ? '' : href.slice(cut);
689    var placement = a.closest('.ns2-header') ? 'header' : a.closest('.ns2-footer') ? 'footer' : 'body';
690    a.href = withSrc(href.slice(0, href.length - hash.length), placement) + hash;
691  });
692
693  // Header dropdowns: open on hover and on click (a click while hover-opened pins it), Escape / outside click /
694  // focus leaving it closes it. Opening one closes the others, so a pinned menu can't stay under a hovered one.
695  var ddClosers = [];
696  Array.prototype.forEach.call(document.querySelectorAll('[data-ns2-dd]'), function (dd) {
697    var btn = dd.querySelector('button'), hoverOpen = false;
698    function set(open) {
699      if (open) { ddClosers.forEach(function (close) { if (close !== closeDd) { close(); } }); }
700      dd.classList.toggle('is-open', open); btn.setAttribute('aria-expanded', open ? 'true' : 'false');
701    }
702    function closeDd() { if (dd.classList.contains('is-open')) { set(false); } hoverOpen = false; }
703    ddClosers.push(closeDd);
704    dd.addEventListener('mouseenter', function () { if (!dd.classList.contains('is-open')) { set(true); hoverOpen = true; } });
705    dd.addEventListener('mouseleave', function () { if (hoverOpen) { set(false); } hoverOpen = false; });
706    btn.addEventListener('click', function () { if (hoverOpen) { hoverOpen = false; return; } set(!dd.classList.contains('is-open')); });
707    document.addEventListener('keydown', function (e) {
708      if (e.key === 'Escape' && dd.classList.contains('is-open')) { var inside = dd.contains(document.activeElement); set(false); hoverOpen = false; if (inside) { btn.focus(); } }
709    });
710    dd.addEventListener('focusout', function (e) { if (!dd.contains(e.relatedTarget)) { set(false); } });
711    document.addEventListener('click', function (e) { if (!dd.contains(e.target)) { set(false); hoverOpen = false; } });
712  });
713
714  // Theme toggle (v6): flips the effective theme and remembers the choice.
715  function labelToggles() {
716    Array.prototype.forEach.call(document.querySelectorAll('[data-ns2-theme-toggle]'), function (b) {
717      b.setAttribute('aria-label', b.getAttribute(theme() === 'dark' ? 'data-ns2-label-light' : 'data-ns2-label-dark'));
718    });
719  }
720  labelToggles();
721  if (sysDark.addEventListener) { sysDark.addEventListener('change', labelToggles); }
722  document.addEventListener('click', function (e) {
723    if (!e.target.closest || !e.target.closest('[data-ns2-theme-toggle]')) { return; }
724    var next = theme() === 'dark' ? 'light' : 'dark';
725    root.setAttribute('data-ns2-theme', next);
726    try { localStorage.setItem('ns2-theme', next); } catch (err) {}
727    labelToggles();
728    tagAppLinks();
729  });
730
731  // Copy buttons (RouteLLM quickstart).
732  document.addEventListener('click', function (e) {
733    var b = e.target.closest ? e.target.closest('[data-ns2-copy]') : null, src = b && document.getElementById(b.getAttribute('data-ns2-copy'));
734    if (!src || !navigator.clipboard) { return; }
735    navigator.clipboard.writeText(src.textContent).then(function () {
736      var label = b.textContent;
737      b.textContent = b.getAttribute('data-ns2-copied');
738      setTimeout(function () { b.textContent = label; }, 1500);
739    });
740  });
741
742  // Prompt composers: chips fill the field; submit opens the sign-up popup carrying prompt (+ mode).
743  Array.prototype.forEach.call(document.querySelectorAll('[data-ns2-composer]'), function (form) {
744    var field = form.querySelector('textarea, input[type="text"]');
745    var params = JSON.parse(form.getAttribute('data-ns2-params') || '{}');
746    var modes = form.querySelectorAll('[data-ns2-mode]');
747    Array.prototype.forEach.call(modes, function (m) {
748      m.addEventListener('click', function () {
749        Array.prototype.forEach.call(modes, function (o) { o.setAttribute('aria-pressed', o === m ? 'true' : 'false'); });
750      });
751    });
752    function submit() {
753      var p = Object.assign({}, params), pressed = form.querySelector('[data-ns2-mode][aria-pressed="true"]');
754      if (pressed) { p.mode = pressed.getAttribute('data-ns2-mode'); }
755      openModal(field.value.trim(), p);
756    }
757    form.addEventListener('submit', function (e) { e.preventDefault(); submit(); });
758    Array.prototype.forEach.call(form.querySelectorAll('[data-ns2-attach]'), function (b) { b.addEventListener('click', submit); });
759    if (field.tagName === 'TEXTAREA') {
760      field.addEventListener('keydown', function (e) { if (e.key === 'Enter' && !e.shiftKey) { e.preventDefault(); submit(); } });
761    }
762    // v15: the example prompts type themselves into the placeholder (40ms a character, a 1.8s hold, a quick erase),
763    // pausing while the field is focused or holds text. Reduced motion: the first example stays as the placeholder.
764    var examples = [];
765    try { examples = JSON.parse(form.getAttribute('data-ns2-examples') || '[]'); } catch (e) {}
766    if (examples.length) {
767      if (matchMedia('(prefers-reduced-motion: reduce)').matches) { field.setAttribute('placeholder', examples[0]); }
768      else {
769        var ei = 0, pos = 0, erasing = false, timer = 0;
770        // Focus clears whatever was mid-type (a blank field to type into); leaving it empty restarts on the next example.
771        field.addEventListener('focus', function () { field.setAttribute('placeholder', ''); });
772        field.addEventListener('blur', function () { if (!field.value) { ei++; pos = 0; erasing = false; } });
773        function tick() {
774          if (document.activeElement === field || field.value) { timer = setTimeout(tick, 400); return; }
775          var text = examples[ei % examples.length];
776          if (!erasing) {
777            pos++; field.setAttribute('placeholder', text.slice(0, pos));
778            if (pos >= text.length) {
779              // v18: on the homepage the stage plays this prompt's flow (model + tool light up, packets, result); v27:
780              // on the Agent page the card re-runs as this idea. Either returns the hold that lets it finish.
781              var hold = form.ns2Play && form.ns2Play(ei % examples.length);
782              erasing = true; timer = setTimeout(tick, hold || 1800); return;
783            }
784            timer = setTimeout(tick, 34 + Math.random() * 30);
785          } else {
786            pos = Math.max(0, pos - 3); field.setAttribute('placeholder', text.slice(0, pos));
787            if (pos === 0) { erasing = false; ei++; timer = setTimeout(tick, 350); return; }
788            timer = setTimeout(tick, 16);
789          }
790        }
791        timer = setTimeout(tick, 900);
792      }
793    }
794  });
795
796  // Example filters + "See all examples".
797  Array.prototype.forEach.call(document.querySelectorAll('.ns2-tabs'), function (tabs) {
798    var section = tabs.parentNode, moreBtn = section.querySelector('[data-ns2-more-btn]');
799    var expanded = false;
800    // v16.1: one grid; a tab shows every matching card, "All" shows the first set or, once expanded, everything.
801    function apply(key) {
802      Array.prototype.forEach.call(section.querySelectorAll('[data-ns2-examples] [data-cat]'), function (card) {
803        var extra = card.hasAttribute('data-ns2-extra');
804        card.hidden = key === 'all' ? (extra && !expanded) : card.getAttribute('data-cat') !== key;
805      });
806      if (moreBtn) { moreBtn.hidden = key !== 'all'; }
807    }
808    tabs.addEventListener('click', function (e) {
809      var tab = e.target.closest('[data-ns2-filter]');
810      if (!tab) { return; }
811      Array.prototype.forEach.call(tabs.children, function (t) { t.setAttribute('aria-pressed', t === tab ? 'true' : 'false'); });
812      apply(tab.getAttribute('data-ns2-filter'));
813    });
814    if (moreBtn) {
815      moreBtn.addEventListener('click', function () {
816        expanded = !expanded;
817        apply('all');
818        moreBtn.setAttribute('aria-expanded', expanded ? 'true' : 'false');
819      });
820    }
821  });
822
823  // v34 (ChatLLM page): the fundamentals carousel. Prev / next and the dots scroll to a screen; the selected one
824  // (is-active, full size) and its dot follow the scroll.
825  Array.prototype.forEach.call(document.querySelectorAll('[data-ns2-screens]'), function (box) {
826    var rail = box.querySelector('.ns2-screens-rail'), tiles = rail.children, dots = box.querySelectorAll('[data-ns2-screens-go]');
827    var prev = box.querySelector('[data-ns2-screens-prev]'), next = box.querySelector('[data-ns2-screens-next]');
828    function at() {
829      if (!tiles.length) { return 0; }
830      var step = tiles.length > 1 ? tiles[1].offsetLeft - tiles[0].offsetLeft : tiles[0].offsetWidth;
831      return Math.max(0, Math.min(tiles.length - 1, Math.round(rail.scrollLeft / step)));
832    }
833    function go(k) {
834      k = Math.max(0, Math.min(tiles.length - 1, k));
835      rail.scrollTo({left: tiles[k].offsetLeft - tiles[0].offsetLeft, behavior: 'smooth'});
836    }
837    function update() {
838      var k = at();
839      Array.prototype.forEach.call(tiles, function (tile, i) {
840        tile.classList.toggle('is-active', i === k);
841        if (Math.abs(i - k) <= 2) { tile.querySelector('img').loading = 'eager'; }  // the neighbours peek in: load them now
842      });
843      Array.prototype.forEach.call(dots, function (dot, i) { dot.setAttribute('aria-pressed', i === k ? 'true' : 'false'); });
844      if (prev) { prev.disabled = k === 0; }
845      if (next) { next.disabled = k === tiles.length - 1; }
846    }
847    if (prev) { prev.addEventListener('click', function () { go(at() - 1); }); }
848    if (next) { next.addEventListener('click', function () { go(at() + 1); }); }
849    Array.prototype.forEach.call(dots, function (dot, i) { dot.addEventListener('click', function () { go(i); }); });
850    rail.addEventListener('scroll', update, {passive: true});
851    rail.addEventListener('keydown', function (e) {
852      if (e.key === 'ArrowLeft') { e.preventDefault(); go(at() - 1); }
853      if (e.key === 'ArrowRight') { e.preventDefault(); go(at() + 1); }
854    });
855    update();
856  });
857
858  // Product rows (homepage): a screenshot opens full screen in the lightbox, which pages through all of them (prev /
859  // next, ← / →); Escape, the backdrop or the close button closes it. Try Now is a data-ns2-cta: the lightbox closes
860  // here, then the document handler above opens the sign-up popup. v27 (exp_ns2_revamp_2, product pages): an example
861  // card plays its replay video in the same lightbox, in this window, from a click anywhere on the card (is-video).
862  var lb = document.getElementById('ns2-lightbox');
863  if (lb) {
864    var lbImg = lb.querySelector('.ns2-lightbox-img'), lbVideo = lb.querySelector('.ns2-lightbox-video'), lbText = lb.querySelector('.ns2-lightbox-text');
865    var lbTitle = lb.querySelector('.ns2-lightbox-title'), lbCount = lb.querySelector('.ns2-lightbox-count'), lbOpener = null, lbIndex = 0;
866    var lbStill = matchMedia('(prefers-reduced-motion: reduce)').matches;
867    var shots = Array.prototype.slice.call(document.querySelectorAll('[data-ns2-zoom]'));
868    function lbOpen(opener) {
869      lbOpener = opener;
870      lb.hidden = false;
871      document.body.style.overflow = 'hidden';
872      lb.querySelector('[data-ns2-lb-close]').focus();
873    }
874    function lbClose() {
875      if (lb.hidden) { return; }
876      lb.hidden = true;
877      if (lb.classList.contains('is-video')) { lbVideo.pause(); lbVideo.removeAttribute('src'); lbVideo.load(); }
878      lb.classList.remove('is-video');
879      document.body.style.overflow = '';
880      if (lbOpener) { lbOpener.focus(); }
881      lbOpener = null;
882    }
883    function lbShow(i, animate) {
884      lbIndex = (i + shots.length) % shots.length;
885      var img = shots[lbIndex].querySelector('img');
886      lbImg.src = img.currentSrc || img.src;
887      lbImg.setAttribute('width', img.getAttribute('width'));
888      lbImg.setAttribute('height', img.getAttribute('height'));
889      lbImg.alt = img.alt;
890      lbTitle.textContent = shots[lbIndex].getAttribute('data-title');
891      lbCount.textContent = (lbIndex + 1) + ' / ' + shots.length;
892      if (animate && !lbStill && lbImg.animate) { lbImg.animate([{opacity: 0.4}, {opacity: 1}], {duration: 220, easing: 'ease-out'}); }
893      [lbIndex - 1, lbIndex + 1].forEach(function (n) {  // warm the neighbours so paging feels instant
894        var ni = shots[(n + shots.length) % shots.length].querySelector('img');
895        new Image().src = ni.currentSrc || ni.src;
896      });
897    }
898    shots.forEach(function (b, i) {
899      b.addEventListener('click', function () { lbShow(i, false); lbOpen(b); });
900    });
901    Array.prototype.forEach.call(document.querySelectorAll('[data-ns2-video]'), function (card) {
902      function play() {
903        lb.classList.add('is-video');
904        lbTitle.textContent = card.getAttribute('data-title');
905        lbText.textContent = card.getAttribute('data-text') || '';
906        lbCount.textContent = '';
907        lbVideo.src = card.getAttribute('data-ns2-video');
908        lbOpen(card);
909        var playing = lbVideo.play();
910        if (playing && playing.catch) { playing.catch(function () {}); }
911      }
912      card.addEventListener('click', function (e) { if (!e.target.closest('a')) { play(); } });
913      card.addEventListener('keydown', function (e) { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); play(); } });
914    });
915    lb.addEventListener('click', function (e) {
916      if (e.target.closest('[data-ns2-lb-prev]')) { lbShow(lbIndex - 1, true); }
917      else if (e.target.closest('[data-ns2-lb-next]')) { lbShow(lbIndex + 1, true); }
918      else if (e.target === lb || e.target.closest('[data-ns2-lb-close], [data-ns2-cta]')) { lbClose(); }
919    });
920    document.addEventListener('keydown', function (e) {
921      if (lb.hidden) { return; }
922      if (e.key === 'Escape') { lbClose(); }
923      else if (shots.length && !lb.classList.contains('is-video')) {
924        if (e.key === 'ArrowLeft') { lbShow(lbIndex - 1, true); }
925        else if (e.key === 'ArrowRight') { lbShow(lbIndex + 1, true); }
926      }
927    });
928  }
929
930  // Motion (v5, treatment templates only): one IntersectionObserver reveals sections and cards once (.ns2-in, 60ms
931  // stagger via --ns2-d) and plays each proof card once (.ns2-play; the choreography is CSS keyframes). Counters
932  // ([data-ns2-count], optional data-ns2-from / data-ns2-at ms) count up once. Reduced motion, or no observer: nothing
933  // is hidden and everything shows its final state.
934  var main = document.querySelector('body.ns2 main');
935  var still = !('IntersectionObserver' in window) || matchMedia('(prefers-reduced-motion: reduce)').matches;
936  function count(el) {
937    var to = +el.getAttribute('data-ns2-count'), from = +(el.getAttribute('data-ns2-from') || 0);
938    var dec = to === Math.floor(to) ? 0 : 1;  // v34: "1.5M" counts with one decimal
939    var text = el.textContent, digits = to.toFixed(dec).length, t0 = 0;
940    function show(n) {
941      var v = n.toFixed(dec);
942      while (v.length < digits) { v = '\u2007' + v; }  // figure spaces keep the width steady
943      el.textContent = text.replace(/\d+(\.\d+)?/, v);
944    }
945    function frame(t) {
946      t0 = t0 || t;
947      var k = Math.min(1, (t - t0) / 600);
948      show(from + (to - from) * (1 - Math.pow(1 - k, 3)));
949      if (k < 1) { requestAnimationFrame(frame); }
950    }
951    show(from);
952    setTimeout(function () { requestAnimationFrame(frame); }, +(el.getAttribute('data-ns2-at') || 0));
953  }
954  if (main && !still) {
955    document.documentElement.classList.add('ns2-motion');
956    // v26: no entrance on the hero text. It must be complete at first paint; on prod the deferred scripts land well
957    // after the paint, so anything that hides and re-shows it reads as a second load.
958    // v18-v20: the homepage stage. When a typed prompt finishes, its models (left ticker) and tools (right ticker)
959    // light up and lean toward the prompt box, a wire is drawn from each (redrawn every frame, so parallax and the
960    // tickers never leave one hanging) and a packet rides it in; then the box's contents give way to the artifact
961    // card in place: the trace ticks (Reading Salesforce and Zendesk → Scoring the accounts → Dashboard live) while
962    // the deliverable draws itself as a miniature; then everything fades back for the next prompt. Both tickers pause
963    // while a flow plays. Geometry is measured at play time, so resizes are fine.
964    var stageForm = main.querySelector('.ns2-hero [data-ns2-flows]');
965    if (stageForm) {
966      var stageHero = main.querySelector('.ns2-hero'), wires = stageHero.querySelector('.ns2-wires');
967      var artifact = stageHero.querySelector('[data-ns2-artifact]'), mini = artifact.querySelector('.ns2-mini');
968      var traceItems = artifact.querySelectorAll('.ns2-trace li');
969      var kinds = [], steps = [], nodes = [[], []], stageTimers = [], stageActive = false, stagePaths = [];
970      try {
971        kinds = JSON.parse(stageForm.getAttribute('data-ns2-flows'));
972        steps = JSON.parse(stageForm.getAttribute('data-ns2-flow-steps'));
973        nodes = [JSON.parse(stageForm.getAttribute('data-ns2-flow-models')), JSON.parse(stageForm.getAttribute('data-ns2-flow-tools'))];
974      } catch (e) {}
975      function stageLater(fn, ms) { stageTimers.push(setTimeout(fn, ms)); }
976      function stageReset() {  // instant: everything back to rest (the tickers drift again)
977        stageTimers.forEach(clearTimeout); stageTimers = []; stageActive = false; stagePaths = [];
978        stageHero.classList.remove('is-playing');
979        tracks.forEach(function (tr) { tr.hold = false; tr.glide = null; });
980        Array.prototype.forEach.call(stageHero.querySelectorAll('.ns2-orbit .is-lit'), function (el) { el.classList.remove('is-lit'); });
981        stageForm.classList.remove('is-thinking', 'is-away');
982        artifact.className = artifact.className.replace(/\bis-(in|drawn|done|step\d+)\b/g, '').replace(/\s+/g, ' ').trim();
983        artifact.hidden = true; mini.setAttribute('data-kind', '');
984        Array.prototype.forEach.call(traceItems, function (li) { li.className = ''; });
985        while (wires.firstChild) { wires.removeChild(wires.firstChild); }
986      }
987      function stageEnd() {  // gentle: the card fades, the box comes back, the wires and chips dim, then reset
988        artifact.classList.remove('is-in');
989        Array.prototype.forEach.call(wires.querySelectorAll('path'), function (p) { p.classList.remove('is-on'); });
990        Array.prototype.forEach.call(stageHero.querySelectorAll('.ns2-orbit .is-lit'), function (el) { el.classList.remove('is-lit'); });
991        stageLater(function () { stageForm.classList.remove('is-away'); }, 260);
992        stageLater(stageReset, 800);
993      }
994      function heroRect() { return stageHero.getBoundingClientRect(); }
995      // The two tickers: each track drifts up slowly (px per second) and wraps every `cycle` px (one copy of its list);
996      // before a flow, `steer` glides a track so a target chip sits level with the box, then holds until stageEnd.
997      var tracks = Array.prototype.map.call(stageHero.querySelectorAll('.ns2-orbit-track'), function (el, k) {
998        var ul = el.querySelector('ul');
999        return {el: el, y: 0, speed: k ? 9 : 13, cycle: function () { return ul.getBoundingClientRect().height; }, hold: false, glide: null};
1000      });
1001      var lastT = 0;
1002      function drift(t) {
1003        var dt = lastT ? Math.min(0.05, (t - lastT) / 1000) : 0; lastT = t;
1004        tracks.forEach(function (tr) {
1005          var c = tr.cycle();
1006          if (tr.glide) {  // ease toward the target offset, then hold
1007            var g = tr.glide, q = Math.min(1, (t - g.t0) / g.ms), e = 1 - Math.pow(1 - q, 3);
1008            tr.y = g.from + (g.to - g.from) * e;
1009            if (q >= 1) { tr.glide = null; tr.hold = true; if (g.done) { g.done(); } }
1010          } else if (!tr.hold && c) { tr.y += tr.speed * dt; }
1011          if (c) { tr.y = ((tr.y % c) + c) % c; }
1012          tr.el.style.translate = '0 ' + (-tr.y).toFixed(2) + 'px';
1013        });
1014        requestAnimationFrame(drift);
1015      }
1016      requestAnimationFrame(drift);
1017      function copiesOf(id) { return stageHero.querySelectorAll('[data-ns2-node="' + id + '"]'); }
1018      function steer(tr, ids, done) {  // glide so the chips `ids` (of this track) centre on the box, wrapping the short way
1019        var fr = stageForm.getBoundingClientRect(), c = tr.cycle(), targetY = fr.top + fr.height / 2;
1020        // each chip's centre in track space (its first copy, unscrolled), reduced into one cycle
1021        var ys = ids.map(function (id) {
1022          var r = copiesOf(id)[0].getBoundingClientRect();
1023          return (((r.top + r.height / 2 + tr.y - fr.top) % c) + c) % c;  // relative to the box's top, 0..c
1024        });
1025        // a group's midpoint, taken the short way round the cycle so a group near the wrap doesn't split
1026        var base = ys[0], mid = ys.reduce(function (a, y) { var d = ((y - base) % c + c) % c; if (d > c / 2) { d -= c; } return a + d; }, 0) / ys.length + base;
1027        var want = mid - fr.height / 2, delta = ((want - tr.y) % c + c) % c;  // want: offset that puts mid at the box centre
1028        if (delta > c / 2) { delta -= c; }  // the other way is shorter
1029        tr.glide = {from: tr.y, to: tr.y + delta, t0: performance.now(), ms: Math.min(1100, 500 + Math.abs(delta) * 2), done: done};
1030      }
1031      function pick(id) {  // the copy of a chip nearest the box (after steering it is on screen)
1032        var best = null, fr = stageForm.getBoundingClientRect();
1033        Array.prototype.forEach.call(copiesOf(id), function (n) {
1034          var d = Math.abs(n.getBoundingClientRect().top - fr.top);
1035          if (!best || d < best.d) { best = {n: n, d: d}; }
1036        });
1037        return best && best.n;
1038      }
1039      function wireD(node, hr, fr) {  // from the chip's inner edge to the box's side, spread a little vertically
1040        var r = node.getBoundingClientRect(), fromLeft = r.left < fr.left;
1041        var x0 = (fromLeft ? r.right : r.left) - hr.left, y0 = r.top + r.height / 2 - hr.top;
1042        var x1 = (fromLeft ? fr.left : fr.right) - hr.left, y1 = fr.top + fr.height / 2 - hr.top + (node.ns2Spread || 0), cx = (x0 + x1) / 2;
1043        return 'M' + x0 + ' ' + y0 + ' C' + cx + ' ' + y0 + ' ' + cx + ' ' + y1 + ' ' + x1 + ' ' + y1;
1044      }
1045      function follow() {  // keep every wire attached to its (moving) chip while the flow plays
1046        if (!stageActive) { return; }
1047        var hr = heroRect(), fr = stageForm.getBoundingClientRect();
1048        stagePaths.forEach(function (w) { w.path.setAttribute('d', wireD(w.node, hr, fr)); });
1049        requestAnimationFrame(follow);
1050      }
1051      function ride(path, dot, ms, done) {  // the packet rides the wire (translate only)
1052        var t0 = 0;
1053        function step(t) {
1054          t0 = t0 || t;
1055          var q = Math.min(1, (t - t0) / ms), e = q < 0.5 ? 2 * q * q : 1 - Math.pow(-2 * q + 2, 2) / 2;
1056          var p = path.getPointAtLength(path.getTotalLength() * e);
1057          dot.setAttribute('transform', 'translate(' + p.x.toFixed(1) + ' ' + p.y.toFixed(1) + ')');
1058          if (q < 1) { requestAnimationFrame(step); } else if (done) { done(); }
1059        }
1060        requestAnimationFrame(step);
1061      }
1062      function build(i) {  // the box's contents give way; the artifact card takes its place
1063        var hr = heroRect(), fr = stageForm.getBoundingClientRect();
1064        artifact.style.left = (fr.left - hr.left) + 'px'; artifact.style.top = (fr.top - hr.top) + 'px';
1065        artifact.style.width = fr.width + 'px'; artifact.style.height = fr.height + 'px';
1066        var flowSteps = steps[i] || [], n = Math.min(flowSteps.length, traceItems.length);
1067        Array.prototype.forEach.call(traceItems, function (li, k) {
1068          li.className = ''; li.hidden = k >= n; li.querySelector('span').textContent = flowSteps[k] || '';
1069        });
1070        mini.setAttribute('data-kind', kinds[i] || 'doc');
1071        stageForm.classList.add('is-away');
1072        artifact.hidden = false;
1073        requestAnimationFrame(function () { artifact.classList.add('is-in'); });
1074        // v34: one tick per step (a 4-step flow runs a little longer). Step k busy at stepAt(k); the miniature gets
1075        // is-step{k+1} as each step starts, is-drawn with the second, is-done with the last.
1076        stageLater(function () { traceItems[0].className = 'is-busy'; artifact.classList.add('is-step1'); }, 250);
1077        for (var k = 1; k < n; k++) {
1078          (function (k) {
1079            stageLater(function () {
1080              traceItems[k - 1].className = 'is-done'; traceItems[k].className = 'is-busy'; artifact.classList.add('is-step' + (k + 1));
1081              if (k === 1) { artifact.classList.add('is-drawn'); }
1082            }, stepAt(k));
1083          })(k);
1084        }
1085        stageLater(function () { traceItems[n - 1].className = 'is-done'; artifact.classList.add('is-done'); }, stepAt(n - 1) + 600);
1086        stageLater(stageEnd, stepAt(n - 1) + 2600);
1087      }
1088      function stepAt(k) { return k === 1 ? 1000 : 1000 + (k - 1) * 1300; }  // the trace schedule: 1000, 2300, 3600 …
1089      function holdFor(i) { return 9400 + Math.max(0, (steps[i] || []).length - 3) * 1300; }
1090      stageForm.ns2Play = function (i) {
1091        if (document.hidden || !stageHero.querySelector('.ns2-orbit').offsetParent) { return false; }  // narrow window: no stage
1092        var want = [(nodes[0][i] || []).map(function (k) { return 'm' + k; }), (nodes[1][i] || []).map(function (k) { return 't' + k; })];
1093        if (!want[0].length && !want[1].length) { return false; }
1094        stageReset();
1095        stageActive = true;
1096        stageHero.classList.add('is-playing');
1097        // 1) both columns glide so their chips sit level with the box; 2) then the wires draw and the packets ride
1098        var settled = 0, need = 0;
1099        function wired() {
1100          var hr = heroRect(), fr = stageForm.getBoundingClientRect(), ns = 'http://www.w3.org/2000/svg';
1101          var picked = want[0].concat(want[1]).map(pick).filter(Boolean), pending = picked.length, perSide = {left: 0, right: 0};
1102          wires.setAttribute('viewBox', '0 0 ' + hr.width + ' ' + hr.height);
1103          wires.setAttribute('width', hr.width); wires.setAttribute('height', hr.height);
1104          picked.forEach(function (node, k) {
1105            var side = node.getBoundingClientRect().left < fr.left ? 'left' : 'right';
1106            node.ns2Spread = (perSide[side]++ - 0.5) * 22;  // several wires on one side land a little apart
1107            var path = document.createElementNS(ns, 'path'), dot = document.createElementNS(ns, 'circle');
1108            path.setAttribute('d', wireD(node, hr, fr)); path.setAttribute('pathLength', '1'); dot.setAttribute('r', '5');
1109            wires.appendChild(path); wires.appendChild(dot);
1110            stagePaths.push({node: node, path: path});
1111            stageLater(function () {
1112              node.classList.add('is-lit');
1113              path.classList.add('is-on'); dot.classList.add('is-on');
1114              ride(path, dot, 750, function () {
1115                dot.classList.remove('is-on');
1116                if (--pending === 0) {
1117                  stageForm.classList.add('is-thinking');
1118                  stageLater(function () { stageForm.classList.remove('is-thinking'); build(i); }, 550);
1119                }
1120              });
1121            }, k * 180);
1122          });
1123          requestAnimationFrame(follow);
1124        }
1125        tracks.forEach(function (tr, k) {
1126          if (!want[k].length) { tr.hold = true; return; }
1127          need++;
1128          steer(tr, want[k], function () { if (++settled === need) { wired(); } });
1129        });
1130        return holdFor(i);
1131      };
1132      document.addEventListener('visibilitychange', function () { if (document.hidden) { stageReset(); } });
1133    }
1134    // v27: the Agent hero. When a typed idea finishes, the proof card re-runs as that task: its contents fade, the
1135    // quoted prompt, steps and frame label become the task's (data-ns2-tasks, in the card's own order), and the
1136    // choreography (.ns2-play) restarts; a card whose height changes (a one- vs two-line idea) glides to it, so the
1137    // hero text eases rather than jumps. The task the card already shows (the first, at load) only holds.
1138    var taskCard = main.querySelector('.ns2-hero .ns2-proof--task'), taskForm = main.querySelector('.ns2-hero [data-ns2-composer]');
1139    if (taskCard && taskForm) {
1140      var taskBody = taskCard.querySelector('.ns2-task'), tasks = [], taskAt = 0;
1141      try { tasks = JSON.parse(taskBody.getAttribute('data-ns2-tasks') || '[]'); } catch (e) {}
1142      var taskLines = taskBody.querySelectorAll('.ns2-checks li'), taskLabel = taskBody.querySelector('.ns2-browser-bar span');
1143      taskForm.ns2Play = function (i) {
1144        var task = tasks[i];
1145        if (!task) { return false; }
1146        if (i === taskAt) { return 1800; }
1147        taskAt = i;
1148        taskCard.classList.add('is-swapping');
1149        setTimeout(function () {
1150          var from = taskCard.offsetHeight;
1151          taskBody.querySelector('.ns2-task-prompt').textContent = '“' + task.prompt + '”';
1152          Array.prototype.forEach.call(taskLines, function (li, k) { li.lastElementChild.textContent = task.steps[k] || task.note; });
1153          taskLabel.textContent = task.label;
1154          taskCard.classList.remove('ns2-play', 'is-swapping');
1155          void taskCard.offsetWidth;  // a fresh run of the keyframes
1156          taskCard.classList.add('ns2-play');
1157          var to = taskCard.offsetHeight;
1158          if (to !== from && taskCard.animate) {
1159            taskCard.style.overflow = 'hidden';
1160            taskCard.animate([{height: from + 'px'}, {height: to + 'px'}], {duration: 220, easing: 'ease-out'}).onfinish = function () { taskCard.style.overflow = ''; };
1161          }
1162        }, 240);
1163        return 4800;
1164      };
1165    }
1166    // v9, pointer devices only: the hero glow leans toward the cursor; proof cards, screenshots and pillar cards tilt
1167    // toward it (perspective transform on the element, reset on leave).
1168    if (matchMedia('(hover: hover) and (pointer: fine)').matches) {
1169      var hero = main.querySelector('.ns2-hero');
1170      if (hero) {
1171        hero.addEventListener('mousemove', function (e) {
1172          var r = hero.getBoundingClientRect();
1173          hero.style.setProperty('--ns2-mx', ((e.clientX - r.left) / r.width - 0.5).toFixed(3));
1174          hero.style.setProperty('--ns2-my', ((e.clientY - r.top) / r.height - 0.5).toFixed(3));
1175        });
1176        hero.addEventListener('mouseleave', function () { hero.style.removeProperty('--ns2-mx'); hero.style.removeProperty('--ns2-my'); });
1177      }
1178      // v10 spotlight: a light follows the pointer across the card under it (--ns2-sx/--ns2-sy in px, ns2.css draws it).
1179      main.addEventListener('mousemove', function (e) {
1180        var card = e.target.closest ? e.target.closest('.ns2-card, .ns2-pricecard, .ns2-enterprise') : null;
1181        if (!card) { return; }
1182        var r = card.getBoundingClientRect();
1183        card.style.setProperty('--ns2-sx', (e.clientX - r.left) + 'px');
1184        card.style.setProperty('--ns2-sy', (e.clientY - r.top) + 'px');
1185      });
1186      // v13: catalog tiles play their preview video on hover (the source loads on first hover only).
1187      Array.prototype.forEach.call(main.querySelectorAll('[data-ns2-hover-video]'), function (v) {
1188        var tile = v.parentNode;
1189        tile.addEventListener('mouseenter', function () {
1190          if (!v.getAttribute('src')) { v.setAttribute('src', v.getAttribute('data-ns2-hover-video')); }
1191          var p = v.play(); if (p && p.catch) { p.catch(function () {}); }
1192          tile.classList.add('is-playing');
1193        });
1194        tile.addEventListener('mouseleave', function () { v.pause(); tile.classList.remove('is-playing'); });
1195      });
1196      Array.prototype.forEach.call(main.querySelectorAll('.ns2-proof, .ns2-shot, .ns2-card--pillar'), function (el) {
1197        el.classList.add('ns2-tilt');
1198        el.addEventListener('mousemove', function (e) {
1199          var r = el.getBoundingClientRect(), x = (e.clientX - r.left) / r.width - 0.5, y = (e.clientY - r.top) / r.height - 0.5;
1200          el.style.setProperty('--ns2-rx', (-y * 6).toFixed(2) + 'deg');
1201          el.style.setProperty('--ns2-ry', (x * 8).toFixed(2) + 'deg');
1202        });
1203        el.addEventListener('mouseleave', function () { el.style.removeProperty('--ns2-rx'); el.style.removeProperty('--ns2-ry'); });
1204      });
1205    }
1206    var io = new IntersectionObserver(function (entries) {
1207      entries.forEach(function (en) {
1208        if (!en.isIntersecting) { return; }
1209        var el = en.target;
1210        io.unobserve(el);
1211        el.classList.add('ns2-in');
1212        if (el.hasAttribute('data-ns2-play')) { setTimeout(function () { el.classList.add('ns2-play'); }, 120); }
1213        Array.prototype.forEach.call(el.querySelectorAll('[data-ns2-count]'), count);
1214      });
1215    }, {threshold: 0.15});
1216    var groups = main.querySelectorAll('.ns2-section .ns2-head, .ns2-grid, .ns2-split, .ns2-rows, .ns2-frow, .ns2-enterprise, .ns2-faq, .ns2-banner, .ns2-stats, .ns2-band-rows, .ns2-pricecard');
1217    // Stagger: 60ms between cards; a section's eyebrow leads its heading by a beat (150ms).
1218    Array.prototype.forEach.call(groups, function (el) {
1219      var gap = el.classList.contains('ns2-head') ? 150 : 60;
1220      el.setAttribute('data-ns2-reveal', '');
1221      Array.prototype.forEach.call(el.children, function (c, i) { c.style.setProperty('--ns2-d', Math.min(i, 8) * gap + 'ms'); });
1222      io.observe(el);
1223    });
1224    Array.prototype.forEach.call(main.querySelectorAll('[data-ns2-play]'), function (card) {
1225      var cmd = card.querySelector('.ns2-term-cmd');
1226      if (cmd) {  // typewriter: every character stays in the DOM (no reflow), shown one by one at 40ms
1227        var chars = cmd.textContent.trim().split('');
1228        cmd.textContent = '';
1229        chars.forEach(function (ch, i) {
1230          var sp = document.createElement('span');
1231          sp.textContent = ch;
1232          sp.style.animationDelay = i * 40 + 'ms';
1233          cmd.appendChild(sp);
1234        });
1235        card.style.setProperty('--ns2-typed', chars.length * 40 + 'ms');
1236      }
1237      io.observe(card);
1238    });
1239  }
1240
1241  // Pricing popup (markup untouched; body.ns2-pop restyles it light in ns2.css): Escape closes it, focus moves to the
1242  // card on open and back to the opener on close, Tab stays inside. getElementById = the first popup on the page.
1243  document.body.classList.add('ns2-pop');
1244  function initPopup() {
1245    var modal = document.getElementById('hp-new-pricing-modal'), card = modal && modal.firstElementChild, opener = null;
1246    if (!card || modal.hasAttribute('data-ns2-pop')) { return; }
1247    modal.setAttribute('data-ns2-pop', '');
1248    card.setAttribute('role', 'dialog');
1249    card.setAttribute('aria-modal', 'true');
1250    card.setAttribute('tabindex', '-1');
1251    var title = card.querySelector('h2');
1252    if (title) { card.setAttribute('aria-label', title.textContent.trim()); }
1253    var closeBtn = card.querySelector('.hp-new-pricing-close');  // its icon-only button has no name today
1254    if (closeBtn && !closeBtn.hasAttribute('aria-label')) { closeBtn.setAttribute('aria-label', "Close"); }
1255    function isOpen() { return modal.style.display === 'flex'; }
1256    new MutationObserver(function () {
1257      if (isOpen() && !opener) { opener = document.activeElement || document.body; card.focus(); }
1258      else if (!isOpen() && opener) { if (opener.focus) { opener.focus(); } opener = null; }
1259    }).observe(modal, {attributes: true, attributeFilter: ['style']});
1260    document.addEventListener('keydown', function (e) {
1261      if (!isOpen()) { return; }
1262      if (e.key === 'Escape') {
1263        if (typeof closePricingModal === 'function') { closePricingModal(); } else { modal.style.display = 'none'; }
1264        return;
1265      }
1266      if (e.key !== 'Tab') { return; }
1267      var f = Array.prototype.filter.call(card.querySelectorAll('a[href], button'), function (el) { return el.offsetParent !== null; });
1268      var active = document.activeElement;
1269      if (!f.length) { return; }
1270      if (e.shiftKey && (active === f[0] || active === card || !card.contains(active))) { e.preventDefault(); f[f.length - 1].focus(); }
1271      else if (!e.shiftKey && (active === f[f.length - 1] || !card.contains(active))) { e.preventDefault(); f[0].focus(); }
1272    });
1273  }
1274  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initPopup); } else { initPopup(); }
1275})();
1276</script>
1276
1277  
1277<script type="module" src="/static/h47c3adea/v2/js/motion.js"></script>
1277
1278  
1278<script type="module" src="/static/h48e9a12b/v2/js/consent.js"></script>
1278
1279  
1280</body>
1281</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.