1<!DOCTYPE html><html data-dpl-id="dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover"/><link rel="preload" as="image" href="/Groovy_no_bg.png?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph"/><link rel="stylesheet" href="/_next/static/css/4b76af156a4a1eb2.css?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/de6857a6c01cf478.css?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-cea65fd30955788a.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph"/>
1<script src="/_next/static/chunks/4bd1b696-0562a75e9b1eb3c3.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/3794-29d5b58762c4195b.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/main-app-eb359c1b26ea786a.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/2619-8ce655b7ce8300f1.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/6622-d97a1e03abc52821.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/416-9dd38047c2ae1ef6.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/5274-32d7b9cca02bb7ba.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/app/layout-81e3871a0e398f76.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/467-310eccda15294063.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/1819-ef95ab6e1cf6a7a4.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/8878-e6f957e8b57e2037.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<script src="/_next/static/chunks/app/page-ceb601ec015b6530.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" async=""></script>
1<link rel="preload" href="https://www.datagran.io/pixel.js" as="script"/><title>Groovy | Coding, chat, and email</title><meta name="description" content="An all-in-one AI harness for coding, chat, and email."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="canonical" href="https://gogroovy.ai"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Groovy"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta property="og:title" content="Groovy | Coding, chat, and email"/><meta property="og:description" content="An all-in-one AI harness for coding, chat, and email."/><meta property="og:url" content="https://gogroovy.ai"/><meta property="og:site_name" content="Groovy"/><meta property="og:image" content="https://gogroovy.ai/social-card.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Groovy: coding, chat, and email in one AI workspace"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Groovy | Coding, chat, and email"/><meta name="twitter:description" content="An all-in-one AI harness for coding, chat, and email."/><meta name="twitter:image" content="https://gogroovy.ai/social-card.png"/><meta name="twitter:image:alt" content="Groovy: coding, chat, and email in one AI workspace"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/icon-192.png"/><link rel="apple-touch-icon" href="/icon-192.png"/>
1<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" noModule=""></script>
1</head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><div class="noise-overlay"></div><div class="min-h-screen bg-[var(--bg-primary)] relative overflow-x-hidden"><div class="noise-overlay"></div><div class="fixed inset-0 overflow-hidden pointer-events-none"><div class="absolute top-1/4 left-1/4 w-[600px] h-[600px] bg-cyan-500/10 rounded-full blur-[120px] animate-float"></div><div class="absolute bottom-1/4 right-1/4 w-[500px] h-[500px] bg-violet-500/10 rounded-full blur-[120px] animate-float" style="animation-delay:-5s"></div></div><div class="fixed inset-0 bg-grid opacity-30"></div><header class="fixed top-0 left-0 right-0 z-50 bg-[var(--bg-primary)]/80 backdrop-blur-xl border-b border-white/5"><div class="max-w-7xl mx-auto px-4 sm:px-6 py-2 flex items-center justify-between gap-3"><div style="opacity:0;transform:translateX(-20px)"><img alt="Groovy" width="400" height="112" decoding="async" data-nimg="1" class="-my-2 h-16 w-auto sm:h-20" style="color:transparent" src="/Groovy_no_bg.png?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph"/></div><div class="hidden xl:flex items-center gap-2 lg:gap-4" style="opacity:0;transform:translateX(20px)"><a href="#product" class="px-3 lg:px-5 py-2.5 text-sm font-medium text-zinc-300 hover:text-white transition-colors">Product</a><a href="#pricing" class="px-3 lg:px-5 py-2.5 text-sm font-medium text-zinc-300 hover:text-white transition-colors">Pricing</a><a class="px-3 lg:px-5 py-2.5 text-sm font-medium text-zinc-300 hover:text-white transition-colors" href="https://github.com/Charlesmendez/groovy-public">Source</a><a class="px-3 lg:px-5 py-2.5 text-sm font-medium text-zinc-300 hover:text-white transition-colors" href="/login">Sign in</a><a class="px-5 py-2.5 rounded-xl bg-gradient-to-r from-cyan-500 to-cyan-600 text-black font-medium text-sm shadow-lg shadow-cyan-500/25 hover:shadow-cyan-500/40 transition-all" href="/dashboard">Start free trial</a></div><div class="xl:hidden flex items-center gap-2"><a class="px-3 py-2 rounded-lg bg-gradient-to-r from-cyan-500 to-cyan-600 text-black font-medium text-xs shadow-lg shadow-cyan-500/20" href="/dashboard">Start</a><button type="button" aria-label="Open menu" aria-expanded="false" class="w-10 h-10 rounded-lg border border-white/10 bg-white/[0.03] text-zinc-200 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu w-5 h-5" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div></header><section id="product" class="relative z-10 scroll-mt-24 px-4 pb-20 pt-28 sm:px-6 sm:pt-32"><div class="mx-auto max-w-6xl"><div class="text-center" style="opacity:0;transform:translateY(24px)"><h1 class="text-5xl font-bold leading-[0.98] tracking-[-0.045em] text-white sm:text-6xl lg:text-7xl">All in one AI harness:</h1><div class="mt-5 flex flex-wrap items-center justify-center gap-x-4 gap-y-2 text-2xl font-medium text-zinc-300 sm:text-3xl"><span class="inline-flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-5 w-5 text-cyan-400" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg> Coding</span><span aria-hidden="true" class="text-zinc-700">·</span><span class="inline-flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle h-5 w-5 text-violet-400" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg> Chat</span><span aria-hidden="true" class="text-zinc-700">·</span><span class="inline-flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail h-5 w-5 text-emerald-400" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg> Email</span></div><div class="mt-6 inline-flex items-center gap-2 rounded-full border border-white/10 bg-white/[0.035] px-4 py-2 text-sm font-medium text-zinc-300"><span class="h-1.5 w-1.5 rounded-full bg-emerald-400"></span>Fully source-available</div><div class="mt-7 flex flex-col items-center justify-center gap-3 sm:flex-row"><a class="group flex items-center gap-2 rounded-xl bg-gradient-to-r from-cyan-500 to-cyan-600 px-6 py-3.5 font-semibold text-black shadow-xl shadow-cyan-500/25 transition-all hover:shadow-cyan-500/40" href="/dashboard">Start free trial<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4 transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a href="https://github.com/Charlesmendez/groovy-public" target="_blank" rel="noreferrer" class="rounded-xl border border-white/15 bg-white/[0.03] px-6 py-3.5 font-medium text-white transition-all hover:bg-white/[0.06]">View source</a></div></div><div class="relative mx-auto mt-12 max-w-5xl" style="opacity:0;transform:translateY(32px)"><div aria-label="Groovy product tour" class="relative"><div class="mb-4 flex items-center justify-center gap-2" role="tablist" aria-label="Product areas"><button type="button" role="tab" aria-selected="true" class="flex items-center gap-2 rounded-full border px-3 py-2 text-[11px] font-medium transition-colors sm:px-4 sm:text-xs border-cyan-400/30 bg-cyan-400/10 text-white"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid h-3.5 w-3.5" aria-hidden="true"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg>Command Center</button><button type="button" role="tab" aria-selected="false" class="flex items-center gap-2 rounded-full border px-3 py-2 text-[11px] font-medium transition-colors sm:px-4 sm:text-xs border-white/10 bg-white/[0.025] text-zinc-500 hover:text-zinc-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle h-3.5 w-3.5" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg>Chat</button><button type="button" role="tab" aria-selected="false" class="flex items-center gap-2 rounded-full border px-3 py-2 text-[11px] font-medium transition-colors sm:px-4 sm:text-xs border-white/10 bg-white/[0.025] text-zinc-500 hover:text-zinc-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail h-3.5 w-3.5" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg>Email</button></div><div class="pointer-events-none absolute inset-x-8 top-16 bottom-0 rounded-[3rem] bg-gradient-to-r from-cyan-500/15 via-violet-500/10 to-emerald-500/10 blur-3xl"></div><div class="relative"><div style="opacity:1;transform:none"><div class="h-full overflow-hidden rounded-2xl border border-white/15 bg-[#09090d] shadow-2xl shadow-black/50"><div class="flex h-12 items-center gap-3 border-b border-white/10 px-3 sm:h-14 sm:px-5"><div class="flex items-center gap-1.5 text-xs font-semibold text-white sm:mr-2"><img alt="" loading="lazy" width="26" height="26" decoding="async" data-nimg="1" class="h-5 w-5 sm:h-6 sm:w-6" style="color:transparent" srcSet="/_next/image?url=%2Fsloth_no_bg.png&w=32&q=75&dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph 1x, /_next/image?url=%2Fsloth_no_bg.png&w=64&q=75&dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph 2x" src="/_next/image?url=%2Fsloth_no_bg.png&w=64&q=75&dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph"/><span class="hidden sm:inline">Groovy</span></div><div class="flex items-center gap-1 rounded-xl border border-white/10 bg-black/30 p-1"><span class="flex h-7 w-7 items-center justify-center rounded-lg sm:h-8 sm:w-8 border border-cyan-400/25 bg-cyan-400/10 text-cyan-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid h-3.5 w-3.5" aria-hidden="true"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg></span><span class="flex h-7 w-7 items-center justify-center rounded-lg sm:h-8 sm:w-8 text-zinc-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle h-3.5 w-3.5" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></span><span class="flex h-7 w-7 items-center justify-center rounded-lg sm:h-8 sm:w-8 text-zinc-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail h-3.5 w-3.5" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg></span></div><div class="ml-auto flex items-center gap-2 text-[9px] text-zinc-500 sm:text-[10px]"><span class="h-1.5 w-1.5 rounded-full bg-emerald-400"></span>Connected</div></div><div class="h-[300px] p-3 sm:h-[420px] sm:p-5"><div class="mb-3 flex items-center gap-2 rounded-xl border border-white/10 bg-white/[0.02] p-2 sm:mb-4 sm:p-3"><div class="flex items-center gap-2 text-[10px] font-medium text-zinc-300 sm:text-xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid h-3.5 w-3.5 text-cyan-300" aria-hidden="true"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg> Workspace layout</div><div class="hidden rounded-lg border border-white/10 bg-black/25 px-3 py-1.5 text-[10px] text-zinc-400 sm:block">Agents <span class="ml-1 text-white">
13 / 8</span></div><div class="ml-auto rounded-lg bg-cyan-500 px-3 py-1.5 text-[10px] font-semibold text-black sm:text-xs">+ New agent</div></div><div class="grid gap-3 sm:grid-cols-2"><div class="block rounded-xl border border-white/10 bg-white/[0.025] p-3 sm:p-4"><div class="flex items-center gap-2"><span class="flex h-7 w-7 items-center justify-center rounded-lg bg-white/[0.06] text-[10px] font-semibold text-white">C</span><div><div class="text-xs font-semibold text-white sm:text-sm">Code</div><div class="text-[9px] text-cyan-300 sm:text-[10px]">Codex · GPT-6 Sol</div></div><div class="ml-auto flex items-center gap-1.5 text-[9px] text-emerald-400 sm:text-[10px]"><span class="h-1.5 w-1.5 rounded-full bg-emerald-400"></span> Ready</div></div><div class="mt-3 rounded-lg bg-black/35 p-3 text-[10px] leading-relaxed text-zinc-400 sm:mt-5 sm:text-xs">Implemented the draft sync fix. All checks are passing.</div><div class="mt-3 flex items-center rounded-lg border border-white/10 px-3 py-2 text-[10px] text-zinc-600 sm:mt-4 sm:text-xs">Ask Codeâ¦<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send ml-auto h-3.5 w-3.5 text-cyan-400" aria-hidden="true"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></div></div><div class="hidden sm:block rounded-xl border border-white/10 bg-white/[0.025] p-3 sm:p-4"><div class="flex items-center gap-2"><span class="flex h-7 w-7 items-center justify-center rounded-lg bg-white/[0.06] text-[10px] font-semibold text-white">R</span><div><div class="text-xs font-semibold text-white sm:text-sm">Reviewer</div><div class="text-[9px] text-cyan-300 sm:text-[10px]">Claude Code · Opus</div></div><div class="ml-auto flex items-center gap-1.5 text-[9px] text-emerald-400 sm:text-[10px]"><span class="h-1.5 w-1.5 rounded-full bg-emerald-400"></span> Ready</div></div><div class="mt-3 rounded-lg bg-black/35 p-3 text-[10px] leading-relaxed text-zinc-400 sm:mt-5 sm:text-xs">Reviewed the diff. No blocking issues found.</div><div class="mt-3 flex items-center rounded-lg border border-white/10 px-3 py-2 text-[10px] text-zinc-600 sm:mt-4 sm:text-xs">Ask Reviewerâ¦<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send ml-auto h-3.5 w-3.5 text-cyan-400" aria-hidden="true"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></div></div></div><div class="mt-3 flex items-center gap-2 rounded-xl border border-white/10 bg-black/25 p-2.5 text-[10px] text-zinc-500 sm:mt-4 sm:p-3 sm:text-xs"><span class="rounded-lg bg-white/[0.05] px-2 py-1 text-zinc-300">Groovy</span><span class="rounded-lg border border-cyan-400/20 px-2 py-1 text-cyan-300">Auto</span><span class="truncate">Ask anything, or @mention an agentâ¦</span></div></div></div></div><button type="button" aria-label="Show previous product screen" class="absolute left-2 top-1/2 flex h-8 w-8 -translate-y-1/2 items-center justify-center rounded-full border border-white/10 bg-black/70 text-zinc-300 backdrop-blur transition-colors hover:bg-zinc-900 sm:-left-4 sm:h-9 sm:w-9"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left h-4 w-4" aria-hidden="true"><path d="m15 18-6-6 6-6"></path></svg></button><button type="button" aria-label="Show next product screen" class="absolute right-2 top-1/2 flex h-8 w-8 -translate-y-1/2 items-center justify-center rounded-full border border-white/10 bg-black/70 text-zinc-300 backdrop-blur transition-colors hover:bg-zinc-900 sm:-right-4 sm:h-9 sm:w-9"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right h-4 w-4" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></button></div></div></div></div></section><section class="relative z-10 py-16 px-6 border-t border-white/5"><div class="max-w-4xl mx-auto text-center"><p class="text-xl sm:text-2xl text-zinc-400 leading-relaxed" style="opacity:0;transform:translateY(16px)">Coding agents got good. Managing them didn't.<br class="hidden sm:block"/>You're alt-tabbing between terminals, re-pasting context, babysitting runs.<!-- --> <span class="text-white font-medium">That'
1s not orchestration â that's a second job.</span></p></div></section><section id="chat" class="relative z-10 scroll-mt-24 border-t border-white/5 px-6 py-24"><div class="mx-auto grid max-w-6xl items-center gap-12 lg:grid-cols-[0.88fr_1.12fr]"><div style="opacity:0;transform:translateY(20px)"><div class="mb-3 text-xs font-mono text-cyan-400">// groovy chat</div><h2 class="max-w-xl text-3xl font-bold leading-tight text-white sm:text-4xl">Where people and AI work in the same room.</h2><p class="mt-5 max-w-xl text-base leading-7 text-zinc-400">Groovy Chat is the shared surface for your team, your company knowledge, and your live agents. Ask once, keep the context in the channel, and let the result come back to everyone.</p><div class="mt-8 space-y-5"><div class="flex gap-3"><span class="mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-cyan-400/15 bg-cyan-400/[0.05]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle h-3.5 w-3.5 text-cyan-300" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></span><div><h3 class="text-sm font-semibold text-zinc-100">A shared room, not a bot inbox</h3><p class="mt-1 text-sm leading-6 text-zinc-500">Keep decisions, files, threads, and AI work together where the whole team can see the context.</p></div></div><div class="flex gap-3"><span class="mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-cyan-400/15 bg-cyan-400/[0.05]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain h-3.5 w-3.5 text-cyan-300" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg></span><div><h3 class="text-sm font-semibold text-zinc-100">Bring the right intelligence in</h3><p class="mt-1 text-sm leading-6 text-zinc-500">Mention a Mind for company knowledge or an agent for real work. Groovy routes the request without making you switch tools.</p></div></div><div class="flex gap-3"><span class="mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-cyan-400/15 bg-cyan-400/[0.05]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock h-3.5 w-3.5 text-cyan-300" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg></span><div><h3 class="text-sm font-semibold text-zinc-100">Conversations that keep working</h3><p class="mt-1 text-sm leading-6 text-zinc-500">Turn a message into a scheduled task, get live progress, and receive the result back in the same channel.</p></div></div></div><a class="group mt-8 inline-flex items-center gap-2 rounded-xl border border-white/10 bg-white/[0.04] px-4 py-2.5 text-sm font-medium text-white transition hover:border-cyan-400/25 hover:bg-cyan-400/[0.06]" href="/chat">Open Groovy Chat<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4 transition-transform group-hover:translate-x-0.5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div><div class="overflow-hidden rounded-3xl border border-white/10 bg-[#0a0b0e] shadow-2xl shadow-cyan-950/20" style="opacity:0;transform:translateY(24px)"><div class="flex h-11 items-center border-b border-white/[0.07] px-4"><div class="flex gap-1.5"><span class="h-2.5 w-2.5 rounded-full bg-red-400/60"></span><span class="h-2.5 w-2.5 rounded-full bg-amber-400/60"></span><span class="h-2.5 w-2.5 rounded-full bg-emerald-400/60"></span></div><div class="mx-auto flex items-center gap-1.5 text-[11px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle h-3 w-3 text-cyan-400" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg>Groovy Chat</div><span class="text-[9px] font-mono text-emerald-400">3 online</span></div><div class="grid min-h-[430px] sm:grid-cols-[150px_1fr]"><aside class="hidden border-r border-white/[0.06] bg-white/[0.015] p-3 sm:block"><div class="mb-3 text-[9px] font-mono uppercase tracking-[0.18em] text-zinc-600">
1Channels</div><div class="mb-1 rounded-lg px-2.5 py-2 text-[11px] bg-cyan-400/[0.08] text-cyan-100"># launch-room</div><div class="mb-1 rounded-lg px-2.5 py-2 text-[11px] text-zinc-500"># customer-ops</div><div class="mb-1 rounded-lg px-2.5 py-2 text-[11px] text-zinc-500"># engineering</div><div class="mb-2 mt-6 text-[9px] font-mono uppercase tracking-[0.18em] text-zinc-600">AI teammates</div><div class="flex items-center gap-2 px-2 py-1.5 text-[10px] text-zinc-400"><span class="flex h-5 w-5 items-center justify-center rounded-md bg-violet-400/10 text-violet-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain h-3 w-3" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg></span>Scout Mind</div><div class="flex items-center gap-2 px-2 py-1.5 text-[10px] text-zinc-400"><span class="flex h-5 w-5 items-center justify-center rounded-md bg-cyan-400/10 text-cyan-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot h-3 w-3" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg></span>Fixter Agent</div></aside><div class="flex min-w-0 flex-col"><div class="flex h-12 items-center border-b border-white/[0.06] px-4"><div><div class="text-xs font-semibold text-white"># launch-room</div><div class="text-[9px] text-zinc-600">The work and the decisions, together</div></div></div><div class="flex-1 space-y-5 p-4 sm:p-5"><div class="flex gap-3"><span class="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-orange-400/10 text-[10px] font-semibold text-orange-200">CM</span><div class="min-w-0"><div class="flex items-center gap-2"><span class="text-[11px] font-medium text-zinc-200">Carlos</span><span class="text-[9px] text-zinc-700">9:41 AM</span></div><p class="mt-1 text-xs leading-5 text-zinc-400"><span class="text-cyan-300">@Scout</span> summarize today's customer blockers and ask Fixter to handle anything we can ship now.</p></div></div><div class="flex gap-3"><span class="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-violet-400/10 text-violet-300"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain h-3.5 w-3.5" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg></span><div class="min-w-0 flex-1"><div class="flex items-center gap-2"><span class="text-[11px] font-medium text-violet-200">Scout</span><span class="rounded-full bg-violet-400/[0.08] px-1.5 py-0.5 text-[8px] text-violet-300">Mind</span></div><div class="mt-2 rounded-xl border border-violet-400/10 bg-violet-400/[0.035] p-3 text-[11px] leading-5 text-zinc-400">I found three blockers across support and email. Two need decisions; the attachment issue is reproducible and ready for Fixter.</div><div class="mt-2 inline-flex items-center gap-2 rounded-lg border border-cyan-400/10 bg-cyan-400/[0.04] px-2.5 py-1.5 text-[9px] text-cyan-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-loader-circle h-3 w-3 animate-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-6.219-8.56"></path></svg>
1Fixter is working · attachment preview</div></div></div><div class="ml-11 flex items-center gap-2 rounded-xl border border-white/[0.07] bg-white/[0.025] px-3 py-2.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock h-3.5 w-3.5 text-emerald-300" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg><div><div class="text-[10px] text-zinc-300">Customer pulse scheduled</div><div class="text-[9px] text-zinc-600">Every weekday at 5:00 PM · posts here</div></div></div></div><div class="m-3 flex items-center gap-2 rounded-xl border border-white/[0.09] bg-white/[0.025] px-3 py-2.5 text-[10px] text-zinc-600">Message #launch-room or mention an AI teammateâ¦<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle ml-auto h-3.5 w-3.5 text-zinc-700" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></div></div></div></div></div></section><section id="multiplayer" class="relative z-10 py-24 px-6 border-t border-white/5 scroll-mt-24"><div class="max-w-6xl mx-auto"><div class="mb-12 max-w-3xl" style="opacity:0;transform:translateY(16px)"><div class="mb-4 inline-flex items-center gap-2 rounded-full border border-purple-400/30 bg-purple-400/5 px-3 py-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5 text-purple-400" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg><span class="font-mono text-xs text-zinc-400">new architecture · multiplayer AI</span></div><h2 class="text-3xl sm:text-4xl font-bold text-white leading-tight">One harness. Every channel your company works in.</h2><p class="mt-5 text-lg text-zinc-400 leading-relaxed">Companies don't need another agent â they need a harness: model-agnostic, flexible, token-efficient, with a wiki-based memory you can actually read. Groovy deploys<!-- --> <span class="text-white font-medium">Cells</span> â an orchestrator, its agents, and their memory â for customer service, sales, operations, and engineering. And instead of an agent working somewhere off to the side, your team talks <em>with</em> it, and to every other agent, in the same rooms you work in.</p></div><div class="mb-12 grid gap-3 sm:grid-cols-2 lg:grid-cols-4"><div class="rounded-2xl border border-white/10 bg-white/[0.03] p-5" style="opacity:0;transform:translateY(16px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal mb-3 h-5 w-5 text-cyan-400" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg><div class="mb-1 font-semibold text-white">Coding</div><p class="text-sm leading-relaxed text-zinc-400">Claude Code & Codex workers in your repos, on your machines.</p></div><div class="rounded-2xl border border-white/10 bg-white/[0.03] p-5" style="opacity:0;transform:translateY(16px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-messages-square mb-3 h-5 w-5 text-cyan-400" aria-hidden="true"><path d="M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path><path d="M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1"></path></svg><div class="mb-1 font-semibold text-white">Team chat</div><p class="text-sm leading-relaxed text-zinc-400">Slack-like rooms where humans, minds, and agents are teammates.</p></div><div class="rounded-2xl border border-white/10 bg-white/[0.03] p-5" style="opacity:0;transform:translateY(16px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-braces mb-3 h-5 w-5 text-cyan-400" aria-hidden="true"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"></path><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"></path></svg><div class="mb-1 font-semibold text-white">API + widget</div><p class="text-sm leading-relaxed text-zinc-400">An endpoint and embeddable chat your own customers talk to.</p></div><div class="rounded-2xl border border-white/10 bg-white/[0.03] p-5" style="opacity:0;transform:translateY(16px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square mb-3 h-5 w-5 text-cyan-400" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg><div class="mb-1 font-semibold text-white">Messaging</div><p class="text-sm leading-relaxed text-zinc-400">WhatsApp and Telegram, same brain, same memory.</p></div></div><div style="opacity:0;transform:translateY(24px)"><div aria-hidden="true" class="rounded-2xl border border-white/10 bg-[#0a0a0f] shadow-2xl shadow-cyan-500/5 overflow-hidden"><div class="flex items-center gap-2 border-b border-white/5 bg-white/[0.02] px-4 py-2.5"><span class="h-2.5 w-2.5 rounded-full bg-white/10"></span><span class="h-2.5 w-2.5 rounded-full bg-white/10"></span><span class="h-2.5 w-2.5 rounded-full bg-white/10"></span><span class="ml-3 flex items-center gap-2 text-xs text-zinc-400"><span class="font-medium text-white">#support</span><span class="hidden sm:inline">Customer escalations & triage</span></span><span class="ml-auto flex items-center gap-1.5 rounded-full border border-cyan-400/30 bg-cyan-400/5 px-2 py-0.5"><span class="h-1.5 w-1.5 rounded-full bg-cyan-400"></span><span class="text-[10px] text-cyan-300">Support Mind</span><span class="rounded-full border border-white/10 px-1.5 text-[9px] uppercase tracking-wider text-zinc-500">listening</span></span></div><div class="flex"><div class="hidden w-40 shrink-0 border-r border-white/5 bg-white/[0.015] px-2 py-3 text-[11px] sm:block"><div class="px-2 pb-1 text-[9px] uppercase tracking-widest text-zinc-600">Rooms</div><div class="flex items-center gap-1.5 rounded-md bg-white/5 px-2 py-1 text-zinc-200"><span class="text-zinc-500">#</span> support<span class="ml-auto h-1.5 w-1.5 rounded-full bg-cyan-400"></span></div><div class="flex items-center gap-1.5 px-2 py-1 text-zinc-500"><span>#</span> engineering<span class="ml-auto h-1.5 w-1.5 rounded-full border border-emerald-400/60"></span></div><div class="flex items-center gap-1.5 px-2 py-1 text-zinc-500"><span>ð</span> data<span class="ml-auto h-1.5 w-1.5 rounded-full bg-purple-400"></span></div><div class="px-2 pt-3 pb-1 text-[9px] uppercase tracking-widest text-zinc-600">Agents</div><div class="px-2 py-1 text-zinc-400">â¡ Kiko<div class="truncate font-mono text-[8px] text-cyan-400/70">replaying payloadsâ¦</div></div><div class="px-2 py-1 text-zinc-500">ð Atlas<div class="truncate font-mono text-[8px] text-zinc-600">hq-server-1 · idle</div></div></div><div class="min-w-0 flex-1 space-y-3 px-4 py-4 text-[12px] leading-relaxed [&_p]:max-w-lg"><div class="flex gap-2.5"><span class="flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-pink-500/20 text-[9px] font-semibold text-pink-300">AV</span><div class="min-w-0"><span class="text-[11px] font-medium text-zinc-300">Ana</span>
1<p class="text-zinc-400">Meridian's checkout webhooks are failing â three tickets already.<!-- --> <span class="rounded bg-cyan-400/10 px-1 text-cyan-300">@Support</span> can you triage?</p></div></div><div class="flex gap-2.5"><span class="flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-cyan-400/60 bg-cyan-400/10"><span class="h-1.5 w-1.5 rounded-full bg-cyan-400"></span></span><div class="min-w-0"><span class="text-[11px] font-medium text-cyan-300">Support Mind<!-- --> <span class="rounded-full border border-cyan-400/30 px-1 text-[8px] uppercase tracking-wider">mind</span></span><p class="text-zinc-300">On it â Kiko is replaying the failed payloads against staging.</p></div></div><div class="ml-9 max-w-md rounded-xl border border-white/10 bg-white/[0.03] px-3.5 py-2.5"><div class="flex items-center gap-2"><span class="flex h-4 w-4 items-center justify-center rounded-full border border-emerald-400/50 bg-emerald-400/10 text-[9px] text-emerald-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-2.5 w-2.5" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg></span><span class="font-medium text-white">Trace Meridian webhook failures</span><span class="text-[10px] text-zinc-500">Kiko · 3m 12s</span></div><p class="mt-1 text-[11px] text-zinc-400">Root cause: signature header renamed in yesterday's deploy. One-line fix drafted.</p><span class="mt-1 inline-block text-[10px] text-zinc-500 underline decoration-dotted">view full log</span></div><div class="flex gap-2.5"><span class="flex h-6 w-6 shrink-0 items-center justify-center rounded-full border border-cyan-400/60 bg-cyan-400/10"><span class="h-1.5 w-1.5 rounded-full bg-cyan-400"></span></span><div class="min-w-0"><p class="text-zinc-300">It's ours. Fix drafted and three ticket replies are held for sign-off â want me to open the PR and send them?</p></div></div><div class="flex gap-2.5"><span class="flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-pink-500/20 text-[9px] font-semibold text-pink-300">AV</span><p class="text-zinc-400">ship it ð</p></div><div class="!mt-4 flex items-center gap-2 rounded-xl border border-white/10 bg-black/40 px-3 py-2 text-[11px] text-zinc-600">Message #support â @ summons a mind or agent<span class="ml-auto rounded-md border border-cyan-400/30 bg-cyan-400/10 px-2 py-0.5 text-cyan-300">Send</span></div></div><div class="hidden w-44 shrink-0 border-l border-white/5 bg-white/[0.015] px-3 py-3 text-[10px] lg:block"><div class="pb-1 text-[9px] uppercase tracking-widest text-zinc-600">In motion</div><div class="rounded-lg border border-white/10 bg-white/[0.03] px-2 py-1.5"><div class="font-medium text-zinc-300">Open fix PR + reply</div><div class="mt-0.5 flex items-center gap-1 font-mono text-[8px] text-cyan-400/80"><span class="h-1 w-1 animate-pulse rounded-full bg-cyan-400"></span>Kiko: watching CI</div></div><div class="pt-3 pb-1 text-[9px] uppercase tracking-widest text-zinc-600">Receipts</div><div class="flex items-baseline gap-1.5 text-zinc-500"><span class="text-emerald-400">â</span> Trace webhook failures</div><div class="pt-3 pb-1 text-[9px] uppercase tracking-widest text-zinc-600">In this room</div><div class="space-y-1 text-zinc-500"><div>Carlos · Ana · Leo</div><div>â¡ Kiko · working</div><div>ð Scout · idle</div></div></div></div></div><p class="mx-auto mt-4 max-w-2xl text-center text-sm text-zinc-500">Team chat: humans, minds, and agents in one room â every delegation ends in a receipt, every side effect can require an approval.</p></div><p class="mx-auto mt-12 max-w-3xl text-center text-lg text-zinc-400 leading-relaxed" style="opacity:0;transform:translateY(16px)">Every channel is powered by a <span class="text-white font-medium">Mind</span> you shape: its prompt, its models, its memory scope, and exactly which agents it may touch. Duplicating a harness for a new job is a clone, not a fork â<!-- --> <span class="text-white font-medium">customer support and internal ops can think with different souls on the same engine.</span></p></div></section><section id="how" class="relative z-10 py-24 px-6 border-t border-white/5 scroll-mt-24"><div class="max-w-6xl mx-auto"><div class="mb-14" style="opacity:0;transform:translateY(16px)"><div class="text-xs font-mono text-cyan-400 mb-3">// how it works</div><h2 class="text-3xl sm:text-4xl font-bold text-white">Hire. Dispatch. Ship.</h2></div><div class="grid md:grid-cols-3 gap-4"><div class="rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-white/20 transition-colors" style="opacity:0;transform:translateY(24px)"><div class="flex items-baseline gap-3 mb-4"><span class="text-xs font-mono text-zinc-600">01</span>
1<h3 class="text-xl font-semibold text-white">Hire</h3></div><div class="rounded-lg bg-black/40 border border-white/5 px-3 py-2 mb-4 font-mono text-[11px] text-zinc-400 overflow-x-auto whitespace-nowrap">new agent â Fixter · Claude Code · ~/repos/api</div><p class="text-sm text-zinc-500 leading-relaxed">An agent is a real coding harness â Claude Code or Codex â bound to a repo on your machine. Give it a name, a workspace, a model, and the skills it should know.</p></div><div class="rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-white/20 transition-colors" style="opacity:0;transform:translateY(24px)"><div class="flex items-baseline gap-3 mb-4"><span class="text-xs font-mono text-zinc-600">02</span><h3 class="text-xl font-semibold text-white">Dispatch</h3></div><div class="rounded-lg bg-black/40 border border-white/5 px-3 py-2 mb-4 font-mono text-[11px] text-zinc-400 overflow-x-auto whitespace-nowrap">@Fixter fix the flaky auth test</div><p class="text-sm text-zinc-500 leading-relaxed">Talk to one orchestrator. @mention an agent for precision, or describe the outcome and let it route, sequence, and hand context between agents for you.</p></div><div class="rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-white/20 transition-colors" style="opacity:0;transform:translateY(24px)"><div class="flex items-baseline gap-3 mb-4"><span class="text-xs font-mono text-zinc-600">03</span><h3 class="text-xl font-semibold text-white">Ship</h3></div><div class="rounded-lg bg-black/40 border border-white/5 px-3 py-2 mb-4 font-mono text-[11px] text-zinc-400 overflow-x-auto whitespace-nowrap">â Fixter finished · 2 files changed · +41 â12</div><p class="text-sm text-zinc-500 leading-relaxed">Watch every agent work live in the grid. Risky work waits for your approval. Done work pings your phone. Transcripts, diffs, and costs are all on the record.</p></div></div></div></section><section class="relative z-10 py-24 px-6 border-t border-white/5"><div class="max-w-6xl mx-auto grid lg:grid-cols-2 gap-12 items-center"><div style="opacity:0;transform:translateY(16px)"><div class="text-xs font-mono text-violet-400 mb-3">// model economics</div><h2 class="text-3xl sm:text-4xl font-bold text-white mb-5 leading-tight">Fable 5 plans.<br/>Haiku executes.<br/><span class="text-gradient">You keep the difference.</span></h2><p class="text-lg text-zinc-400 leading-relaxed mb-6">Every role gets its own model â the orchestrator brain, each agent, even your daily heartbeat digest. Pick from the frontier catalog or paste any model id. When the bill comes, ask the orchestrator to read it and it will tell you which agents can drop to a cheaper model without dropping quality.</p><p class="text-sm text-zinc-600 font-mono">claude-fable-5 · opus-4.7 · sonnet-4.6 · haiku-4.5<br/>gpt-6-astra · gpt-6-sol · gpt-6-luna · gpt-5.5 · any-model-id</p></div><div class="space-y-2" style="opacity:0;transform:translateY(24px)"><div class="flex items-center gap-3 rounded-xl border border-white/5 bg-white/[0.02] px-4 py-3" style="opacity:0;transform:translateX(16px)"><span class="text-sm text-zinc-300 min-w-0 flex-1 truncate">Orchestrator</span><span class="shrink-0 px-2.5 py-1 rounded-lg border font-mono text-xs border-violet-400/25 bg-violet-500/[0.06] text-violet-200">Fable 5</span><span class="hidden sm:block shrink-0 text-[11px] text-zinc-600 w-28 text-right">plans & routes</span></div><div class="flex items-center gap-3 rounded-xl border border-white/5 bg-white/[0.02] px-4 py-3" style="opacity:0;transform:translateX(16px)"><span class="text-sm text-zinc-300 min-w-0 flex-1 truncate">Fixter · Claude Code</span><span class="shrink-0 px-2.5 py-1 rounded-lg border font-mono text-xs border-orange-400/25 bg-orange-500/[0.06] text-orange-200">Opus 4.7</span><span class="hidden sm:block shrink-0 text-[11px] text-zinc-600 w-28 text-right">hard refactors</span></div><div class="flex items-center gap-3 rounded-xl border border-white/5 bg-white/[0.02] px-4 py-3" style="opacity:0;transform:translateX(16px)"><span class="text-sm text-zinc-300 min-w-0 flex-1 truncate">Reviewer · Codex</span><span class="shrink-0 px-2.5 py-1 rounded-lg border font-mono text-xs border-emerald-400/25 bg-emerald-500/[0.06] text-emerald-200">
1GPT-6 Sol</span><span class="hidden sm:block shrink-0 text-[11px] text-zinc-600 w-28 text-right">adversarial review</span></div><div class="flex items-center gap-3 rounded-xl border border-white/5 bg-white/[0.02] px-4 py-3" style="opacity:0;transform:translateX(16px)"><span class="text-sm text-zinc-300 min-w-0 flex-1 truncate">Docsmith · Claude Code</span><span class="shrink-0 px-2.5 py-1 rounded-lg border font-mono text-xs border-cyan-400/25 bg-cyan-500/[0.06] text-cyan-200">Haiku 4.5</span><span class="hidden sm:block shrink-0 text-[11px] text-zinc-600 w-28 text-right">cheap & fast</span></div><div class="flex items-center gap-3 rounded-xl border border-white/5 bg-white/[0.02] px-4 py-3" style="opacity:0;transform:translateX(16px)"><span class="text-sm text-zinc-300 min-w-0 flex-1 truncate">Heartbeat digest</span><span class="shrink-0 px-2.5 py-1 rounded-lg border font-mono text-xs border-white/10 bg-white/[0.04] text-zinc-300">GPT-6 Luna</span><span class="hidden sm:block shrink-0 text-[11px] text-zinc-600 w-28 text-right">daily summaries</span></div></div></div></section><section class="relative z-10 py-24 px-6 border-t border-white/5"><div class="max-w-6xl mx-auto"><div class="mb-14" style="opacity:0;transform:translateY(16px)"><div class="text-xs font-mono text-cyan-400 mb-3">// the harness</div><h2 class="text-3xl sm:text-4xl font-bold text-white max-w-2xl">Everything between âI have agentsâ and <span class="text-gradient">âthey run my backlogâ</span></h2></div><div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-4"><div class="group rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-cyan-400/25 hover:bg-cyan-400/[0.02] transition-all" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text w-5 h-5 text-cyan-400 mb-4" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><h3 class="text-base font-semibold text-white mb-2">Plans are files, not chat scrolls</h3><p class="text-sm text-zinc-500 leading-relaxed mb-4">Flip on plan mode and an agent drafts read-only. Approve it and the plan lands in the repo â where Claude Code, Codex, and your teammates can all read it.</p><div class="font-mono text-[10px] text-zinc-600 group-hover:text-cyan-400/70 transition-colors truncate">.claude/plans/2026-07-10-auth-fix.md</div></div><div class="group rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-cyan-400/25 hover:bg-cyan-400/[0.02] transition-all" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles w-5 h-5 text-cyan-400 mb-4" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg><h3 class="text-base font-semibold text-white mb-2">Skills from your own repo</h3><p class="text-sm text-zinc-500 leading-relaxed mb-4">Markdown playbooks, synced from git, assigned per agent. Claude Code agents get CLAUDE.md context, Codex agents get AGENTS.md â automatically materialized on device.</p><div class="font-mono text-[10px] text-zinc-600 group-hover:text-cyan-400/70 transition-colors truncate">skills/deploy-checklist.md â Fixter</div></div><div class="group rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-cyan-400/25 hover:bg-cyan-400/[0.02] transition-all" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock w-5 h-5 text-cyan-400 mb-4" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg><h3 class="text-base font-semibold text-white mb-2">Agents on cron</h3><p class="text-sm text-zinc-500 leading-relaxed mb-4">Tell the orchestrator when and who: nightly test triage, weekly depen
1dency bumps, or a 7:30 report. Each run uses that agent's harness, workspace, model, and skills while its connector machine is awake and online.</p><div class="font-mono text-[10px] text-zinc-600 group-hover:text-cyan-400/70 transition-colors truncate">daily @ 07:30 â Scout: "triage new issues"</div></div><div class="group rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-cyan-400/25 hover:bg-cyan-400/[0.02] transition-all" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle w-5 h-5 text-cyan-400 mb-4" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg><h3 class="text-base font-semibold text-white mb-2">WhatsApp is your remote</h3><p class="text-sm text-zinc-500 leading-relaxed mb-4">Dispatch from your phone, get pinged when work lands, and approve or reject with a reply. The harness doesn't stop because you stood up.</p><div class="font-mono text-[10px] text-zinc-600 group-hover:text-cyan-400/70 transition-colors truncate">"approve 3f2a91" â running</div></div><div class="group rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-cyan-400/25 hover:bg-cyan-400/[0.02] transition-all" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-brain w-5 h-5 text-cyan-400 mb-4" aria-hidden="true"><path d="M12 18V5"></path><path d="M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4"></path><path d="M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5"></path><path d="M17.997 5.125a4 4 0 0 1 2.526 5.77"></path><path d="M18 18a4 4 0 0 0 2-7.464"></path><path d="M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517"></path><path d="M6 18a4 4 0 0 1-2-7.464"></path><path d="M6.003 5.125a4 4 0 0 0-2.526 5.77"></path></svg><h3 class="text-base font-semibold text-white mb-2">Context moves between agents</h3><p class="text-sm text-zinc-500 leading-relaxed mb-4">One command summarizes what an agent learned and briefs another â findings from Scout become marching orders for Fixter. No copy-paste archaeology.</p><div class="font-mono text-[10px] text-zinc-600 group-hover:text-cyan-400/70 transition-colors truncate">transfer_context Scout â Fixter</div></div><div class="group rounded-2xl border border-white/10 bg-white/[0.02] p-6 hover:border-cyan-400/25 hover:bg-cyan-400/[0.02] transition-all" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chart-column w-5 h-5 text-cyan-400 mb-4" aria-hidden="true"><path d="M3 3v16a2 2 0 0 0 2 2h16"></path><path d="M18 17V9"></path><path d="M13 17V5"></path><path d="M8 17v-3"></path></svg><h3 class="text-base font-semibold text-white mb-2">Spend, by agent, with receipts</h3><p class="text-sm text-zinc-500 leading-relaxed mb-4">Every token is attributed to an agent, a model, and an outcome. Ask the orchestrator to analyze it and it recommends cheaper model mixes that won't cost you quality.</p><div class="font-mono text-[10px] text-zinc-600 group-hover:text-cyan-400/70 transition-colors truncate">usage_report --days 30</div></div></div><p class="mt-8 text-sm text-zinc-600 text-center" style="opacity:0">Plus data integrations (Gmail, Calendar, ads platforms, Postgres, Firecrawlâ¦) your agents can pull from â<!-- --> <a class="inline-block px-1 py-2 text-cyan-400/80 underline decoration-cyan-400/30 underline-offset-4 hover:text-cyan-300" href="/integrations">see the catalog</a>.</p></div></section><section class="relative z-10 py-24 px-6 border-t border-white/5"><div class="max-w-6xl mx-auto"><div class="mb-14 text-center" style="opacity:0;transform:translateY(16px)"><div class="text-xs font-mono text-emerald-400 mb-3">// trust model</div><h2 class="text-3xl sm:text-4xl font-bold text-white">Powerful agents need a short leash.</h2><p class="text-lg text-zinc-500 mt-4 max-w-2xl mx-auto">Groovy holds it: local execution, your credentials, human approval on anything that can hurt.</p></div><div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-4"><div class="rounded-2xl border border-white/10 bg-white/[0.02] p-6" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-laptop w-5 h-5 text-emerald-400 mb-4" aria-hidden="true"><path d="M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z"></path><path d="M20.054 15.987H3.946"></path></svg><h3 class="text-sm font-semibold text-white mb-2">Runs on your machine</h3><p class="text-[13px] text-zinc-500 leading-relaxed">Agents execute in your repos through a local connector. Your code never transits our servers.</p></div><div class="rounded-2xl border border-white/10 bg-white/[0.02] p-6" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-key-round w-5 h-5 text-emerald-400 mb-4" aria-hidden="true"><path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"></path><circle cx="16.5" cy="7.5" r=".5" fill="currentColor"></circle></svg><h3 class="text-sm font-semibold text-white mb-2">Your keys, your bill</h3><p class="text-[13px] text-zinc-500 leading-relaxed">Anthropic, OpenAI, Google, Azure, Bedrock â bring your own credentials. Groovy adds no token markup.</p></div><div class="rounded-2xl border border-white/10 bg-white/[0.02] p-6" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock w-5 h-5 text-emerald-400 mb-4" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg><h3 class="text-sm font-semibold text-white mb-2">Approval where it matters</h3><p class="text-[13px] text-zinc-500 leading-relaxed">Destructive work waits for a human. Plans wait for review. Everything else just ships.</p></div><div class="rounded-2xl border border-white/10 bg-white/[0.02] p-6" style="opacity:0;transform:translateY(24px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield w-5 h-5 text-emerald-400 mb-4" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg><h3 class="text-sm font-semibold text-white mb-2">Source-available</h3><p class="text-[13px] text-zinc-500 leading-relaxed">Each tagged release is mirrored publicly. Trust is something you can read.</p></div></div></div></section><section class="relative z-10 py-24 px-6 border-t border-white/5"><div class="max-w-6xl mx-auto grid lg:grid-cols-2 gap-12 items-center"><div style="opacity:0;transform:translateY(16px)"><div class="text-xs font-mono text-cyan-400 mb-3">// groovy desktop</div><h2 class="text-3xl sm:text-4xl font-bold text-white mb-5 leading-tight">One download.<br/><span class="text-gradient">Zero pairing codes.</span></h2><p class="text-lg text-zinc-400 leading-relaxed mb-6">Groovy Desktop bundles the harness and the local connector in a single signed app. Install, sign in, and
1your machine links itself. Agents keep running when the window closes; updates are one click, ChatGPT-style.</p><ul class="space-y-2.5"><li class="flex items-start gap-2.5 text-sm text-zinc-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-emerald-400 mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Connector managed for you â starts, restarts, updates</li><li class="flex items-start gap-2.5 text-sm text-zinc-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-emerald-400 mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Keeps schedules and heartbeats alive in the background</li><li class="flex items-start gap-2.5 text-sm text-zinc-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-emerald-400 mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Signed & notarized DMG for Apple Silicon</li></ul></div><div class="relative" style="opacity:0;transform:scale(0.97)"><div class="absolute -inset-6 bg-gradient-to-tr from-violet-500/10 to-cyan-500/10 rounded-3xl blur-2xl pointer-events-none"></div><div class="relative rounded-2xl border border-white/10 bg-zinc-950/80 p-8 text-center"><div class="w-16 h-16 mx-auto rounded-2xl border border-white/10 bg-gradient-to-br from-cyan-500/15 to-violet-500/15 flex items-center justify-center mb-5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-laptop w-8 h-8 text-cyan-300" aria-hidden="true"><path d="M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z"></path><path d="M20.054 15.987H3.946"></path></svg></div><div class="font-mono text-sm text-zinc-300 mb-1">Groovy.dmg</div><div class="text-xs text-zinc-600 mb-6">macOS 12+ · Apple Silicon</div><a class="inline-flex items-center gap-2 px-5 py-3 rounded-xl bg-white/[0.05] border border-white/15 text-white text-sm font-medium hover:bg-white/[0.08] transition-all" href="/account/downloads">Download Groovy Desktop<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right w-4 h-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><p class="mt-4 text-[11px] text-zinc-600">Prefer headless? The standalone connector still works everywhere.</p></div></div></div></section><section id="pricing" class="relative z-10 py-24 px-6 border-t border-white/5 scroll-mt-24"><div class="max-w-6xl mx-auto"><div class="mb-14 text-center" style="opacity:0;transform:translateY(16px)"><div class="text-xs font-mono text-cyan-400 mb-3">// pricing</div><h2 class="text-3xl sm:text-4xl font-bold text-white mb-4">A license, not a meter.</h2><p class="text-lg text-zinc-500 max-w-2xl mx-auto">Every account starts with a 5-day free trial. After that it's a flat yearly license â your model spend goes straight to your providers, with no Groovy markup in the middle.</p></div><div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-4"><div class="rounded-2xl border bg-white/[0.02] p-6 flex flex-col border-cyan-500/30" style="opacity:0;transform:translateY(24px)"><div class="w-9 h-9 rounded-xl border flex items-center justify-center mb-4 text-cyan-300 bg-cyan-500/10 border-cyan-500/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-key-round w-4 h-4" aria-hidden="true"><path d="M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"></path><circle cx="16.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></div>
1<div class="self-start text-[10px] font-mono px-2 py-0.5 rounded-full border mb-3 text-cyan-300 bg-cyan-500/10 border-cyan-500/20">Groovy Personal</div><h3 class="text-base font-semibold text-white mb-1">For personal projects</h3><div class="mb-4"><span class="text-2xl font-bold text-white">$49.99</span><span class="text-xs text-zinc-500 ml-1.5">per year</span></div><ul class="space-y-2 mt-auto"><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>One individual, personal non-commercial use.</li><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Two activated devices.</li><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Current downloads, updates, and source snapshots while active.</li></ul></div><div class="rounded-2xl border bg-white/[0.02] p-6 flex flex-col border-emerald-500/30" style="opacity:0;transform:translateY(24px)"><div class="w-9 h-9 rounded-xl border flex items-center justify-center mb-4 text-emerald-300 bg-emerald-500/10 border-emerald-500/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server w-4 h-4" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg></div><div class="self-start text-[10px] font-mono px-2 py-0.5 rounded-full border mb-3 text-emerald-300 bg-emerald-500/10 border-emerald-500/20">Groovy Enterprise</div><h3 class="text-base font-semibold text-white mb-1">For companies</h3><div class="mb-4"><span class="text-2xl font-bold text-white">Contact sales</span><span class="text-xs text-zinc-500 ml-1.5">annual license</span></div><ul class="space-y-2 mt-auto"><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Commercial use, self-hosting, and internal modification rights.</li><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Source access, support, security, and contract terms.</li><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Fallback rights to the last paid version if you do not renew.</li></ul></div><div class="rounded-2xl border bg-white/[0.02] p-6 flex flex-col border-amber-500/30" style="opacity:0;transform:translateY(24px)"><div class="w-9 h-9 rounded-xl border flex items-center justify-center mb-4 text-amber-300 bg-amber-500/10 border-amber-500/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield w-4 h-4" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></div>
1<div class="self-start text-[10px] font-mono px-2 py-0.5 rounded-full border mb-3 text-amber-300 bg-amber-500/10 border-amber-500/20">Default billing</div><h3 class="text-base font-semibold text-white mb-1">No token tax</h3><div class="mb-4"><span class="text-2xl font-bold text-white">$0</span><span class="text-xs text-zinc-500 ml-1.5">Groovy token markup</span></div><ul class="space-y-2 mt-auto"><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Connect your own OpenAI, Anthropic, Google, Azure, Bedrock, Groq, or Mistral keys.</li><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>You control provider usage and provider billing.</li><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Groovy usage analytics are separate from Groovy licensing.</li></ul></div><div class="rounded-2xl border bg-white/[0.02] p-6 flex flex-col border-rose-500/30" style="opacity:0;transform:translateY(24px)"><div class="w-9 h-9 rounded-xl border flex items-center justify-center mb-4 text-rose-300 bg-rose-500/10 border-rose-500/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chart-column w-4 h-4" aria-hidden="true"><path d="M3 3v16a2 2 0 0 0 2 2h16"></path><path d="M18 17V9"></path><path d="M13 17V5"></path><path d="M8 17v-3"></path></svg></div><div class="self-start text-[10px] font-mono px-2 py-0.5 rounded-full border mb-3 text-rose-300 bg-rose-500/10 border-rose-500/20">Approved partners</div><h3 class="text-base font-semibold text-white mb-1">Reseller billing</h3><div class="mb-4"><span class="text-2xl font-bold text-white">By agreement</span><span class="text-xs text-zinc-500 ml-1.5">authorized only</span></div><ul class="space-y-2 mt-auto"><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Usage-based billing stays off unless the license explicitly enables it.</li><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Approved resellers can meter customer usage and export billing data.</li><li class="flex items-start gap-2 text-[12px] text-zinc-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-3.5 h-3.5 text-zinc-600 mt-px shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg>Normal personal and enterprise customers never see reseller controls.</li></ul></div></div></div></section><section class="relative z-10 py-32 px-6 border-t border-white/5"><div class="max-w-4xl mx-auto text-center" style="opacity:0;transform:translateY(40px)"><h2 class="text-4xl sm:text-5xl font-bold text-white mb-6">Your agents are ready.<br/><span class="text-gradient">Give them a manager.</span></h2><p class="text-xl text-zinc-500 mb-10 max-w-2xl mx-auto">Five days free. Your keys, your machine, your call.</p><div class="flex flex-col sm:flex-row items-center justify-center gap-4"><a class="group flex items-center gap-3 px-10 py-5 rounded-2xl bg-gradient-to-r from-cyan-500 to-cyan-600 text-black font-semibold text-xl shadow-xl shadow-cyan-500/30 hover:shadow-cyan-500/50 transition-all" href="/dashboard"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot w-6 h-6" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg>Start free trial</a><a class="group flex items-center gap-3 px-10 py-5 rounded-2xl border border-white/20 bg-white/[0.03] text-white font-semibold text-xl hover:bg-white/[0.06] hover:border-white/30 transition-all" href="/enterprise"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server w-6 h-6" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg>Contact Sales</a></div><div class="mt-8 flex flex-col sm:flex-row items-center justify-center gap-2 sm:gap-6 text-xs text-zinc-600"><span class="flex items-center gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-credit-card w-3.5 h-3.5" aria-hidden="true"><rect width="20" height="14" x="2" y="5" rx="2"></rect>
1<line x1="2" x2="22" y1="10" y2="10"></line></svg> Personal license $49.99/yr</span><span class="flex items-center gap-1.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database w-3.5 h-3.5" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg> No token markup</span><span>macOS 12+ (Apple Silicon) · Windows 10+ (x64)</span></div></div></section><section class="relative z-10 pb-16 px-6"><div class="max-w-md mx-auto text-center" style="opacity:0;transform:translateY(20px)"><a class="block w-full p-6 rounded-2xl border border-white/10 bg-white/[0.02] hover:bg-white/[0.05] transition-all group" href="/support"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail w-6 h-6 text-cyan-400 mx-auto mb-3" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg><h3 class="text-lg font-semibold text-white mb-1">Support</h3><p class="text-sm text-zinc-500 mb-3">Questions, feedback, or an issue with Groovy? Get in touch.</p><span class="text-cyan-400 text-sm font-medium">[email protected]</span></a></div></section><footer class="relative z-10 py-12 px-6 border-t border-white/5"><div class="max-w-6xl mx-auto flex flex-col sm:flex-row items-center justify-between gap-4"><img alt="Groovy" loading="lazy" width="240" height="70" decoding="async" data-nimg="1" class="h-16 w-auto opacity-60" style="color:transparent" src="/Groovy_no_bg.png?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph"/><p class="text-sm text-zinc-600">© <!-- -->2026<!-- --> Groovy. All rights reserved.</p><nav aria-label="Legal and support" class="flex gap-5 text-sm text-zinc-500"><a class="hover:text-zinc-200" href="/support">Support</a><a class="hover:text-zinc-200" href="/privacy">Privacy</a></nav></div></footer></div><!--$--><!--/$-->
1<script src="/_next/static/chunks/webpack-cea65fd30955788a.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[61141,[\"8500\",\"static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"2619\",\"static/chunks/2619-8ce655b7ce8300f1.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"6622\",\"static/chunks/6622-d97a1e03abc52821.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"416\",\"static/chunks/416-9dd38047c2ae1ef6.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"5274\",\"static/chunks/5274-32d7b9cca02bb7ba.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"7177\",\"static/chunks/app/layout-81e3871a0e398f76.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\"],\"GlobalVoiceAssistant\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[57847,[\"8500\",\"static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"2619\",\"static/chunks/2619-8ce655b7ce8300f1.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"6622\",\"static/chunks/6622-d97a1e03abc52821.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"416\",\"static/chunks/416-9dd38047c2ae1ef6.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"5274\",\"static/chunks/5274-32d7b9cca02bb7ba.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"7177\",\"static/chunks/app/layout-81e3871a0e398f76.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\"],\"ServiceWorkerBridge\"]\n6:I[82666,[\"8500\",\"static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"2619\",\"static/chunks/2619-8ce655b7ce8300f1.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"6622\",\"static/chunks/6622-d97a1e03abc52821.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"416\",\"static/chunks/416-9dd38047c2ae1ef6.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"5274\",\"static/chunks/5274-32d7b9cca02bb7ba.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"7177\",\"static/chunks/app/layout-81e3871a0e398f76.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\"],\"EmailSendBridge\"]\n7:I[91437,[\"8500\",\"static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"2619\",\"static/chunks/2619-8ce655b7ce8300f1.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"6622\",\"static/chunks/6622-d97a1e03abc52821.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"416\",\"static/chunks/416-9dd38047c2ae1ef6.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"5274\",\"static/chunks/5274-32d7b9cca02bb7ba.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"7177\",\"static/chunks/app/layout-81e3871a0e398f76.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\"],\"EmailBackgroundSyncBridge\"]\n8:I[29917,[\"8500\",\"static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"2619\",\"static/chunks/2619-8ce655b7ce8300f1.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"6622\",\"static/chunks/6622-d97a1e03abc52821.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"416\",\"static/chunks/416-9dd38047c2ae1ef6.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"5274\",\"static/chunks/5274-32d7b9cca02bb7ba.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"7177\",\"static/chunks/app/layout-81e3871a0e398f76.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\"],\"ChatNotificationBridge\"]\n9:I[41537,[\"8500\",\"static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"2619\",\"static/chunks/2619-8ce655b7ce8300f1.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"6622\",\"static/chunks/6622-d97a1e03abc52821.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"416\",\"static/chunks/416-9dd38047c2ae1ef6.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"5274\",\"static/chunks/5274-32d7b9cca02bb7ba.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"7177\",\"static/chunks/app/layout-81e3871a0e398f76.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\"],\"EmailFocusNotificationBridge\"]\na:I[67312,[\"8500\",\"static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"2619\",\"static/chunks/2619-8ce655b7ce8300f1.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"6622\",\"static/chunks/6622-d97a1e03abc52821.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"416\",\"static/chunks/416-9dd38047c2ae1ef6.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"5274\",\"static/chunks/5274-32d7b9cca02bb7ba.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"7177\",\"static/chunks/app/layout-81e3871a0e398f76.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\"],\"DesktopUiUpdateBanner\"]\nb:I[42593,[\"8500\",\"static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"2619\",\"static/chunks/2619-8ce655b7ce8300f1.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"6622\",\"static/chunks/6622-d97a1e03abc52821.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"416\",\"static/chunks/416-9dd38047c2ae1ef6.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"5274\",\"static/chunks/5274-32d7b9cca02bb7ba.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"7177\",\"static/chunks/app/layout-81e3871a0e398f76.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\"],\"\"]\nc:I[61304,[],\"ClientPageRoot\"]\nd:I[61655,[\"8500\",\"static/chunks/8500-e4dd1cb1bb626827.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"467\",\"static/chunks/467-310eccda15294063.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"1819\",\"static/chunks/1819-ef95ab6e1cf6a7a4.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"8878\",\"static/chunks/8878-e6f957e8b57e2037.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"8974\",\"static/chunks/app/page-ceb601ec01
15b6530.js?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\"],\"default\"]\n10:I[90484,[],\"OutletBoundary\"]\n11:\"$Sreact.suspense\"\n13:I[90484,[],\"ViewportBoundary\"]\n15:I[90484,[],\"MetadataBoundary\"]\n17:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/4b76af156a4a1eb2.css?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"style\"]\n:HL[\"/_next/static/css/de6857a6c01cf478.css?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"style\"]\n0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/4b76af156a4a1eb2.css?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/de6857a6c01cf478.css?dpl=dpl_3yXh9fXeqz72B6E9icJ7K9Xe8oph\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"noise-overlay\"}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L5\",null,{}],[\"$\",\"$L6\",null,{}],[\"$\",\"$L7\",null,{}],[\"$\",\"$L8\",null,{}],[\"$\",\"$L9\",null,{}],[\"$\",\"$La\",null,{}],[\"$\",\"$Lb\",null,{\"src\":\"https://www.datagran.io/pixel.js\",\"data-site-id\":\"55236bf6-9cdb-476f-9c47-df1dea438972\",\"data-write-key\":\"wpx_live_c57ec40067736af63d7f5a9fb6ca94d462279e0bf7b7d1a2\",\"strategy\":\"afterInteractive\"}]]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Lc\",null,{\"Component\":\"$d\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@e\",\"$@f\"]}}],null,[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$11\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@12\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L13\",null,{\"children\":\"$L14\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L15\",null,{\"children\":[\"$\",\"$11\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L16\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$17\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\"}\ne:{}\nf:\"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params\"\n14:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover\"}]]\n18:I[86869,[],\"IconMark\"]\n12:null\n16:[[\"$\",\"title\",\"0\",{\"children\":\"Groovy | Coding, chat, and email\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"An all-in-one AI harness for coding, chat, and email.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"canonical\",\"href\":\"https://gogroovy.ai\"}],[\"$\",\"meta\",\"4\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Groovy\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:title\",\"content\":\"Groovy | Coding, chat, and email\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:description\",\"content\":\"An all-in-one AI harness for coding, chat, and email.\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:url\",\"content\":\"https://gogroovy.ai\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:site_name\",\"content\":\"Groovy\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:image\",\"content\":\"https://gogroovy.ai/social-card.png\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:alt\",\"content\":\"Groovy: coding, chat, and email in one AI workspace\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:title\",\"content\":\"Groovy | Coding, chat, and email\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:description\",\"content\":\"An all-in-one AI harness for coding, chat, and email.\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://gogroovy.ai/social-card.png\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:alt\",\"content\":\"Groovy: coding, chat, and email in one AI workspace\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"23\",{\"rel\":\"icon\",\"href\":\"/icon-192.png\"}],[\"$\",\"link\",\"24\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icon-192.png\"}],[\"$\",\"$L18\",\"25\",{}]]\n"])</script>
1</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.