diff --git a/apps/docs/app/(home)/layout.tsx b/apps/docs/app/(home)/layout.tsx
index 3f85ff009..73248bc04 100644
--- a/apps/docs/app/(home)/layout.tsx
+++ b/apps/docs/app/(home)/layout.tsx
@@ -41,6 +41,7 @@ function Footer(): React.ReactElement {
Product
Documentation
+
Showcase
Examples
Blog
diff --git a/apps/docs/app/(home)/showcase/page.tsx b/apps/docs/app/(home)/showcase/page.tsx
new file mode 100644
index 000000000..d93553935
--- /dev/null
+++ b/apps/docs/app/(home)/showcase/page.tsx
@@ -0,0 +1,101 @@
+import {
+ ChevronDown,
+ Code,
+ MessageSquare,
+ Pen,
+ Settings2,
+ Sparkles,
+} from "lucide-react";
+import Image from "next/image";
+
+import { Card } from "@/components/ui/card";
+
+export default function Component() {
+ return (
+
+
+
+
+ COMMUNITY SHOWCASE
+
+
+ Built with
+
+ assistant-ui
+
+
+
+
+
+
+
+
+
+ );
+}
+
+function ShowcaseCard({
+ title,
+ image,
+ tag,
+ secondaryTag,
+ link,
+ description,
+}: {
+ title: string;
+ image: string;
+ tag: string;
+ secondaryTag?: string;
+ link: string;
+ description?: string;
+}) {
+ return (
+
+
+
+
+
+
+
+
{title}
+
+
+ {tag}
+
+ {secondaryTag && (
+
+ {secondaryTag}
+
+ )}
+
+
+
{description}
+
+
+
+ );
+}
diff --git a/apps/docs/app/docs/layout.config.tsx b/apps/docs/app/docs/layout.config.tsx
index c497ad7b8..0b1a4c003 100644
--- a/apps/docs/app/docs/layout.config.tsx
+++ b/apps/docs/app/docs/layout.config.tsx
@@ -1,5 +1,11 @@
import { pageTree } from "@/app/source";
-import { BookIcon, LayoutTemplateIcon, NewspaperIcon } from "lucide-react";
+import {
+ BookIcon,
+ LayoutTemplateIcon,
+ NewspaperIcon,
+ ProjectorIcon,
+ SparklesIcon,
+} from "lucide-react";
import icon from "@/public/favicon/icon.svg";
import Image from "next/image";
import { DocsLayoutProps } from "fumadocs-ui/layouts/docs";
@@ -43,10 +49,15 @@ export const baseOptions: HomeLayoutProps = {
icon: ,
active: "nested-url",
},
+ {
+ text: "Showcase",
+ url: "/showcase",
+ icon: ,
+ },
{
text: "Examples",
url: "/examples",
- icon: ,
+ icon: ,
},
{
text: "Blog",
diff --git a/apps/docs/components/ui/card.tsx b/apps/docs/components/ui/card.tsx
new file mode 100644
index 000000000..cabfbfc59
--- /dev/null
+++ b/apps/docs/components/ui/card.tsx
@@ -0,0 +1,76 @@
+import * as React from "react"
+
+import { cn } from "@/lib/utils"
+
+const Card = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+Card.displayName = "Card"
+
+const CardHeader = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardHeader.displayName = "CardHeader"
+
+const CardTitle = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardTitle.displayName = "CardTitle"
+
+const CardDescription = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardDescription.displayName = "CardDescription"
+
+const CardContent = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardContent.displayName = "CardContent"
+
+const CardFooter = React.forwardRef<
+ HTMLDivElement,
+ React.HTMLAttributes
+>(({ className, ...props }, ref) => (
+
+))
+CardFooter.displayName = "CardFooter"
+
+export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
diff --git a/apps/docs/public/screenshot/closing-wtf.png b/apps/docs/public/screenshot/closing-wtf.png
new file mode 100644
index 000000000..4aded9cff
Binary files /dev/null and b/apps/docs/public/screenshot/closing-wtf.png differ
diff --git a/apps/docs/public/screenshot/entelligence.png b/apps/docs/public/screenshot/entelligence.png
new file mode 100644
index 000000000..93ccaf281
Binary files /dev/null and b/apps/docs/public/screenshot/entelligence.png differ
diff --git a/apps/docs/public/screenshot/helicone.png b/apps/docs/public/screenshot/helicone.png
new file mode 100644
index 000000000..752e55218
Binary files /dev/null and b/apps/docs/public/screenshot/helicone.png differ