Publish the storefront to the Sites plane from the forge
Hanzo CI/CD / cicd (push) Waiting to run
CI/CD / cicd (push) Waiting to run

hanzo.yml declares the site: each push to main builds dist/ and
publishes it as project `computer`, which serves computer.hanzo.ai.
.hanzo/workflows/cicd.yml imports hanzoai/ci and is the only workflow.

Removed with it: the GitHub Pages and image workflows, the Dockerfile,
and docs/, a committed Pages build. The FAQ and Solutions copy name
HIPAA without a certification claim, which the certclaims gate refuses.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
zooqueen
2026-09-15 11:18:35 -07:00
co-authored by Hanzo Dev
parent 4cc995925b
commit 8025057289
49 changed files with 26 additions and 7966 deletions
-13
View File
@@ -1,13 +0,0 @@
node_modules
dist
.git
.github
*.md
.env*
.vscode
e2e
tests
test-*.html
test-*.mjs
playwright.config.ts
.playwright-mcp
-21
View File
@@ -1,21 +0,0 @@
name: Build image
# Builds + pushes ghcr.io/hanzoai/computer on a v* semver tag via the
# canonical reusable workflow, natively on the self-hosted arcd fleet
# (NO GitHub-hosted runners). Semver-only tags. Deployable on DOKS.
on:
push:
tags: ['v*']
workflow_dispatch:
permissions:
contents: read
packages: write
id-token: write
jobs:
docker:
uses: hanzoai/.github/.github/workflows/docker-build.yml@main
with:
image: ghcr.io/hanzoai/computer
secrets: inherit
-91
View File
@@ -1,91 +0,0 @@
name: CI/CD
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
name: E2E Tests
continue-on-error: true # App requires Supabase env vars to render
timeout-minutes: 60
runs-on: hanzo-build-linux-amd64
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npm test
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
build:
name: Build
runs-on: hanzo-build-linux-amd64
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
deploy:
name: Deploy to GitHub Pages
needs: [test, build]
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
runs-on: hanzo-deploy-linux-amd64
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/download-artifact@v4
with:
name: dist
path: dist
- uses: actions/configure-pages@v4
- uses: actions/upload-pages-artifact@v3
with:
path: dist
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
-63
View File
@@ -1,63 +0,0 @@
name: Deploy to GitHub Pages
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: hanzo-build-linux-amd64
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
env:
NODE_ENV: production
VITE_SUPABASE_URL: ${{ secrets.VITE_SUPABASE_URL }}
VITE_SUPABASE_ANON_KEY: ${{ secrets.VITE_SUPABASE_ANON_KEY }}
VITE_STRIPE_PUBLISHABLE_KEY: ${{ secrets.VITE_STRIPE_PUBLISHABLE_KEY }}
VITE_SITE_URL: https://hanzo.computer
- name: Add .nojekyll
run: touch dist/.nojekyll
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./dist
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: hanzo-deploy-linux-amd64
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
-72
View File
@@ -1,72 +0,0 @@
name: CI
# Moved from .github/workflows/ci.yml. This forge collects workflows from the
# FIRST of WORKFLOW_DIRS that exists, so once .hanzo/workflows/deploy.yml landed,
# anything left under .github/workflows stopped running here — silently, with a
# green repo. The tests live where the deploy lives.
#
# The `deploy` job that used to close this file (configure-pages +
# upload-pages-artifact + deploy-pages) is GONE, not disabled: hanzo.computer
# ships as ghcr.io/hanzoai/computer via deploy.yml, and a second publisher for one
# host is how a fix lands on the copy nobody is looking at.
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
name: E2E Tests
continue-on-error: true # App requires Supabase env vars to render
timeout-minutes: 60
runs-on: hanzo-build-linux-amd64
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npm test
# v3, not v4+: this workflow runs on git.hanzo.ai, which presents as
# GHES, and the v4 action refuses outright -- "GHESNotSupportedError:
# @actions/artifact v2.0.0+ ... not currently supported on GHES". The
# job builds its artifact and then discards it at the last step, so a
# successful build reads as a failed run.
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
build:
name: Build
runs-on: hanzo-build-linux-amd64
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- name: Install dependencies
run: npm ci
# A compile gate, nothing more. The artifact this job used to upload existed
# only to hand dist/ to the Pages deploy; what ships now is the image.
- name: Build
run: npm run build
+12
View File
@@ -0,0 +1,12 @@
# Every knob lives in /hanzo.yml. Runs on the git-runner fleet at git.hanzo.ai.
name: CI/CD
on:
push:
branches: [main]
tags: ['v*']
pull_request:
workflow_dispatch:
jobs:
cicd:
uses: hanzoai/ci/.github/workflows/build.yml@v1
secrets: inherit
View File
-261
View File
@@ -1,261 +0,0 @@
# Content Improvements - Hanzo.Computer
## Overview
Added three new sections to enhance the site's credibility, address buyer concerns, and improve conversion rates.
## New Sections Added
### 1. Testimonials Section
**Location**: After Image Gallery, before Trust & Security
**File**: `components/Testimonials.tsx`
**Purpose**: Build social proof and credibility
**Features**:
- Three customer testimonials from AI researchers and CTOs
- Professional avatar placeholders with company branding colors
- Quote styling with quotation marks
- Customer details: name, title, company
- Trust metrics displayed prominently:
- **500+ Active Users**
- **50M+ GPU Hours Delivered**
- **99.9% Uptime SLA**
**Design**:
- Glass-morphism cards with hover effects
- Gradient-accented quotation marks
- Responsive 3-column grid (stacks on mobile)
- Centered stats bar with vertical dividers
---
### 2. Trust & Security Section
**Location**: After Testimonials, before Pricing
**File**: `components/TrustSecurity.tsx`
**Purpose**: Address security concerns and enterprise requirements
**Features**:
**Certifications Grid** (4 items):
- SOC 2 Type II - Security, availability, confidentiality
- GDPR Compliant - EU data protection regulations
- ISO 27001 - International information security standard
- HIPAA Available - Healthcare compliance for enterprise
**Security Features Grid** (6 items):
- 🔒 End-to-End Encryption (AES-256, TLS 1.3)
- 🌐 Private Networking (Isolated VPCs)
- 👁️ 24/7 Monitoring (Real-time threat detection)
- 🛡️ Regular Audits (Quarterly third-party audits)
- 🔑 Access Controls (RBAC, 2FA)
- 📍 Data Residency (Choose data center location)
**Trust Statistics**:
- **100% Uptime SLA** - Guaranteed availability for enterprise
- **<15min Incident Response** - Average security resolution time
- **Zero Data Breaches** - Perfect security record since inception
**Design**:
- Enterprise-grade badge with shield icon
- Gradient background (dark-bg to dark-bg/50)
- Icon-based feature cards with hover effects
- Prominent statistical callouts
---
### 3. FAQ Section
**Location**: After Pricing, before Call to Action
**File**: `components/FAQ.tsx`
**Purpose**: Address common questions and reduce sales friction
**Features**:
**8 FAQs covering**:
1. **What's included with DGX Spark?** - Product details, setup time
2. **How does pricing work?** - Payment model, scalability options
3. **Can I scale beyond DGX Spark?** - Upgrade paths, data migration
4. **What kind of support do I get?** - Support tiers by plan
5. **How secure is my data?** - Encryption, certifications, compliance
6. **What happens after 100 hours?** - Top-up options, storage costs
7. **Can I use my own software?** - Root access, framework support
8. **What's your refund policy?** - 7-day guarantee, proration details
**Design**:
- Accordion-style interface (click to expand/collapse)
- Smooth animations with 300ms transitions
- Hover effects with primary color accent
- "Still have questions?" CTA linking to sales contact
- Arrow indicator showing expand/collapse state
**Interaction**:
- One FAQ open by default (first item)
- Click question to toggle answer
- Only one answer visible at a time (closes others automatically)
- Smooth height transitions
---
## Technical Implementation
### Component Structure
```
components/
├── Testimonials.tsx (115 lines, 3.8KB)
├── TrustSecurity.tsx (197 lines, 7.1KB)
└── FAQ.tsx (148 lines, 5.2KB)
```
### Integration
Updated `App.tsx` to include new components in HomePage:
```tsx
<Hero />
<DGXSparkHighlight />
<Partners />
<Features />
<HardwareSpec />
<ImageGallery />
<Testimonials /> // NEW
<TrustSecurity /> // NEW
<Pricing />
<FAQ /> // NEW
<CallToAction />
```
### Design System Consistency
All components use:
- Tailwind CSS v4 utility classes
- Dark theme with `dark-bg` and `dark-border`
- Primary color (`#FF6B35` orange) for accents
- Glass-morphism effects (`bg-black/40 backdrop-blur-sm`)
- Consistent spacing (py-24 for sections)
- Responsive grid layouts
- Smooth hover transitions (300ms)
---
## Benefits & Expected Impact
### Conversion Rate Optimization
1. **Social Proof** (Testimonials) - Reduces uncertainty, shows real-world success
2. **Trust Signals** (Security) - Addresses enterprise concerns, shows compliance
3. **Friction Reduction** (FAQ) - Answers objections before they arise
### SEO Benefits
- More content = better indexing
- FAQ schema-friendly structure
- Keyword coverage: security, compliance, support, pricing
### User Journey Improvements
- **Discovery** → Hero, Features, Hardware
- **Consideration** → Testimonials, Trust & Security
- **Decision** → Pricing, FAQ
- **Action** → Call to Action
---
## Content Strategy
### Voice & Tone
- **Professional yet approachable** - Enterprise-grade without being stuffy
- **Transparent** - Clear pricing, honest limitations, real guarantees
- **Technical precision** - Specific numbers, certifications, technical details
- **Customer-centric** - Focuses on benefits and outcomes
### Trust Building
- **Quantifiable metrics** - 500+ users, 50M+ GPU hours, 99.9% uptime
- **Third-party validation** - SOC 2, GDPR, ISO 27001 certifications
- **Real testimonials** - Specific names, titles, companies (with realistic placeholders)
- **Money-back guarantee** - 7-day refund policy explicitly stated
### Objection Handling
The FAQ section specifically addresses:
- Cost concerns (pricing model, refunds)
- Technical concerns (software compatibility, root access)
- Support concerns (response times, SLA tiers)
- Security concerns (encryption, compliance)
- Scalability concerns (upgrade paths, data migration)
---
## Next Steps (Future Enhancements)
### Phase 2 - Deepen Content
1. **Case Studies Page** - Detailed customer success stories
2. **Technical Documentation Hub** - Getting started guides, API docs
3. **Comparison Tables** - DGX Spark vs competitors, GPU comparison
4. **Video Content** - Product demos, customer testimonials
5. **Blog/Resource Center** - AI/ML tutorials, industry insights
### Phase 3 - Interactive Elements
1. **ROI Calculator** - Help customers calculate cost savings
2. **Configuration Builder** - Interactive SuperPOD builder
3. **Live Chat** - Real-time sales/support assistance
4. **Customer Portal Preview** - Screenshots of dashboard/interface
### Phase 4 - Personalization
1. **Industry-Specific Landing Pages** - Research, Healthcare, Finance
2. **Use Case Galleries** - LLM training, computer vision, robotics
3. **Customer Segmentation** - Different CTAs for startups vs enterprise
---
## Deployment Checklist
- [x] Components created and tested
- [x] Build successful (344KB JS, 42KB CSS)
- [x] Integrated into App.tsx
- [ ] Push to GitHub (triggers CI/CD)
- [ ] Verify deployment on hanzo.computer
- [ ] Test all interactive elements (FAQ accordions, hover states)
- [ ] Mobile responsiveness check
- [ ] Performance audit (Lighthouse)
- [ ] Cross-browser testing
---
## Metrics to Monitor Post-Deployment
### Conversion Metrics
- Add to Cart click rate
- Checkout completion rate
- Average time to purchase decision
- Bounce rate by section
### Engagement Metrics
- FAQ accordion interaction rate
- Most viewed FAQs
- Scroll depth (% reaching each section)
- Time on page
### Trust Indicators
- Security section dwell time
- Testimonials section interaction
- Support contact form submissions
---
## Files Modified
```
Modified:
- App.tsx (added imports and section placement)
Created:
- components/Testimonials.tsx
- components/TrustSecurity.tsx
- components/FAQ.tsx
- CONTENT_IMPROVEMENTS.md (this file)
```
---
## Summary
Added **3 high-impact sections** that address the complete customer journey:
1. **Testimonials** - Build credibility through social proof
2. **Trust & Security** - Address enterprise security concerns
3. **FAQ** - Reduce friction by answering common questions
These additions enhance the site's professionalism, address buyer objections proactively, and provide the information needed to make confident purchasing decisions. The content maintains Hanzo's technical precision while being accessible to both technical and business audiences.
-12
View File
@@ -1,12 +0,0 @@
# syntax=docker/dockerfile:1
# hanzo.computer (Vite + React 19 SPA) — served via the canonical hanzoai/spa
# static server (one way for static SPAs). No node runtime in the final stage.
# The repo api/ dir holds Vercel serverless funcs (hosted deploy only); the
# container ships ONLY the static SPA bundle.
FROM node:22-slim AS build
WORKDIR /app
COPY . .
RUN npm ci
RUN npm run build
FROM ghcr.io/hanzoai/spa
COPY --from=build /app/dist /public
+1 -1
View File
@@ -23,7 +23,7 @@ const FAQ: React.FC = () => {
},
{
question: "How secure is my data?",
answer: "All data is encrypted at rest (AES-256) and in transit (TLS 1.3). Each instance is isolated with dedicated VPC networking. We run SOC 2 Type II controls — role-based access control and audit logging on top of that encryption — and we are GDPR compliant. Formal certification, including HIPAA with a BAA, is scoped per enterprise engagement. Tell us what your procurement needs."
answer: "All data is encrypted at rest (AES-256) and in transit (TLS 1.3). Each instance is isolated with dedicated VPC networking. We run SOC 2 Type II controls, with role-based access control and audit logging on top of that encryption, and we are GDPR compliant. HIPAA with a BAA is arranged per enterprise engagement. Tell us what your procurement needs."
},
{
question: "What happens after 100 hours?",
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 395 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 KiB

-1
View File
@@ -1 +0,0 @@
hanzo.computer
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 539 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="2500" height="422" viewBox="0 0 1002 169"><path d="M84.16 169v-32.88c34.86 0 61.75-34.37 48.31-70.74A49 49 0 0 0 103.09 36a51.94 51.94 0 0 0-70.22 48.31H0c0-54.8 53.29-98.14 111.55-80.2a81.43 81.43 0 0 1 53.29 53.3C182.77 115.7 139.44 169 84.16 169z" fill="#0080ff"/><path d="M84.66 136.12H51.79v-32.38h32.87m-32.87 57.79h-24.9v-25.41h24.9v25.41m-24.9-25.41H6V115.2h20.89M300.3 48.94c-9.46-6.48-21.91-10-35.86-10h-30.37v97.14h30.38q20.92 0 35.86-10.46a38.11 38.11 0 0 0 12.45-15.44c3-6.48 4.48-14.45 4.48-22.92s-1.49-16.44-4.48-22.42c-3-7.43-6.98-12.41-12.46-15.9zM252 55.42h9.46c10.46 0 19.42 2 26.39 6.48 7.47 4.48 11 13 11 25.41s-4 21.42-11 26.4c-6.47 4-14.94 6.48-25.9 6.48H252V55.42m86.65-17.93a10.13 10.13 0 0 0-7.47 3 9 9 0 0 0-3.49 7.47 10.46 10.46 0 1 0 20.92 0 10.14 10.14 0 0 0-3-7.47c-1.49-2-4-3-7-3m-9 29.89h17.43v68.25h-17.36V67.38m79.68 6c-5-4.48-11-7.47-17.43-7.47a30.82 30.82 0 0 0-23.41 10 34.69 34.69 0 0 0-9.46 24.41c0 9.47 3 17.93 9 24.41s13.94 9.47 23.41 9.47a27.56 27.56 0 0 0 16.93-5.48v1.49c0 5.48-1.49 10-4.48 13s-7 4.48-12.45 4.48c-8 0-12.95-3-18.92-11.46l-12 11.46.5.5c2.49 3.49 6.47 7 11.45 10.46s11.45 5 18.92 5c10.46 0 18.43-3 24.4-9.47s9.46-14.45 9.46-24.91V67.38h-16.91v6h1m-4.48 40.35c-3 3.49-7 5-12 5s-9-1.49-12-5-4.48-8-4.48-13.45S378 90.29 381 86.8s7-5 12-5 9 1.49 12 5 4.48 8 4.48 13.45-1.49 10-4.48 13.45m36.35-46.33h17.43v68.25h-17.54V67.38m8.47-29.89a10.21 10.21 0 0 0-10.46 10.46 10.46 10.46 0 1 0 20.92 0 10.21 10.21 0 0 0-10.47-10.46M496 48.94h-16.91v18.44h-10v15.44h10v28.4c0 9 2 15.44 5.48 18.93s10 5.48 18.43 5.48a48.3 48.3 0 0 0 8.47-.5h1v-15.45l-6 .5c-4 0-7-.5-8-2-1.49-1.49-2-4.48-2-9V83.32h15.94V67.87h-15.89L496 48.94m96.61-10h17.43v97.14h-17.41V39m191.24 72.73a57.76 57.76 0 0 1-8.47 8 17.19 17.19 0 0 1-9 2.49 17 17 0 0 1-12.4-5.53c-3.49-4-5-8.47-5-14.45s1.49-10.46 5-14.45a15.31 15.31 0 0 1 12.45-5.48c5.48 0 11.45 3.49 16.43 9.47l11.45-11c-7.47-9.47-16.93-13.95-28.39-13.95-9.46 0-17.43 3.49-24.4 10.46a36.2 36.2 0 0 0-10 25.41c0 10 3.49 18.93 10 25.41a32.39 32.39 0 0 0 24.4 10.46c12.45 0 22.41-5.48 29.38-15.44l-11.45-11.46m70.22-34.37a26.22 26.22 0 0 0-10-8 32.5 32.5 0 0 0-14.44-3c-9.46 0-17.43 3.49-23.41 10.46a40 40 0 0 0-8.47 25.41c0 10.46 3 18.93 9.46 25.41s14.44 10 24.9 10c11.45 0 20.92-4.48 28.39-13.95l.5-.5-11.45-11c-1 1.49-2.49 2.49-4 4a15.18 15.18 0 0 1-5 3.49 16.36 16.36 0 0 1-8.47 2 19.17 19.17 0 0 1-12-4c-3-2.49-4.48-6-5-10.46h45.82v-6.48a37.16 37.16 0 0 0-2-13 22.59 22.59 0 0 0-5-10.46m-37.18 16.06a17.64 17.64 0 0 1 4.48-8 12 12 0 0 1 9-3.49c4 0 7.47 1 9.46 3.49 2 2 3 5 3.49 8h-26.43m103.59-20.43c-5-4.48-12.45-6.48-21.41-6.48a43.59 43.59 0 0 0-15.92 3.5c-4.48 2.49-9 6-11.45 11l11 10.46c4.48-7.47 9.46-10 16.43-10a13.9 13.9 0 0 1 9 3 9 9 0 0 1 3.49 7.47v3.49a38.13 38.13 0 0 0-12.45-2q-12.7 0-20.92 6c-5.48 4-8 10-8 16.94 0 6.48 2 11.46 6.47 15.44s10 5.48 16.43 5.48 12.45-2.49 18.43-7v5.48h16.93V91.79c0-8-2.49-14.45-8-18.93m-30.38 36.86c2-1.49 4.48-2 8-2a42.37 42.37 0 0 1 12.95 2.49v6.48a22 22 0 0 1-14.94 5.48c-3 0-5.48-.5-7-2s-2.49-3-2.49-5a8.17 8.17 0 0 1 3.49-5.48m104.54-35.84c-5-5.48-11.45-8-19.92-8q-10.46 0-16.43 6v-4h-16.94v68.25h17.43V98.26c0-5 1-9.47 3.49-12.45a12.54 12.54 0 0 1 10-4.48 10.94 10.94 0 0 1 9 4 18 18 0 0 1 3.49 11v39.85H1002V96.27q-.75-14.2-7.47-22.42m-423.31-1c-5-4.48-12.45-6.48-21.41-6.48a43.59 43.59 0 0 0-15.94 3.49c-4.48 2.49-9 6-11.45 11l11 10.46c4.48-7.47 9.46-10 16.43-10a13.9 13.9 0 0 1 9 3 9 9 0 0 1 3.49 7.47v3.49a38.13 38.13 0 0 0-12.45-2q-12.7 0-20.92 6c-5.48 4-8 10-8 16.94 0 6.48 2 11.46 6.47 15.44s10 5.48 16.43 5.48 12.45-2.49 18.43-7v5.48h16.93V91.79c0-8-3-14.45-8-18.93m-30.88 36.86c2-1.49 4.48-2 8-2a42.37 42.37 0 0 1 12.95 2.49v6.48a22 22 0 0 1-14.94 5.48c-3 0-5.48-.5-7-2s-2.49-3-2.49-5a14.84 14.84 0 0 1 3.49-5.48m132 27.9a49.82 49.82 0 1 1 49.8-49.82 50 50 0 0 1-49.8 49.82m0-82.69a32.38 32.38 0 1 0 32.33 32.4 32.31 32.31 0 0 0-32.37-32.38" fill="#0080ff"/></svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

-6
View File
@@ -1,6 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 50" fill="none">
<g fill="#FFFFFF">
<!-- DigitalOcean text -->
<text x="10" y="32" font-family="Arial, sans-serif" font-size="24" font-weight="600">DigitalOcean</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 249 B

-12
View File
@@ -1,12 +0,0 @@
<svg viewBox="0 0 67 67" xmlns="http://www.w3.org/2000/svg">
<rect width="67" height="67" fill="#000000"/>
<g>
<path d="M17 54V36.1H4V54H17Z" fill="#ffffff"/>
<path d="M4 36.1L17 37.6V36.1H4Z" fill="#DDDDDD" opacity="0.7"/>
<path d="M53.6 17.4H17.2L4 36.1H40.3L53.6 17.4Z" fill="#ffffff"/>
<path d="M17 4H4V17.4H17V4Z" fill="#ffffff"/>
<path d="M53.6 4H40.4V17.4H53.6V4Z" fill="#ffffff"/>
<path d="M53.6 17.4L40.4 15.7V17.4H53.6Z" fill="#DDDDDD" opacity="0.7"/>
<path d="M53.6 54V36.1H40.4V54H53.6Z" fill="#ffffff"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 686 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 KiB

-9
View File
@@ -1,9 +0,0 @@
<svg viewBox="0 0 67 67" xmlns="http://www.w3.org/2000/svg">
<path d="M22.21 67V44.6369H0V67H22.21Z" fill="#ffffff"/>
<path d="M0 44.6369L22.21 46.8285V44.6369H0Z" fill="#DDDDDD" opacity="0.7"/>
<path d="M66.7038 22.3184H22.2534L0.0878906 44.6367H44.4634L66.7038 22.3184Z" fill="#ffffff"/>
<path d="M22.21 0H0V22.3184H22.21V0Z" fill="#ffffff"/>
<path d="M66.7198 0H44.5098V22.3184H66.7198V0Z" fill="#ffffff"/>
<path d="M66.6753 22.3185L44.5098 20.0822V22.3185H66.6753Z" fill="#DDDDDD" opacity="0.7"/>
<path d="M66.7198 67V44.6369H44.5098V67H66.7198Z" fill="#ffffff"/>
</svg>

Before

Width:  |  Height:  |  Size: 589 B

-42
View File
@@ -1,42 +0,0 @@
# NVIDIA Images Manifest
## DGX Systems
- nvidia-dgx-spark-and-dgx-station.jpg (378KB)
- nvidia-dgx-spark-and-nvidia-dgx-station.jpg (131KB) - duplicate
- nvidia-dgx-superpod.jpg (146KB)
- 2u-nvidia-rtx-pro-server.jpg (395KB)
## H200/H100 GPUs
- h200-nvl.jpg (309KB)
- nvidia-blackwell-ultra.jpg (209KB)
## RTX Pro Products
- nvidia-rtx-pro-6000-blackwell-server-edition-gpu.jpg (150KB)
- rtx-pro-2000-blackwell.png (2.0MB)
- rtx-pro-4000-blackwell-sff.png (1.5MB)
- rtx-pro-enterprise-it.png (627KB)
## Technology Showcases
- robotics-and-omniverse.jpg (2.0MB)
- industrial-ai.png (941KB)
- nvidia-ai-data-platform.jpg (671KB)
- quantum-computing.jpg (367KB)
- B-R4-Ros-IsaacSim-2024_oneoff.png (41KB)
- jetson-thor.png (1.2MB)
## Networking & Infrastructure
- nvlink-fusion.jpg (406KB)
- silicon-photonics-networking.jpg (408KB)
- spectrum-xgs.png (512KB)
## Data Center & Cloud
- European AI Infrastructure.jpg (539KB)
- gtc-paris-dgx-cloud-lepton.jpg (247KB)
- CUDA-x Data Science Image.jpg (1.0MB)
## Gaming/Consumer
- geforce-now-gamescom-2025.jpg (686KB)
- BFGD KV.jpg (15MB) - NEEDS OPTIMIZATION
## Manufacturing
- tsmc-chip.jpg (83KB)
-43
View File
@@ -1,43 +0,0 @@
<!DOCTYPE html>
<html lang="en" class="scroll-smooth">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Primary Meta Tags -->
<title>Hanzo - AI Supercomputing | Blackwell, Hopper, DGX GPU Access</title>
<meta name="title" content="Hanzo - AI Supercomputing | Blackwell, Hopper, DGX GPU Access" />
<meta name="description" content="Access NVIDIA Blackwell B200, B300, GB200 NVL72, and DGX Spark GPUs on-demand. Enterprise AI infrastructure by Hanzo.AI starting at $3,999." />
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://hanzo.computer/" />
<meta property="og:title" content="Hanzo - AI Supercomputing | Blackwell, Hopper, DGX GPU Access" />
<meta property="og:description" content="Access NVIDIA Blackwell B200, B300, GB200 NVL72, and DGX Spark GPUs on-demand. Enterprise AI infrastructure by Hanzo.AI starting at $3,999." />
<meta property="og:image" content="https://hanzo.computer/og-image.jpg" />
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content="https://hanzo.computer/" />
<meta property="twitter:title" content="Hanzo - AI Supercomputing | Blackwell, Hopper, DGX GPU Access" />
<meta property="twitter:description" content="Access NVIDIA Blackwell B200, B300, GB200 NVL72, and DGX Spark GPUs on-demand. Enterprise AI infrastructure by Hanzo.AI starting at $3,999." />
<meta property="twitter:image" content="https://hanzo.computer/og-image.jpg" />
<meta name="twitter:site" content="@hanzoai" />
<!-- Additional Meta Tags -->
<meta name="keywords" content="AI supercomputing, NVIDIA DGX, H100 GPU, H200 GPU, Blackwell, B200, B300, GB200, GB300, DGX Spark, Vera Rubin, GPU rental, AI infrastructure, machine learning, deep learning, cloud GPU" />
<meta name="author" content="Hanzo Industries Inc" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="https://hanzo.computer/" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<script type="module" crossorigin src="/assets/index-DMDQJq7E.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-Z_4HI4Em.css">
</head>
<body class="bg-dark-bg">
<div id="root"></div>
</body>
</html>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 670 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 378 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

-14
View File
@@ -1,14 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 80" fill="none">
<!-- NVIDIA logo in green -->
<g fill="#76B900">
<path d="M5 10v40h5V22.5l4 .025c1.3 0 2.2.3 2.85 1 .8.85 1.1 2.2 1.1 4.7v21.75h5V26.5c0-7-4.5-8-8.8-8H5z"/>
<path d="M27.5 50h5V10h-5v40z"/>
<path d="M37.5 10l-4.2 14-4.2-14h-5.5l5.75 17.75h7.25L42.5 10h-5z"/>
<path d="M47.5 10v40h8.1c4.35 0 5.75-.7 7.25-2.35 1.1-1.15 1.8-3.65 1.8-6.35 0-2.5-.6-4.75-1.65-6.1-1.4-1.75-4.25-2.45-8.35-2.45H47.5V10zm5 3.85h2.15c3.15 0 5.15 1.4 5.15 5.05s-2 5.05-5.15 5.05H52.5V13.85z"/>
<path d="M70 50h5V10h-5v40z"/>
<path d="M82.5 10l-7 17.75h4.95l1.1-3.15h8.25l1.05 3.15h5.35L88.5 10h-6zm3.25 3.25l3.05 8.3h-6.15l3.1-8.3z"/>
</g>
<!-- INCEPTION PROGRAM text in white, smaller font -->
<text x="5" y="70" fill="#FFFFFF" font-family="Arial, sans-serif" font-size="8" font-weight="600" letter-spacing="1">INCEPTION PROGRAM</text>
</svg>

Before

Width:  |  Height:  |  Size: 929 B

File diff suppressed because it is too large Load Diff
-4
View File
@@ -1,4 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-146.205 -44.925 1267.11 269.55">
<path d="M962.1 144.1v-2.7h1.7c.9 0 2.2.1 2.2 1.2 0 1.1-.7 1.5-1.8 1.5h-2.1m0 1.9h1.2l2.7 4.7h2.9l-3-4.9c1.5.1 2.7-1 2.8-2.5v-.4c0-2.6-1.8-3.4-4.8-3.4h-4.3v11.2h2.5V146m12.6-.9c0-6.6-5.1-10.4-10.8-10.4-5.7 0-10.8 3.8-10.8 10.4 0 6.6 5.1 10.4 10.8 10.4 5.7 0 10.8-3.8 10.8-10.4m-3.2 0c.2 4.2-3.1 7.8-7.3 8h-.3c-4.4.2-8.1-3.3-8.3-7.7-.2-4.4 3.3-8.1 7.7-8.3 4.4-.2 8.1 3.3 8.3 7.7-.1.1-.1.2-.1.3zM578.2 34v118h33.3V34zm-262-.2v118.1h33.6V60.2l26.2.1c8.6 0 14.6 2.1 18.7 6.5 5.3 5.6 7.4 14.7 7.4 31.2v53.9h32.6V86.7c0-46.6-29.7-52.9-58.7-52.9zm315.7.2v118h54c28.8 0 38.2-4.8 48.3-15.5 7.2-7.5 11.8-24.1 11.8-42.2 0-16.6-3.9-31.4-10.8-40.6C723 37.2 705.2 34 678.6 34zm33 25.6h14.3c20.8 0 34.2 9.3 34.2 33.5s-13.4 33.6-34.2 33.6h-14.3zM530.2 34l-27.8 93.5L475.8 34h-36l38 118h48l38.4-118zm231.4 118h33.3V34h-33.3zM855 34l-46.5 117.9h32.8l7.4-20.9h55l7 20.8h35.7L899.5 34zm21.6 21.5l20.2 55.2h-41z" fill="#FFF"/>
<path d="M101.3 53.6V37.4c1.6-.1 3.2-.2 4.8-.2 44.4-1.4 73.5 38.2 73.5 38.2S148.2 119 114.5 119c-4.5 0-8.9-.7-13.1-2.1V67.7c17.3 2.1 20.8 9.7 31.1 27l23.1-19.4s-16.9-22.1-45.3-22.1c-3-.1-6 .1-9 .4m0-53.6v24.2l4.8-.3c61.7-2.1 102 50.6 102 50.6s-46.2 56.2-94.3 56.2c-4.2 0-8.3-.4-12.4-1.1v15c3.4.4 6.9.7 10.3.7 44.8 0 77.2-22.9 108.6-49.9 5.2 4.2 26.5 14.3 30.9 18.7-29.8 25-99.3 45.1-138.7 45.1-3.8 0-7.4-.2-11-.6v21.1h170.2V0zm0 116.9v12.8c-41.4-7.4-52.9-50.5-52.9-50.5s19.9-22 52.9-25.6v14h-.1c-17.3-2.1-30.9 14.1-30.9 14.1s7.7 27.3 31 35.2M27.8 77.4s24.5-36.2 73.6-40V24.2C47 28.6 0 74.6 0 74.6s26.6 77 101.3 84v-14c-54.8-6.8-73.5-67.2-73.5-67.2z" fill="#76B900"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="316.2 33.8 630.2 118.2" xmlns:v="https://vecta.io/nano"><path d="M578.2 34v118h33.3V34h-33.3zm-262-.2v118.1h33.6V60.2l26.2.1c8.6 0 14.6 2.1 18.7 6.5 5.3 5.6 7.4 14.7 7.4 31.2v53.9h32.6V86.7c0-46.6-29.7-52.9-58.7-52.9h-59.8zm315.7.2v118h54c28.8 0 38.2-4.8 48.3-15.5 7.2-7.5 11.8-24.1 11.8-42.2 0-16.6-3.9-31.4-10.8-40.6C723 37.2 705.2 34 678.6 34h-46.7zm33 25.6h14.3c20.8 0 34.2 9.3 34.2 33.5s-13.4 33.6-34.2 33.6h-14.3V59.6zM530.2 34l-27.8 93.5L475.8 34h-36l38 118h48l38.4-118h-34zm231.4 118h33.3V34h-33.3v118zM855 34l-46.5 117.9h32.8l7.4-20.9h55l7 20.8h35.7L899.5 34H855zm21.6 21.5l20.2 55.2h-41l20.8-55.2z"/></svg>

Before

Width:  |  Height:  |  Size: 665 B

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="800" width="1200" viewBox="-146.205 -44.925 1267.11 269.55" style="background-color: #222"><path d="M962.1 144.1v-2.7h1.7c.9 0 2.2.1 2.2 1.2 0 1.1-.7 1.5-1.8 1.5h-2.1m0 1.9h1.2l2.7 4.7h2.9l-3-4.9c1.5.1 2.7-1 2.8-2.5v-.4c0-2.6-1.8-3.4-4.8-3.4h-4.3v11.2h2.5V146m12.6-.9c0-6.6-5.1-10.4-10.8-10.4-5.7 0-10.8 3.8-10.8 10.4 0 6.6 5.1 10.4 10.8 10.4 5.7 0 10.8-3.8 10.8-10.4m-3.2 0c.2 4.2-3.1 7.8-7.3 8h-.3c-4.4.2-8.1-3.3-8.3-7.7-.2-4.4 3.3-8.1 7.7-8.3 4.4-.2 8.1 3.3 8.3 7.7-.1.1-.1.2-.1.3zM578.2 34v118h33.3V34zm-262-.2v118.1h33.6V60.2l26.2.1c8.6 0 14.6 2.1 18.7 6.5 5.3 5.6 7.4 14.7 7.4 31.2v53.9h32.6V86.7c0-46.6-29.7-52.9-58.7-52.9zm315.7.2v118h54c28.8 0 38.2-4.8 48.3-15.5 7.2-7.5 11.8-24.1 11.8-42.2 0-16.6-3.9-31.4-10.8-40.6C723 37.2 705.2 34 678.6 34zm33 25.6h14.3c20.8 0 34.2 9.3 34.2 33.5s-13.4 33.6-34.2 33.6h-14.3zM530.2 34l-27.8 93.5L475.8 34h-36l38 118h48l38.4-118zm231.4 118h33.3V34h-33.3zM855 34l-46.5 117.9h32.8l7.4-20.9h55l7 20.8h35.7L899.5 34zm21.6 21.5l20.2 55.2h-41z" fill="#FFF"/><path d="M101.3 53.6V37.4c1.6-.1 3.2-.2 4.8-.2 44.4-1.4 73.5 38.2 73.5 38.2S148.2 119 114.5 119c-4.5 0-8.9-.7-13.1-2.1V67.7c17.3 2.1 20.8 9.7 31.1 27l23.1-19.4s-16.9-22.1-45.3-22.1c-3-.1-6 .1-9 .4m0-53.6v24.2l4.8-.3c61.7-2.1 102 50.6 102 50.6s-46.2 56.2-94.3 56.2c-4.2 0-8.3-.4-12.4-1.1v15c3.4.4 6.9.7 10.3.7 44.8 0 77.2-22.9 108.6-49.9 5.2 4.2 26.5 14.3 30.9 18.7-29.8 25-99.3 45.1-138.7 45.1-3.8 0-7.4-.2-11-.6v21.1h170.2V0zm0 116.9v12.8c-41.4-7.4-52.9-50.5-52.9-50.5s19.9-22 52.9-25.6v14h-.1c-17.3-2.1-30.9 14.1-30.9 14.1s7.7 27.3 31 35.2M27.8 77.4s24.5-36.2 73.6-40V24.2C47 28.6 0 74.6 0 74.6s26.6 77 101.3 84v-14c-54.8-6.8-73.5-67.2-73.5-67.2z" fill="#76B900"/></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 KiB

-155
View File
@@ -1,155 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1200px;
height: 630px;
background: linear-gradient(135deg, #0a0a0f 0%, #1a1a2e 100%);
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
}
.bg-blur {
position: absolute;
border-radius: 50%;
filter: blur(150px);
}
.bg-blur-1 {
top: -20%;
left: -10%;
width: 50%;
height: 50%;
background: rgba(45, 106, 227, 0.15);
}
.bg-blur-2 {
bottom: -20%;
right: -10%;
width: 50%;
height: 50%;
background: rgba(0, 255, 155, 0.15);
}
.content {
position: relative;
z-index: 10;
text-align: center;
padding: 60px;
max-width: 1000px;
}
.logo {
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
margin-bottom: 40px;
}
.logo svg {
width: 64px;
height: 64px;
fill: white;
}
.logo-text {
font-size: 48px;
font-weight: 800;
color: white;
letter-spacing: 1px;
}
.title {
font-size: 72px;
font-weight: 800;
color: white;
margin-bottom: 30px;
line-height: 1.1;
}
.highlight {
color: #00ff9b;
}
.subtitle {
font-size: 32px;
color: #a0a0a0;
margin-bottom: 40px;
line-height: 1.4;
}
.badges {
display: flex;
justify-content: center;
gap: 30px;
flex-wrap: wrap;
}
.badge {
background: rgba(0, 255, 155, 0.1);
border: 2px solid rgba(0, 255, 155, 0.3);
padding: 12px 30px;
border-radius: 50px;
font-size: 20px;
font-weight: 600;
color: #00ff9b;
display: flex;
align-items: center;
gap: 12px;
}
.badge svg {
width: 24px;
height: 24px;
fill: #00ff9b;
}
</style>
</head>
<body>
<div class="bg-blur bg-blur-1"></div>
<div class="bg-blur bg-blur-2"></div>
<div class="content">
<div class="logo">
<svg viewBox="0 0 67 67" xmlns="http://www.w3.org/2000/svg">
<path d="M22.21 67V44.6369H0V67H22.21Z"></path>
<path d="M0 44.6369L22.21 46.8285V44.6369H0Z" opacity="0.7"></path>
<path d="M66.7038 22.3184H22.2534L0.0878906 44.6367H44.4634L66.7038 22.3184Z"></path>
<path d="M22.21 0H0V22.3184H22.21V0Z"></path>
<path d="M66.7198 0H44.5098V22.3184H66.7198V0Z"></path>
<path d="M66.6753 22.3185L44.5098 20.0822V22.3185H66.6753Z" opacity="0.7"></path>
<path d="M66.7198 67V44.6369H44.5098V67H66.7198Z"></path>
</svg>
<div class="logo-text">Hanzo</div>
</div>
<h1 class="title">
AI Supercomputing<br>
<span class="highlight">On Your Terms</span>
</h1>
<p class="subtitle">
Access NVIDIA DGX, H100 & H200 GPUs<br>
Starting at $3,999
</p>
<div class="badges">
<div class="badge">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M13 10V3L4 14h7v7l9-11h-7z"/>
</svg>
DGX Spark
</div>
<div class="badge">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<rect x="2" y="7" width="20" height="14" rx="2" ry="2"/>
<path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/>
</svg>
H100 & H200
</div>
<div class="badge">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<circle cx="12" cy="12" r="10"/>
<polyline points="12 6 12 12 16 14"/>
</svg>
On-Demand
</div>
</div>
</div>
</body>
</html>
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 KiB

-8
View File
@@ -1,8 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 50" fill="none">
<g fill="#FFFFFF">
<!-- techstars text -->
<text x="5" y="32" font-family="Arial, sans-serif" font-size="28" font-weight="700" letter-spacing="-0.5">techstars</text>
<!-- Correct underscore aligned with text -->
<rect x="5" y="38" width="185" height="3" fill="#00C9FF"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

+12
View File
@@ -0,0 +1,12 @@
# Read by hanzoai/ci (.hanzo/workflows/cicd.yml). The storefront is a Vite SPA
# with no server: each push to main builds dist/ and publishes it to the Sites
# plane as project `computer`, which serves computer.hanzo.ai.
site:
slug: computer
dir: dist
build: npm ci && npm run build
on: [main]
# The KMS tenant that holds the Sites plane deploy token.
kms:
org: hanzo
+1 -1
View File
@@ -69,7 +69,7 @@ const Solutions: React.FC = () => {
<h3 className="text-2xl font-bold text-white mb-4">Healthcare & Life Sciences</h3>
<p className="text-gray-400 mb-6">
Infrastructure for medical imaging analysis, drug discovery, genomics research,
and clinical decision support systems. HIPAA with a BAA is scoped per engagement.
and clinical decision support systems. HIPAA with a BAA is arranged per engagement.
</p>
<ul className="space-y-2 text-sm text-gray-400">
<li className="flex items-start">