Files
zeekayandHanzo Dev 2eeb7d6a4d hanzo.ai is Hanzo OS: one layer file, one product template
lib/layers.ts is the product: six layers and the Record, each with the operations
api.hanzo.ai serves for it (checked against hanzoai/cloud openapi.yaml),
a request to paste, docs and the site's own pages. /products,
/products/<layer>, the home band, the header's Product menu and the
footer row all read it.

- Header: Product, Developers, Research, Pricing, Enterprise.
- Memory leads with /v1/graph: assert, read, resolve, diff, answer.
- /sql, /kv, /docdb, /vector and the old /products/<category> addresses
  forward through one MOVED table in lib/publish.
- /affiliate and /oss state apps/affiliate's and apps/author's own
  rates; the second pages for the same programmes forward to them.
- No real-person faces on agents, no Lux or Zoo partner logos.
- Orphans linked, dead links and private-repo links removed; sitemap
  gate and nav spec hold both.


Co-authored-by: Hanzo Dev <[email protected]>
2026-09-23 12:23:22 -07:00

84 lines
3.4 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use client'
import { ArrowRight, Activity, AlertTriangle, BarChart3, Eye, Globe, Network, Shield } from 'lucide-react'
import { ProductLanding } from '@/components/product/ProductLanding'
import { ProductFooter } from '@/components/products/ProductFooter'
/**
* Hanzo World, through the ONE product kit.
*
* A fourth cluster of the same duplicated shape — computer, desktop, gallery
* and world scored 83–97% identical on their className sets. Hero, a six-card
* grid, a call to action, written out four times. They now pass one typed
* props object to `ProductLanding` and carry zero layout classes of their own.
* See LLM.md, "Tailwind is NOT gone".
*
* EVERY WORD IS THE ONE THAT WAS HERE, with the same one deletion /node and
* /network took: a trailing "Get started with X" card whose two links were the
* docs and GitHub, both of which the hero and the card above it already reach.
* ProductFooter was nested inside it, so it also rendered narrower than on
* every other product page; out here it is the width it is everywhere else.
*/
export default function HanzoWorldPage() {
return (
<>
<ProductLanding
badge={"world.hanzo.ai"}
badgeIcon={Globe}
title={"Hanzo World"}
tagline={"World Monitor — global AI-system observability"}
lede={"A live map of every model, agent, and AI workload across your organization. Latency, cost, drift and anomalies, shown as they happen, with alerting and forensic replay."}
ctas={[
{ label: "Open World Monitor", href: "https://world.hanzo.ai", icon: ArrowRight },
{ label: "Documentation", href: "https://docs.hanzo.ai/docs/cli/world" },
]}
what={{
title: "See Every Model, Everywhere",
sub: "Every workload you run, on one map.",
pillars: [
{
icon: Eye,
title: "Live Topology",
body: "A real-time map of every model, agent, and tool call. Trace any request from edge to GPU.",
},
{
icon: Activity,
title: "Latency + Cost",
body: "P50/P95/P99 by model and route. Per-org and per-user spend. Auto-anomaly on cost spikes.",
},
{
icon: AlertTriangle,
title: "Drift Detection",
body: "Embedding drift, output drift, prompt drift. Alert when production diverges from baseline.",
},
{
icon: BarChart3,
title: "Eval Dashboards",
body: "Continuous evals on live traffic. Pin scores. Compare model versions in production.",
},
{
icon: Network,
title: "Multi-Cloud",
body: "Pulls signals from Hanzo Cloud, AWS, GCP, Azure, and self-hosted clusters. One unified view.",
},
{
icon: Shield,
title: "Forensic Replay",
body: "Reconstruct any agent session step by step. Inspect tool calls, prompts, model outputs, and IO.",
},
],
}}
finalCta={{
title: "Run AI With Confidence",
sub: "Free for the first million events / month.",
buttons: [
{ label: "Open World Monitor", href: "https://world.hanzo.ai", icon: ArrowRight },
],
}}
/>
<ProductFooter slug={"world"} name={"World"} />
</>
)
}