feat: restructure GPU page layout and simplify content presentation

- Reordered sections to improve information flow (Capabilities → Design → Architecture → Overview)
- Simplified use cases and overview sections by removing redundant bullet points
- Added new GpuCapabilities and GpuDesign components with cleaner, more focused messaging
This commit is contained in:
2025-11-04 16:50:15 +01:00
parent 8b892c9432
commit 865252274c
6 changed files with 253 additions and 115 deletions

View File

@@ -0,0 +1,75 @@
import { Container } from '../../components/Container'
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
const architectureSections = [
{
title: 'Distributed GPU Mesh',
description:
'A peer-to-peer fabric connects GPU nodes across the ThreeFold Grid, exposing them through the Mycelium network.',
bullets: [
'GPU nodes distributed globally for on-demand acceleration.',
'Mycelium network provides encrypted peer-to-peer connectivity.',
'Smart contract orchestration allocates and governs resources.',
'Real-time monitoring tracks utilization and health.',
],
},
{
title: 'Performance Characteristics',
description:
'Consistency and transparency are built into the fabric so workloads behave predictably anywhere on the planet.',
bullets: [
'Edge-to-core deployment flexibility for every workload profile.',
'Adaptive intelligence optimizes allocation automatically.',
'Deterministic performance guarantees availability when booked.',
'Transparent cost tracking for every GPU cycle consumed.',
],
},
]
export function GpuArchitectureArchive() {
return (
<section id="gpu-architecture" className="bg-white py-24 sm:py-32">
<Container>
<div className="mx-auto max-w-3xl text-center">
<Eyebrow>
Technical Architecture
</Eyebrow>
<SectionHeader as="h2" className="mt-6 text-gray-900">
A peer-to-peer mesh purpose-built for acceleration.
</SectionHeader>
<P className="mt-6 text-gray-600">
Mycelium GPU treats every node as part of a sovereign mesh. Encrypted
networking, smart contract orchestration, and transparent monitoring
ensure your workloads receive precisely the power they request.
</P>
</div>
<div className="mt-16 grid gap-8 lg:grid-cols-2">
{architectureSections.map((section) => (
<div
key={section.title}
className="flex h-full flex-col rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
>
<h3 className="text-xl font-semibold text-gray-900">
{section.title}
</h3>
<p className="mt-4 text-sm leading-relaxed text-gray-600">
{section.description}
</p>
<ul className="mt-6 space-y-3 text-sm text-gray-600">
{section.bullets.map((bullet) => (
<li
key={bullet}
className="flex items-start gap-3 rounded-2xl border border-cyan-100 bg-cyan-50/60 p-3 leading-relaxed"
>
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-500" />
<span>{bullet}</span>
</li>
))}
</ul>
</div>
))}
</div>
</Container>
</section>
)
}

View File

@@ -0,0 +1,52 @@
import { Container } from '../../components/Container'
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
const architecture = [
{
title: 'Sovereign Compute Nodes',
description: 'GPUs hosted on hardware you trust.',
},
{
title: 'Encrypted Mesh Networking',
description: 'Secure, private connectivity to workloads.',
},
{
title: 'Reservation & Verification Layer',
description: 'Guarantees GPU access and consistency.',
},
]
export function GpuArchitecture() {
return (
<section id="gpu-architecture" className="bg-white py-24 sm:py-32">
<Container>
<div className="mx-auto max-w-3xl text-center">
<Eyebrow>ARCHITECTURE</Eyebrow>
<SectionHeader as="h2" className="mt-6 text-gray-900">
HOW IT WORKS
</SectionHeader>
<P className="mt-6 text-gray-600">
A sovereign GPU fabric built for transparent access, secure routing,
and guaranteed performanceno opaque clouds or shared queues.
</P>
</div>
<div className="mx-auto mt-16 max-w-4xl space-y-6">
{architecture.map((item) => (
<div
key={item.title}
className="rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
>
<h3 className="text-xl font-semibold text-gray-900">
{item.title}
</h3>
<p className="mt-3 text-sm leading-relaxed text-gray-600">
{item.description}
</p>
</div>
))}
</div>
</Container>
</section>
)
}

View File

@@ -0,0 +1,62 @@
import { Container } from '../../components/Container'
import { Eyebrow, H3, P, CT } from '../../components/Texts'
import {
BoltIcon,
BanknotesIcon,
GlobeAltIcon,
ShieldCheckIcon,
} from '@heroicons/react/24/solid'
const benefits = [
{
name: 'Consistent, reserved GPU performance (no noisy neighbor effects)',
icon: BoltIcon,
},
{
name: 'Transparent cost (no markup, no surprise billing)',
icon: BanknotesIcon,
},
{
name: 'Run anywhere cloud, on-prem, edge, home lab',
icon: GlobeAltIcon,
},
{
name: 'Your data never leaves your control',
icon: ShieldCheckIcon,
},
]
export function GpuDesign() {
return (
<section className="bg-white py-24 sm:py-32">
<Container>
{/* Header */}
<div className="mx-auto max-w-3xl sm:text-center">
<Eyebrow>CORE VALUE</Eyebrow>
<H3 className="mt-4 text-gray-900">GPU Power You Actually Control</H3>
<P className="mt-6 text-gray-600">
Mycelium GPU gives you access to real hardware, not gated queues or
proprietary runtimes.
</P>
</div>
{/* Key Benefits */}
<div className="mx-auto mt-16 max-w-5xl">
<dl className="grid grid-cols-1 gap-12 sm:grid-cols-2 lg:grid-cols-2">
{benefits.map((benefit) => (
<div key={benefit.name} className="relative pl-12">
<benefit.icon
className="absolute left-0 top-1 size-6 text-cyan-600"
aria-hidden="true"
/>
<CT className="font-semibold text-gray-900">
{benefit.name}
</CT>
</div>
))}
</dl>
</div>
</Container>
</section>
)
}

View File

@@ -1,48 +1,30 @@
import {
CodeBracketSquareIcon,
CubeTransparentIcon,
LockClosedIcon,
Squares2X2Icon,
AdjustmentsHorizontalIcon,
GlobeAltIcon,
BanknotesIcon,
} from '@heroicons/react/24/outline'
import { Container } from '../../components/Container'
import { Eyebrow, SectionHeader, P, Small } from '../../components/Texts'
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
const overviewCards = [
const coreFeatures = [
{
label: 'Overview',
title: 'Unified GPU acceleration across the ThreeFold Grid',
name: 'Deterministic GPU Allocation',
description:
'Mycelium GPU aggregates distributed hardware into a single fabric, delivering sovereign acceleration for AI, ML, and rendering workloads.',
'Reserve the GPU type you need and get exactly that, every time.',
icon: AdjustmentsHorizontalIcon,
},
{
label: 'Core Concept',
title: 'Sovereign intelligence layer',
name: 'Multi-Topology Deployment',
description:
'No silos, no intermediaries—just raw, verifiable GPU power orchestrated through smart contracts and APIs you control.',
},
]
const principles = [
{
name: 'No Silos',
description: 'Every GPU resource is accessible through a single interface.',
icon: Squares2X2Icon,
'Run workloads in data centers, at the edge, or on self-hosted nodes.',
icon: GlobeAltIcon,
},
{
name: 'No Intermediaries',
description: 'Direct access to hardware without centralized brokers.',
icon: CubeTransparentIcon,
},
{
name: 'Verifiable Power',
description: 'Every GPU cycle is attested and cryptographically verified.',
icon: LockClosedIcon,
},
{
name: 'Code-Orchestrated',
description: 'Smart contracts and APIs automate allocation and policy.',
icon: CodeBracketSquareIcon,
name: 'Transparent Cost Structure',
description:
'No inflated pricing, no hidden fees, no marketplace brokerage.',
icon: BanknotesIcon,
},
]
@@ -52,52 +34,31 @@ export function GpuOverview() {
<Container>
<div className="mx-auto max-w-3xl text-center">
<Eyebrow className="tracking-[0.32em] uppercase text-cyan-300">
Platform Overview
PLATFORM OVERVIEW
</Eyebrow>
<SectionHeader as="h2" color="light" className="mt-6 font-medium">
The sovereign acceleration layer for intelligent workloads.
Core Features
</SectionHeader>
<P color="lightSecondary" className="mt-6">
Mycelium GPU makes distributed acceleration feel like one machine.
Harness global GPUs with deterministic performance, transparent
costs, and end-to-end verification.
The Mycelium GPU layer provides predictable, sovereign acceleration
without arbitrary limits or hidden economics.
</P>
</div>
<div className="mt-16 grid gap-8 lg:grid-cols-2">
{overviewCards.map((card) => (
<div className="mx-auto mt-16 max-w-5xl grid gap-8 sm:grid-cols-2 lg:grid-cols-3">
{coreFeatures.map((feature) => (
<div
key={card.title}
className="group relative overflow-hidden rounded-3xl border border-white/10 bg-white/[0.04] p-8 backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/[0.08]"
>
<div className="absolute inset-0 bg-gradient-to-br from-cyan-500/0 via-white/[0.05] to-cyan-300/20 opacity-0 transition group-hover:opacity-100" />
<div className="relative">
<Small className="text-xs uppercase tracking-[0.35em] text-cyan-200">
{card.label}
</Small>
<h3 className="mt-4 text-lg font-semibold text-white">
{card.title}
</h3>
<p className="mt-4 text-sm leading-relaxed text-gray-300">
{card.description}
</p>
</div>
</div>
))}
</div>
<div className="mt-16 grid gap-8 sm:grid-cols-2 lg:grid-cols-4">
{principles.map((principle) => (
<div
key={principle.name}
className="rounded-3xl border border-white/10 bg-white/[0.04] p-6 text-left transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/[0.08]"
key={feature.name}
className="rounded-3xl border border-white/10 bg-white/[0.04] p-8 text-left backdrop-blur-sm transition hover:-translate-y-1 hover:border-cyan-300/50 hover:bg-white/[0.08]"
>
<div className="mb-6 flex size-12 items-center justify-center rounded-full bg-cyan-500/15">
<principle.icon aria-hidden="true" className="size-6 text-cyan-300" />
<feature.icon className="size-6 text-cyan-300" aria-hidden="true" />
</div>
<h3 className="text-base font-semibold text-white">
{principle.name}
<h3 className="text-lg font-semibold text-white">
{feature.name}
</h3>
<p className="mt-3 text-sm leading-relaxed text-gray-300">
{principle.description}
{feature.description}
</p>
</div>
))}

View File

@@ -7,6 +7,8 @@ import { GpuUseCases } from './GpuUseCases'
import { GpuGettingStarted } from './GpuGettingStarted'
import { GpuDifferentiators } from './GpuDifferentiators'
import { CallToAction } from './CallToAction'
import { GpuCapabilities } from './GpuCapabilities'
import { GpuDesign } from './GpuDesign'
export default function GpuPage() {
return (
@@ -14,24 +16,39 @@ export default function GpuPage() {
<AnimatedSection>
<GpuHero />
</AnimatedSection>
<AnimatedSection>
<GpuOverview />
<GpuCapabilities />
</AnimatedSection>
<AnimatedSection>
<GpuDesign />
</AnimatedSection>
<AnimatedSection>
<GpuArchitecture />
</AnimatedSection>
<AnimatedSection>
<GpuOverview />
</AnimatedSection>
<AnimatedSection>
<GpuUseCases />
</AnimatedSection>
<AnimatedSection>
<GpuIntegration />
</AnimatedSection>
<AnimatedSection>
<GpuUseCases />
</AnimatedSection>
<AnimatedSection>
<GpuGettingStarted />
</AnimatedSection>
<AnimatedSection>
<GpuDifferentiators />
</AnimatedSection>
<AnimatedSection>
<CallToAction />
</AnimatedSection>

View File

@@ -1,34 +1,18 @@
import { Container } from '../../components/Container'
import { Eyebrow, SectionHeader, P } from '../../components/Texts'
const useCases = [
const gpuUseCases = [
{
title: 'AI / ML Training',
description:
'Scale training, fine-tuning, and inference workloads anywhere on the grid.',
bullets: ['GPU acceleration', 'Scalable compute', 'Cost optimization'],
title: 'AI / ML Training & Inference',
description: 'Scale model execution across sovereign GPU nodes.',
},
{
title: 'Rendering & Visualization',
description:
'Drive high-performance graphics pipelines for media, science, and immersive experiences.',
bullets: [
'Distributed 3D rendering',
'Scientific visualization',
'Real-time VR / AR processing',
'Digital twin simulations',
],
description: 'Run 3D, scientific, simulation, or generative rendering pipelines.',
},
{
title: 'General GPU Computing',
description:
'Harness sovereign acceleration for simulations, finance, blockchain, and research.',
bullets: [
'Scientific simulations',
'Financial modeling',
'Blockchain processing',
'Protein folding and discovery',
],
title: 'Distributed & Edge Compute',
description: 'Place GPU power close to where data is generated.',
},
]
@@ -37,41 +21,28 @@ export function GpuUseCases() {
<section className="bg-white py-24 sm:py-32">
<Container>
<div className="mx-auto max-w-3xl text-center">
<Eyebrow>
Use Cases
</Eyebrow>
<Eyebrow>USE CASES</Eyebrow>
<SectionHeader as="h2" className="mt-6 text-gray-900">
Acceleration for every intelligent workload.
Built for Intelligent Workloads
</SectionHeader>
<P className="mt-6 text-gray-600">
From deep learning to immersive visualization, Mycelium GPU delivers
deterministic access to the power you need without the waitlists or
markups of centralized clouds.
From sovereign AI execution to real-time rendering and edge inference,
Mycelium GPU ensures predictable acceleration with full ownership and no centralized control.
</P>
</div>
<div className="mt-16 grid gap-8 lg:grid-cols-3">
{useCases.map((useCase) => (
<div className="mx-auto mt-16 max-w-4xl space-y-6 lg:space-y-0 lg:grid lg:grid-cols-3 lg:gap-8">
{gpuUseCases.map((useCase) => (
<div
key={useCase.title}
className="flex h-full flex-col rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
className="rounded-3xl border border-slate-200 bg-white p-8 shadow-sm transition hover:-translate-y-1 hover:border-cyan-300 hover:shadow-lg"
>
<h3 className="text-xl font-semibold text-gray-900">
{useCase.title}
</h3>
<p className="mt-4 text-sm leading-relaxed text-gray-600">
<p className="mt-3 text-sm leading-relaxed text-gray-600">
{useCase.description}
</p>
<ul className="mt-6 space-y-3 text-sm text-gray-600">
{useCase.bullets.map((bullet) => (
<li
key={bullet}
className="flex items-start gap-3 rounded-2xl border border-cyan-100 bg-cyan-50/60 p-3 leading-relaxed"
>
<span className="mt-1 inline-block size-2 rounded-full bg-cyan-500" />
<span>{bullet}</span>
</li>
))}
</ul>
</div>
))}
</div>