"use client";
import { useState } from "react";
import { motion, AnimatePresence } from "framer-motion";
import { Play, Code2, Database, BrainCircuit, Rocket, ArrowRight, Check } from "lucide-react";
import { Button } from "@/components/ui/button";
import Link from "next/link";
import { ShardingVisual, KafkaVisual, TransformersVisual, QuantumVisual, NetflixVisual, BlackHoleVisual, URLShortenerVisual, UberVisual } from "./ShowcaseVisuals";
type Category = "tech" | "research" | "product";
interface DemoPrompt {
id: string;
category: Category;
title: string;
prompt: string;
duration: string;
videoUrl?: string;
icon: React.ReactNode;
}
const DEMO_PROMPTS: DemoPrompt[] = [
{
id: "sharding",
category: "tech",
title: "Database Sharding",
prompt: "Create a 4 min video explaining the concept of database sharding in system design. Show how data is distributed across multiple nodes to handle high traffic.",
duration: "2:11",
videoUrl: "https://storage.googleapis.com/vidsimplify/GeneratedScene.mp4",
icon:
},
{
id: "kafka",
category: "tech",
title: "Apache Kafka",
prompt: "Explain the working of kafka in entire detail in 5 mins. Cover topics, partitions, producers, consumers, and consumer groups.",
duration: "4:27",
videoUrl: "https://storage.googleapis.com/vidsimplify/kafka.mp4",
icon:
},
{
id: "transformers",
category: "research",
title: "Transformers Architecture",
prompt: "Explain the research paper 'Attention is all you need: Transformers' in detail. Visualize the important structures and mechanisms.",
duration: "6:31",
videoUrl: "https://storage.googleapis.com/vidsimplify/AttentionPaper.mp4",
icon:
},
{
id: "quantum",
category: "research",
title: "Quantum Computing",
prompt: "Make a video explain the concept of quantum computing to a normal college student from scratch in detail.",
duration: "6:21",
videoUrl: "https://storage.googleapis.com/vidsimplify/QuantumCompIntro.mp4",
icon:
},
{
id: "netflix",
category: "product",
title: "Netflix Business Model",
prompt: "Explain the business model of netflix in detail in 2 mins.",
duration: "2:11",
videoUrl: "https://storage.googleapis.com/vidsimplify/Netflix.mp4",
icon:
},
{
id: "blackhole",
category: "research",
title: "Black Hole Physics",
prompt: "Explain the event horizon and singularity of a black hole. Visualize light bending due to extreme gravity.",
duration: "1:37",
videoUrl: "https://storage.googleapis.com/vidsimplify/Blackhole.mp4",
icon:
},
{
id: "sorting",
category: "tech",
title: "URL Shortener System Design",
prompt: "Explain the system design of a URL shortener. Cover the architecture, database design, and caching mechanisms.",
duration: "3:47",
videoUrl: "https://storage.googleapis.com/vidsimplify/URLShortener.mp4",
icon:
},
{
id: "uber",
category: "product",
title: "Uber Business Model",
prompt: "Explain the business model of uber as a successful startup in detail in 2 mins with formal presentation like animations",
duration: "2:17",
videoUrl: "https://storage.googleapis.com/vidsimplify/Uber.mp4",
icon:
}
];
export function Showcase() {
const [activeCategory, setActiveCategory] = useState("all");
const [selectedPrompt, setSelectedPrompt] = useState(DEMO_PROMPTS[0]);
const [showAll, setShowAll] = useState(false);
const filteredPrompts = activeCategory === "all"
? DEMO_PROMPTS
: DEMO_PROMPTS.filter(p => p.category === activeCategory);
return (
See What You Can Build
Select a prompt to see how VidSimplify transforms simple text into complex, precise animations.