Major site overhaul: reflect all current product features + logo + Stripe Payment Links
Homepage: AI-powered hero, 9 feature cards (AI Intent Router, MCP Server, Security Center, Fleet Management, Service Discovery, Plugin System), expanded comparison table (7→13 rows), Smart Wizard in How It Works Features page: Complete rewrite — 8 feature sections led by AI-Powered Self-Hosting, Free vs Premium comparison grid Pricing page: Fixed broken Stripe checkout (was 503 stub). Subscribe button now uses Stripe Payment Links. Core tier lists all 18 features. All 7 docs pages: Updated to reflect current architecture (AI, MCP, Security Center, SDK, Caddyfile-as-Code, Service Discovery, etc.) About page: AI-Native value prop, updated tech stack, by-the-numbers Navbar: Fixed broken #anchor links → proper routes, added DashCaddy logo AppShowcase: 50+ → 76+ templates Logo: Dark + light versions deployed, wired into navbar/footer/favicon
This commit is contained in:
+42
-28
@@ -18,7 +18,7 @@ export default function AboutPage() {
|
||||
<p className="text-xl text-surface-300 max-w-2xl mx-auto">
|
||||
DashCaddy was born from the frustration of managing dozens of
|
||||
Docker containers, SSL certificates, and DNS records by hand. We
|
||||
built the tool we wished existed.
|
||||
built the tool we wished existed — and then made it AI-powered.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
@@ -45,14 +45,16 @@ export default function AboutPage() {
|
||||
<p>
|
||||
DashCaddy was built to solve this. One click to deploy an app.
|
||||
SSL, DNS, and reverse proxy configuration happen automatically.
|
||||
A beautiful dashboard to monitor everything. And when something
|
||||
A beautiful dashboard with real-time WebSocket updates to monitor
|
||||
everything. Natural language AI commands so you can just say
|
||||
“deploy Plex” and it happens. And when something
|
||||
goes wrong, you know about it immediately — not when a
|
||||
family member texts you that Plex is down.
|
||||
</p>
|
||||
<p>
|
||||
We believe self-hosting should be accessible to everyone, not
|
||||
just people who enjoy writing YAML at 2 AM. DashCaddy makes it
|
||||
beautiful and effortless.
|
||||
beautiful, effortless, and intelligent.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -67,7 +69,7 @@ export default function AboutPage() {
|
||||
<div className="grid md:grid-cols-3 gap-8">
|
||||
{[
|
||||
{
|
||||
icon: "\U0001f512",
|
||||
icon: "🔒",
|
||||
title: "Proprietary & Polished",
|
||||
description:
|
||||
"DashCaddy is proprietary software built with care. The core platform is free to use, with Premium features for advanced orchestration.",
|
||||
@@ -79,10 +81,10 @@ export default function AboutPage() {
|
||||
"DashCaddy runs entirely on your hardware. No cloud dependency, no telemetry, no phoning home. Your data never leaves your network.",
|
||||
},
|
||||
{
|
||||
icon: "🛠️",
|
||||
title: "Built to Last",
|
||||
icon: "🤖",
|
||||
title: "AI-Native",
|
||||
description:
|
||||
"We use proven technologies — Caddy, Docker, Node.js. No bleeding-edge frameworks that break every six months. Stable, reliable, boring (in the best way).",
|
||||
"From the AI Intent Router to MCP server integration, DashCaddy is built for the AI era. Control your homelab with natural language or let AI assistants manage it for you.",
|
||||
},
|
||||
].map((value) => (
|
||||
<div
|
||||
@@ -108,26 +110,14 @@ export default function AboutPage() {
|
||||
</h2>
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-6">
|
||||
{[
|
||||
{
|
||||
name: "Caddy",
|
||||
role: "Reverse Proxy & SSL",
|
||||
icon: "🔒",
|
||||
},
|
||||
{
|
||||
name: "Docker",
|
||||
role: "Container Runtime",
|
||||
icon: "🐳",
|
||||
},
|
||||
{
|
||||
name: "Node.js",
|
||||
role: "API Backend",
|
||||
icon: "🟢",
|
||||
},
|
||||
{
|
||||
name: "Technitium",
|
||||
role: "DNS Server",
|
||||
icon: "🌐",
|
||||
},
|
||||
{ name: "Caddy", role: "Reverse Proxy & SSL", icon: "🔒" },
|
||||
{ name: "Docker", role: "Container Runtime", icon: "🐳" },
|
||||
{ name: "Node.js", role: "API Backend", icon: "🟢" },
|
||||
{ name: "Technitium", role: "DNS Server", icon: "🌐" },
|
||||
{ name: "Express", role: "REST API + WebSocket", icon: "⚡" },
|
||||
{ name: "MCP", role: "AI Protocol Layer", icon: "🤖" },
|
||||
{ name: "Stripe", role: "Payment Processing", icon: "💳" },
|
||||
{ name: "Jest", role: "Testing (1400+ tests)", icon: "✅" },
|
||||
].map((tech) => (
|
||||
<div
|
||||
key={tech.name}
|
||||
@@ -142,6 +132,30 @@ export default function AboutPage() {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Stats */}
|
||||
<section className="py-20 px-4 border-t border-surface-800">
|
||||
<div className="max-w-4xl mx-auto">
|
||||
<h2 className="text-2xl font-bold text-white mb-12 text-center">
|
||||
By the Numbers
|
||||
</h2>
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-8">
|
||||
{[
|
||||
{ value: "76+", label: "App Templates" },
|
||||
{ value: "1400+", label: "Test Cases" },
|
||||
{ value: "39", label: "SDK Methods" },
|
||||
{ value: "5", label: "Languages" },
|
||||
].map((stat) => (
|
||||
<div key={stat.label} className="text-center">
|
||||
<div className="text-4xl font-bold text-brand-400 mb-2">
|
||||
{stat.value}
|
||||
</div>
|
||||
<p className="text-sm text-surface-400">{stat.label}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Contact / Support */}
|
||||
<section className="py-20 px-4 border-t border-surface-800">
|
||||
<div className="max-w-3xl mx-auto text-center">
|
||||
@@ -173,7 +187,7 @@ export default function AboutPage() {
|
||||
Ready to simplify your homelab?
|
||||
</h2>
|
||||
<p className="text-surface-300 mb-8">
|
||||
Install DashCaddy and start deploying services today.
|
||||
Install DashCaddy and start deploying services today. Free forever.
|
||||
</p>
|
||||
<Link
|
||||
href="/pricing"
|
||||
|
||||
Reference in New Issue
Block a user