Files
Rohit Ghumare 6f228bd8c0 fix(website): compare section polish (#427)
User caught the section looking bad on the live merge:

1. Title "AGENTMEMORY VS. THE FIELD." was redundant (eyebrow already
   reads VS.) and wrapped ugly with FIELD. dangling on its own line.
   Shortened to "VS. THE FIELD." Eyebrow + title now read together
   as "VS. · VS. THE FIELD." which is still on-brand and fits one
   line at every viewport above 480px.

2. Added `text-wrap: balance` to .section-title globally so titles
   that DO need to wrap break at a balanced point instead of leaving
   orphan words. Affects every section's heading; net win — already
   verified other titles (Features TWELVE THINGS, CommandCenter TWO
   UIs, Agents SIX FIRST-PARTY, etc) render correctly.

3. Comparison NATIVE PLUGINS cell value was "6 (Claude/Codex/
   OpenClaw/Hermes/pi/OpenHuman)" — that's 49 chars stuffed into a
   ~180px grid column, forcing multi-line wrap that looked cramped.
   Cell now reads just "6"; the agent names are already visible in
   the dedicated Agents grid two sections above.

4. Row grid: bumped agentmemory column from 1fr → 1.3fr at the
   expense of the label column (1.6fr → 1.4fr) so the longer cell
   values (95.2%, YES (APACHE-2.0), 2 (Qdrant, Neo4j)) have
   breathing room. Added `word-break: break-word` as a safety net
   for future entries. Padded the row 24px horizontally so cells
   don't kiss the section edge.

Build clean.
2026-05-16 10:43:30 +01:00
..

agentmemory website

Next.js 15 App Router landing page for agentmemory. Lamborghini-inspired black + gold design system. Deploys to Vercel with zero config.

Stack

  • Next.js 15.1 (App Router, React 19, TypeScript 5.7)
  • next/font for Archivo + JetBrains Mono
  • CSS Modules + one globals.css
  • No Tailwind, no bundler config, no client-side routing

Local dev

cd website
npm install
npm run dev
# open http://localhost:3000

Deploy (Vercel)

Two options:

  1. Import the repo on vercel.com and set Root Directory to website/. That's it.
  2. Or npx vercel from the website/ directory.

No env vars required. Node 20 LTS or newer.

Structure

website/
  app/
    layout.tsx      — <html> + fonts + metadata + viewport
    page.tsx        — composes the landing sections in order
    globals.css     — design tokens, buttons, section-head utilities
  components/
    Nav.tsx         — hexagonal bull mark + menu
    Hero.tsx        — title + lede + CTAs
    MemoryGraph.tsx — client canvas animation + hexagonal pause + scroll rail
    Stats.tsx       — counter-up on intersect
    Primitives.tsx  — three cards with 3D mouse tilt
    LiveTerminal.tsx — typewriter replay of memory.recall + consolidate
    Compare.tsx     — agentmemory vs Mem0/Letta/Cognee table
    Agents.tsx      — supported-agents grid
    Install.tsx     — click-to-copy npm + console commands
    Footer.tsx      — source / changelog / license links
    ScrollProgress.tsx — thin gold progress bar at the top of the viewport
  next.config.ts
  tsconfig.json
  package.json

Each interactive component is a "use client" island. Everything else renders on the server.

Design source

/DESIGN.md at the repo root (generated by npx getdesign@latest add lamborghini). Colors, type, spacing rules live there. Every new component should reference it first.