diff --git a/public/images/pages/screencapture-localhost-5175-2025-11-01-21_45_20.png b/public/images/pages/screencapture-localhost-5175-2025-11-01-21_45_20.png new file mode 100644 index 0000000..8d9d48d Binary files /dev/null and b/public/images/pages/screencapture-localhost-5175-2025-11-01-21_45_20.png differ diff --git a/src/components/Texts.tsx b/src/components/Texts.tsx index 8410884..f69d585 100644 --- a/src/components/Texts.tsx +++ b/src/components/Texts.tsx @@ -163,4 +163,4 @@ export const DownloadCardDescription = createTextComponent( ) export const CT = createTextComponent('span', 'text-lg lg:text-xl font-semibold') -export const CP = createTextComponent('p', 'text-sm lg:text-base tracking-wide leading-relaxed font-light') +export const CP = createTextComponent('p', 'text-sm lg:text-base tracking-wide leading-tight font-light') diff --git a/src/pages/cloud/CloudArchitecture.tsx b/src/pages/cloud/CloudArchitecture.tsx index 43070a5..674139a 100644 --- a/src/pages/cloud/CloudArchitecture.tsx +++ b/src/pages/cloud/CloudArchitecture.tsx @@ -59,7 +59,7 @@ export function CloudArchitecture() { {architectureSections.map((section) => (
diff --git a/src/pages/home/HomeComparisonTable.tsx b/src/pages/home/HomeComparisonTable.tsx new file mode 100644 index 0000000..adfd0a9 --- /dev/null +++ b/src/pages/home/HomeComparisonTable.tsx @@ -0,0 +1,60 @@ +import { CheckIcon, XMarkIcon } from '@heroicons/react/24/outline' +import { Eyebrow, H3, P, CT } from '../../components/Texts' + +const features = [ + { name: 'Infrastructure Ownership', cloud: , mycelium: }, + { name: 'Data Stays Local & Encrypted', cloud: , mycelium: }, + { name: 'Private AI & LLMs on Your Own Hardware', cloud: , mycelium: }, + { name: 'Self-Healing, No Single Point of Failure', cloud: , mycelium: }, + { name: 'Zero-Trust, Cryptographic Identity', cloud: , mycelium: }, + { name: 'Censorship-Resistant', cloud: , mycelium: }, + { name: 'Standard Tooling (Kube, S3, Agents)', cloud: , mycelium: }, + { name: 'Vendor Lock-In', cloud: , mycelium: }, + { name: 'One-Time Hardware Cost (No Rent Forever)', cloud: , mycelium: }, +] + +export function HomeComparisonTable() { + return ( +
+
+ COMPARISON +

Why People Choose Mycelium

+

+ Mycelium brings cloud-grade automation to infrastructure you control — without surrendering data, identity, + or uptime to centralized platforms. +

+ +
+ + + + + + + + + + + {features.map((feature) => ( + + + + + + + + ))} + +
CapabilityTraditional CloudMycelium
+ {feature.name} + + {feature.cloud} + + {feature.mycelium} +
+
+ +
+
+ ) +} diff --git a/src/pages/home/HomeHosting.tsx b/src/pages/home/HomeHosting.tsx new file mode 100644 index 0000000..f275836 --- /dev/null +++ b/src/pages/home/HomeHosting.tsx @@ -0,0 +1,65 @@ +import { + ArrowPathIcon, + CloudArrowUpIcon, + ServerIcon, + ShieldCheckIcon, +} from '@heroicons/react/24/outline' +import { CP, CT, Eyebrow, H3, P } from '../../components/Texts' + +const features = [ + { + name: 'Kubernetes Clusters', + description: 'Deploy and scale containerized apps across your own hardware.', + icon: ServerIcon, + }, + { + name: 'AI Agents & LLM Runtimes', + description: 'Run open-source models locally, securely, and offline.', + icon: ArrowPathIcon, + }, + { + name: 'S3-Compatible Storage', + description: 'Your own personal over-the-network drive, encrypted end-to-end.', + icon: CloudArrowUpIcon, + }, + { + name: 'Mesh VPN & Zero-Trust Networking', + description: 'Securely connect all your devices and remote locations.', + icon: ShieldCheckIcon, + }, +] + +export function HomeHosting() { + return ( +
+
+ DEPLOY +

Run Real Infrastructure on Your Own Hardware

+

+ Turn your own machines into real, production-grade infrastructure. Mycelium handles the networking, + orchestration, and security layers, so you can deploy services the same way you would on public cloud without + giving your data or control to anyone. +

+
+
+ {features.map((feature) => ( +
+
+ + + + {feature.name} + + + {feature.description} + +
+
+ ))} +
+
+
+
+ ) +} diff --git a/src/pages/home/HomeHostingDark.tsx b/src/pages/home/HomeHostingDark.tsx new file mode 100644 index 0000000..b1e9481 --- /dev/null +++ b/src/pages/home/HomeHostingDark.tsx @@ -0,0 +1,66 @@ +import { + CpuChipIcon, + CubeIcon, + CircleStackIcon, + LockClosedIcon, +} from '@heroicons/react/24/outline' +import { CP, CT, Eyebrow, H3, P } from '../../components/Texts' +import { DarkCard } from '../../components/ui/cards' + +const features = [ + { + name: 'Kubernetes Clusters', + description: 'Deploy and scale containerized apps across your own hardware.', + icon: CubeIcon, + }, + { + name: 'AI Agents & LLM Runtimes', + description: 'Run open-source models locally, securely, and offline.', + icon: CpuChipIcon, + }, + { + name: 'S3-Compatible Storage', + description: 'Your own personal over-the-network drive, encrypted end-to-end.', + icon: CircleStackIcon, + }, + { + name: 'Mesh VPN & Zero-Trust Networking', + description: 'Securely connect all your devices and remote locations.', + icon: LockClosedIcon, + }, +] + +export function HomeHostingDark() { + return ( +
+
+ DEPLOY +

Run Real Infrastructure on Your Own Hardware

+

+ Turn your own machines into real, production-grade infrastructure. Mycelium handles the networking, + orchestration, and security layers, so you can deploy services the same way you would on public cloud without + giving your data or control to anyone. +

+
+
+ {features.map((feature) => ( +
+ + + + + {feature.name} + + + {feature.description} + + +
+ ))} +
+
+
+
+ ) +} diff --git a/src/pages/home/HomePage.tsx b/src/pages/home/HomePage.tsx index 12e1e7a..68d3b84 100644 --- a/src/pages/home/HomePage.tsx +++ b/src/pages/home/HomePage.tsx @@ -6,6 +6,8 @@ import { WorldMap } from './HomeGlobe' import { HomeBenefits } from './HomeBenefits' import { CallToAction } from './CallToAction' import { HomeSlider } from './HomeSlider' +import { HomeHostingDark } from './HomeHostingDark' +import { HomeComparisonTable } from './HomeComparisonTable' export default function HomePage() { @@ -28,13 +30,20 @@ export default function HomePage() { + + + + + + + - + diff --git a/src/pages/home/HomeSlider.tsx b/src/pages/home/HomeSlider.tsx index 141e840..1d303e4 100644 --- a/src/pages/home/HomeSlider.tsx +++ b/src/pages/home/HomeSlider.tsx @@ -9,7 +9,7 @@ export function HomeSlider() { )); return ( -
+
Ecosystem