Files
network/LLM.md
zeekay eb50bbdba8 Draw the cookie banner by the rule cloud serves, with Your Privacy Choices
@hanzo/event 0.3.62 places each visitor under a rule, as @hanzo/ui's
banner draws it. eu keeps the bar and the opt-in sheet. us_privacy draws
no bar: Google Analytics and Meta run by default, and each switch in the
sheet is an opt-out saved as it moves, Ads off being the sale and
sharing opt-out. global draws a one-line notice whose × records it seen.
Nothing is drawn until a rule is known, and with none by 1.5s eu applies.

"Your Privacy Choices", beside California's privacy options icon, is in
the footer, and a page whose footer has none gets it fixed to the foot
of the window.
2026-10-26 02:20:19 -07:00

4.1 KiB
Raw Permalink Blame History

hanzo.network

Marketing site for Hanzo Network, the decentralized AI compute marketplace (hanzo.network). Provides the public-facing site for distributed GPU compute, AI inference, and provider marketplace features.

Stack

  • React 18 + TypeScript (Vite 5, SWC)
  • React Router v6 (client-side routing)
  • Tailwind CSS v4 + Radix UI primitives
  • Framer Motion (animations), Three.js (3D)

Structure

src/
  App.tsx              # Root router -- NetworkLanding as homepage
  pages/
    NetworkLanding.tsx  # Homepage (/) -- GPU compute marketplace landing
    ...                 # Shared pages (same as other Hanzo sites)
  components/          # Shared component library

Key Routes

  • / -- NetworkLanding (decentralized compute: GPU marketplace, pricing, provider network)
  • All other routes -- Shared product/marketing/account pages from common codebase

Commands

pnpm install
pnpm dev            # Vite dev server
pnpm build          # Production build to dist/
node scripts/check.mjs  # the gate CI runs over dist/
pnpm preview
pnpm lint

NetworkLanding Focus

The homepage highlights:

  • Distributed GPU compute (training + inference)
  • Cryptographic verification of workloads
  • Decentralized P2P infrastructure (no single point of failure)
  • Instant scaling (1 to 1000 GPUs)
  • Global edge network (sub-100ms latency)
  • Provider marketplace (contribute idle compute, set prices)
  • Stats: 100K+ GPU hours, 50+ regions, 99.9% SLA, $0.10/GPU-hour

Serving chain

push to main (hanzo-apps/network, GitHub is home)
  -> .github/workflows/cicd.yml   hanzoai/ci build.yml@v2, reads hanzo.yml
       test:  pnpm build + scripts/check.mjs over dist/
       site:  slug `network`, dir dist -> Sites plane (api.hanzo.ai/v1/projects)
  -> s3://hanzo-sites/hanzo/network   org hanzo (hanzo-apps maps to it) + slug
  -> hanzoai/ingress staticFiles      universe infra/aws/routes/sites.yaml,
                                      hanzo-network-static, spaMode (deep links
                                      reach index.html for the router)

No image and no pod. Cloudflare proxies hanzo.network to the AWS balancer.

Sign-in, CTAs, measurement

  • Sign-in is hanzo.ai's page: LOGIN in src/components/Try.tsx (https://hanzo.ai/login, which goes on to pay). /login, /signup, /account/*, /dashboard, /user-profile and /organization-profile render Away, which replaces the location with it. Nothing links to hanzo.id.
  • Every call to action is <Try>: it reads "Try Hanzo" and carries the visitor's anonymous id to hanzo.ai (@hanzo/event link) while Analytics is allowed.
  • Measurement is @hanzo/event, mounted by Measure in src/components/Measure.tsx: the stream to api.hanzo.ai/v1/event (one pageview per route) and the tag manager, which loads GA4 and the Meta Pixel from project network's tag set (/v1/project/tags?key=pk-YJ2e…) after consent. Both name that project's key; before @hanzo/event 0.3.58 the tag request carried none and got no tags, and the stream was filed under hanzo.ai's project. No platform id lives in this repo; scripts/check.mjs fails a build whose index.html names one. The stream is first party and runs for every visitor; Consent (this site's Tailwind copy of @hanzo/ui/consent: bar, Manage preferences sheet, Accept all, × for essential only) words and draws what @hanzo/ui's says and draws, by the rule cloud serves (@hanzo/event consentPolicy().mode): eu the bar and opt-in sheet, us_privacy no bar and an opt-out sheet saved as each switch moves, global a notice whose × records it seen. "Your Privacy Choices" (California's icon) is in the footer and, on a page whose footer has none (the landing), fixed to the foot of the window. Theme tokens for every colour and state, 12px buttons in a 16px card, 13px type.
  • API calls go to api.hanzo.ai/v1 only.

Notes

  • Shares the same component library and routes as hanzo.app, hanzo.id, hanzo.one, and sensei.group. Only NetworkLanding.tsx and index.html metadata are unique.
  • Brand color is cyan (#06b6d4) in the dev console message, vs red for other Hanzo sites.