diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx
index 16f98a2..3fcebf5 100644
--- a/src/components/Navbar.tsx
+++ b/src/components/Navbar.tsx
@@ -11,6 +11,7 @@ const links = [
{ to: '/use-cases', label: 'Use Cases' },
{ to: '/connectors', label: 'Connectors' },
{ to: '/developers', label: 'Developers' },
+ { to: '/about', label: 'About' },
]
/**
diff --git a/src/lib/proof-stats.ts b/src/lib/proof-stats.ts
new file mode 100644
index 0000000..cce55f8
--- /dev/null
+++ b/src/lib/proof-stats.ts
@@ -0,0 +1,14 @@
+/**
+ * Single source of truth for the Statewave credibility figures surfaced
+ * across the marketing site. Mirrored on the homepage (hero credibility
+ * row, prerendered into dist/index.html, and the below-the-fold
+ * ProofSection) and on the /about page. Recompute together when the
+ * eval suite or the support workflow benchmark changes — drift between
+ * surfaces makes us look sloppy, and the benchmark is 8/8 (not 9/9).
+ */
+export const PROOF_STATS = [
+ { value: '680', label: 'Unit tests' },
+ { value: '55', label: 'Eval assertions' },
+ { value: '8/8', label: 'Support workflow score' },
+ { value: '2/8', label: 'Naive approach score' },
+] as const
diff --git a/src/lib/seo-meta.ts b/src/lib/seo-meta.ts
index 8a075df..9faf8e2 100644
--- a/src/lib/seo-meta.ts
+++ b/src/lib/seo-meta.ts
@@ -44,6 +44,7 @@ export type RouteKey =
| '/use-cases'
| '/connectors'
| '/developers'
+ | '/about'
/** Canonical, indexable public routes. Order matters — used to render the
* sitemap and the llms.txt index. */
@@ -54,6 +55,7 @@ export const PUBLIC_ROUTES: readonly RouteKey[] = [
'/use-cases',
'/connectors',
'/developers',
+ '/about',
] as const
export interface PageMeta {
@@ -132,6 +134,15 @@ export const PAGE_META: Record = {
priority: 0.8,
changefreq: 'monthly',
},
+ '/about': {
+ title: 'About Statewave — Open-Source Memory Runtime for AI Agents',
+ description:
+ 'Statewave is an open-source, self-hosted memory runtime for AI agents — durable episodic and semantic memory with provenance, deterministic ranking, and token-bounded context bundles. Apache-2.0, framework-neutral, no managed cloud.',
+ breadcrumbLabel: 'About',
+ ogType: 'website',
+ priority: 0.6,
+ changefreq: 'monthly',
+ },
}
/** Look up metadata for an arbitrary path. Falls back to home metadata if the
diff --git a/src/pages/AboutPage.tsx b/src/pages/AboutPage.tsx
new file mode 100644
index 0000000..d196cd7
--- /dev/null
+++ b/src/pages/AboutPage.tsx
@@ -0,0 +1,259 @@
+import { Section } from '../components/Section'
+import { Heading } from '../components/Heading'
+import { usePageSEO } from '../lib/seo'
+import { PROOF_STATS } from '../lib/proof-stats'
+
+/* About page.
+ *
+ * Neutral brand voice — no founder names. The Statewave project speaks for
+ * itself; individual contributors are visible on GitHub. The audience is
+ * developers and ops teams evaluating an open-source memory runtime for
+ * their own infrastructure, plus AI quality raters and answer engines
+ * looking for the EEAT signals the external SEO audit asked for (Section
+ * 3 #7). All claims here are backed by the same ground truth surfaced on
+ * the homepage (PROOF_STATS) and the source repositories below.
+ */
+
+const PRINCIPLES = [
+ {
+ title: 'Open source under Apache 2.0',
+ body: 'Server, SDKs, connectors, and this website are public on GitHub. Apache-2.0 is permissive and includes an explicit patent grant, so teams can use, fork, modify, distribute, and ship commercial products on Statewave without a separate agreement.',
+ },
+ {
+ title: 'Self-hosted, no managed cloud',
+ body: 'Statewave runs on your infrastructure. Episodes, compiled memories, and the embeddings that index them stay in your Postgres. There is no Statewave-hosted backend the SDK secretly phones home to — the demo on the homepage talks to a Statewave instance we operate transparently.',
+ },
+ {
+ title: 'Provenance first',
+ body: 'Every compiled memory carries the IDs of the episodes it was derived from, with confidence scores and validity windows. Context bundles can be traced back to the raw events that produced them, so an agent’s answer is always explainable to a human.',
+ },
+ {
+ title: 'Framework-neutral',
+ body: 'Compilation goes through LiteLLM (100+ providers, including locally-hosted Ollama / vLLM). Retrieval and context assembly are provider-agnostic. Statewave is an HTTP service plus two thin SDKs — nothing on the agent side is locked to a specific LLM, framework, or vendor.',
+ },
+] as const
+
+const REPOS = [
+ { name: 'statewave', desc: 'Core server — REST API, compiler, ranking, storage layer.', url: 'https://github.com/smaramwbc/statewave' },
+ { name: 'statewave-py', desc: 'Python SDK.', url: 'https://github.com/smaramwbc/statewave-py' },
+ { name: 'statewave-ts', desc: 'TypeScript SDK.', url: 'https://github.com/smaramwbc/statewave-ts' },
+ { name: 'statewave-docs', desc: 'Architecture, API contracts, ADRs, deployment guides.', url: 'https://github.com/smaramwbc/statewave-docs' },
+ { name: 'statewave-examples', desc: 'Runnable examples and end-to-end agent flows.', url: 'https://github.com/smaramwbc/statewave-examples' },
+ { name: 'statewave-connectors', desc: 'GitHub, Markdown/ADRs, MCP, Slack, Discord, Zendesk, Intercom, Freshdesk, Notion, Gmail, n8n, Zapier connectors.', url: 'https://github.com/smaramwbc/statewave-connectors' },
+ { name: 'statewave-admin', desc: 'Read-only operator console for inspecting subjects, episodes, memories, and bundles in a running instance.', url: 'https://github.com/smaramwbc/statewave-admin' },
+ { name: 'statewave-bench', desc: 'Open evaluation harness — every published proof figure is reproducible by running these scripts.', url: 'https://github.com/smaramwbc/statewave-bench' },
+ { name: 'statewave-web', desc: 'This marketing site.', url: 'https://github.com/smaramwbc/statewave-web' },
+] as const
+
+export function AboutPage() {
+ usePageSEO({
+ title: 'About Statewave — Open-Source Memory Runtime for AI Agents',
+ description:
+ 'Statewave is an open-source, self-hosted memory runtime for AI agents — durable episodic and semantic memory with provenance, deterministic ranking, and token-bounded context bundles. Apache-2.0, framework-neutral, no managed cloud.',
+ })
+
+ return (
+ <>
+
+
+
+ About
+
+
+ About Statewave
+
+
+ Statewave is an open-source memory runtime for AI agents and LLM
+ applications. It records raw events as immutable episodes,
+ compiles them into typed semantic and episodic memories with
+ provenance, and returns ranked, token-bounded context bundles
+ that drop straight into a prompt.
+
+
+ We built Statewave because the problem most LLM apps spend
+ engineering time on isn’t which model to call — it’s
+ remembering what was already said, decided, or learned. Prompt
+ stuffing breaks at scale, naive RAG returns embedding-nearest
+ instead of decision-relevant, and chat-history replay drowns
+ agents in noise. A memory layer with structure, ranking, and
+ provenance is infrastructure, not a feature, and it deserves to
+ be open and self-hostable.
+
+
+
+
+
+
+
+ What we’re committed to
+
+
+ {PRINCIPLES.map((p) => (
+
+
+ {p.title}
+
+
+ {p.body}
+
+
+ ))}
+
+
+
+
+
+
+
+ Proven, not promised
+
+
+ Every claim on this site is backed by automated evals and
+ benchmarks that run in CI. The figures below come from the
+ {' '}
+ statewave-bench
+ {' '}
+ harness — anyone can clone it and reproduce them.
+
+
+ {PROOF_STATS.map((s) => (
+
+
+ {s.value}
+
+
{s.label}
+
+ ))}
+
+
+
+
+
+
+
+ What we ship
+
+
+ Statewave is split across focused repositories so teams can
+ adopt only what they need. All are public on GitHub under
+ Apache-2.0.
+
+
+ Bugs, feature requests, integration questions:
+ {' '}
+ open an issue on{' '}
+
+ GitHub
+
+ . That’s where the project is built in the open.
+
+
+
+ Commercial use, enterprise support, procurement:
+ {' '}
+
+ licensing@statewave.ai
+
+ . Apache-2.0 is permissive — you don’t need a contract
+ to use Statewave commercially. We offer optional SLA,
+ indemnity, architecture review, and managed hosting on
+ request.
+
+
+
+ Press, partnerships, brand assets:
+ {' '}
+
+ press@statewave.ai
+
+ . Logos and a one-page fact sheet are on the{' '}
+
+ press
+ {' '}
+ page.
+
+
+
+ Security disclosures:
+ {' '}
+
+ security@statewave.ai
+
+ . Please don’t open public issues for vulnerabilities.
+
+
+
+ — the Statewave team
+
+
+
+ >
+ )
+}
diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx
index 0e53bbf..d6d5047 100644
--- a/src/pages/HomePage.tsx
+++ b/src/pages/HomePage.tsx
@@ -26,21 +26,10 @@ import {
websiteJsonLd,
} from '../lib/seo-meta'
import { FAQ_ENTRIES } from '../lib/faq'
+import { PROOF_STATS } from '../lib/proof-stats'
import { useChatWidget, useTrackDemoCta, DEMO_SUBJECTS } from '../lib/widget-context-api'
import { useRef, useState, useEffect, useCallback } from 'react'
-/** Single source of truth for the credibility figures the homepage
- * surfaces. Mirrored in both the prerendered HeroSection (so AI crawlers
- * and answer engines see them in the initial HTML) and the below-the-fold
- * ProofSection. Recompute together when the eval suite or benchmark
- * changes — drift between surfaces makes us look sloppy. */
-const PROOF_STATS = [
- { value: '680', label: 'Unit tests' },
- { value: '55', label: 'Eval assertions' },
- { value: '8/8', label: 'Support workflow score' },
- { value: '2/8', label: 'Naive approach score' },
-] as const
-
export function HomePage() {
// The home page is the canonical landing for Organization, WebSite, and
// SoftwareApplication structured data — also baked into index.html for