Case library · Public evidence
No news summaries—only cases that point to finished work, creators, process, and original sources. Rankings, favorites, creator pages, and retests all grow from the same case.
A web case by @felixhhaas using Lovable, including the public result, full prompt, and original source.
Prompt
Most companies have messy email signatures. So I built a tiny app for Lovable that fixes it 🔥 Everyone gets: → A consistent, on-brand signature → A live preview → One-click copy for Gmail, Superhuman, etc. Sharing the exact prompt below so you can build the same thing for your team 👇 Lovable prompt: "Build a minimal, professional email signature generator. 1/ Features: → Form inputs: Name, Title, Phone, Twitter/X → Live signature preview that updates while typing → Copy button that copies the signature as HTML for email clients → “How to import?” modal with steps for Gmail, macOS Mail, and iOS Mail → Light and dark mode toggle for the preview 2/ Design: → Clean, minimal layout with warm muted colors → Centered content with generous whitespace → Rounded inputs with clear (X) buttons → Subtle fade-up animation on load → Fully responsive on mobile 3/ Signature output: → Company logo at top linking to website → Name in bold → Title and company in muted gray → Phone and Twitter/X separated by a bullet if both exist → Pure HTML with inline styles for maximum email compatibility"
A web case by @viktoroddy using GPT Image 2 · Veo 3 · Lovable, including the public result, full prompt, and original source.
Prompt
Access ALL prompts for stunning animated websites in one click: # PROMPT: Recreate this landing page exactly Build a production-quality marketing landing page for a thoughtful newsletter platform called "Mindloop" as a Vite + React + TypeScript app using Tailwind CSS, shadcn/ui, framer-motion, and lucide-react. The aesthetic is calm, editorial, cinematic — black background, white foreground, serif italic accents, ambient looping background videos, and a signature "liquid glass" effect on interactive surfaces. No purple/indigo hues. ## Stack & dependencies - Vite + React 18 + TypeScript - Tailwind CSS with shadcn/ui design tokens (HSL CSS variables) - `framer-motion` for animation - `lucide-react` for icons - `@fontsource/inter` (400, 500, 600, 700) and `@fontsource/instrument-serif` (400, 400-italic) for fonts - Do NOT install other UI libraries ## Global theme (src/index.css) Import fontsource CSS at top, then Tailwind layers. Pure black/white palette via HSL vars: ```css @import "@fontsource/inter/400.css"; @import "@fontsource/inter/500.css"; @import "@fontsource/inter/600.css"; @import "@fontsource/inter/700.css"; @import "@fontsource/instrument-serif/400.css"; @import "@fontsource/instrument-serif/400-italic.css"; @tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background: 0 0% 0%; --foreground: 0 0% 100%; --card: 0 0% 5%; --card-foreground: 0 0% 100%; --popover: 0 0% 5%; --popover-foreground: 0 0% 100%; --primary: 0 0% 100%; --primary-foreground: 0 0% 0%; --secondary: 0 0% 12%; --secondary-foreground: 0 0% 85%; --muted: 0 0% 15%; --muted-foreground: 0 0% 65%; --accent: 170 15% 45%; --accent-foreground: 0 0% 100%; --border: 0 0% 20%; --input: 0 0% 18%; --ring: 0 0% 40%; --hero-subtitle: 210 17% 95%; --radius: 0.5rem; } } @layer base { * { @apply border-border; } html, body { margin: 0; padding: 0; background-color: hsl(var(--background)); color: hsl(var(--foreground)); font-family: Inter, system-ui, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { @apply bg-background text-foreground; } } .font-serif { font-family: "Instrument Serif", ui-serif, Georgia, serif; } /* Liquid glass effect — frosted surface with inset highlight + animated gradient border */ .liquid-glass { background: rgba(255, 255, 255, 0.01); background-blend-mode: luminosity; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border: none; box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.1); position: relative; overflow: hidden; } .liquid-glass::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1.4px; background: linear-gradient(180deg, rgba(255,255,255,0.45) 0%, rgba(255,255,255,0.15) 20%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%, rgba(255,255,255,0.15) 80%, rgba(255,255,255,0.45) 100%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; } ``` Tailwind config extends `fontFamily.sans = Inter`, `fontFamily.serif = "Instrument Serif"`, and maps all colors to the HSL vars. Dark mode is class-based (but the whole site is black by default). ## Shared animation helper (src/lib/animations.ts) ```ts export const fadeUp = (delay: number = 0) => ({ initial: { opacity: 0, y: 20 }, whileInView: { opacity: 1, y: 0 }, viewport: { once: true, margin: "-100px" }, transition: { duration: 0.6, delay, ease: "easeOut" as const }, }); ``` ## App structure (src/App.tsx) ```tsx <div className="bg-background text-foreground min-h-screen font-sans"> <Navbar /> <main> <Hero /> <SearchChanged /> <Mission /> <Solution /> <CTA /> </main> <Footer /> </div> ``` ## Logo component The logo is a PNG placed at `public/image.png`. Component renders `<img src="/image.png" className="h-7 w-auto" />` with an optional `className` prop to resize it (e.g. `h-12 w-auto` in the CTA). --- ## Section 1 — Navbar (fixed, shrinks to liquid-glass pill on scroll) - `fixed top-0 left-0 right-0 z-50`, centered flex wrapper `pt-4 px-4`. - Inner container: `max-w-6xl rounded-full`, transitions over 500ms between two states: - Not scrolled: `bg-transparent px-6 py-3` - Scrolled (>20px): `liquid-glass px-5 py-2.5` - Left: `<Logo />` only (no text). - Center (desktop): links "Home", "How It Works", "Philosophy", "Use Cases" in `text-muted-foreground`, hover to `foreground`, with an animated underline that grows from width 0 to full on hover. - Right (desktop): three circular 9x9 icon buttons for Instagram / LinkedIn / Twitter (lucide), strokeWidth 1.5, hover bg `white/5`. - Mobile: hamburger (`Menu`) that toggles a `liquid-glass rounded-2xl` dropdown panel below the bar. ## Section 2 — Hero (fullscreen, looping background video) - Section: `relative min-h-screen w-full overflow-hidden`. - Full-bleed autoplay/muted/loop/playsInline `<video>` covering the viewport: - src: `` - Bottom fade overlay: `absolute bottom-0 h-64 bg-gradient-to-t from-background to-transparent z-[1]`. - Content `z-10 pt-28 md:pt-32` centered column: 1. Social proof row (fade+slide in): three overlapping round avatars (`w-8 h-8 rounded-full border-2 border-background`) from Pexels (use IDs 415829, 774909, 1222271 with `?auto=compress&cs=tinysrgb&w=100&h=100&fit=crop`) + muted text "7,000+ people already subscribed". 2. H1: `text-5xl md:text-7xl lg:text-8xl font-medium tracking-[-2px] max-w-5xl leading-[1.02]`, content: `Get <span className="font-serif italic font-normal">Inspired</span> with Us`. 3. Subhead in `--hero-subtitle` color, `text-lg max-w-2xl mt-8`: "Join our feed for meaningful updates, news around technology and a shared journey toward depth and direction." 4. Email capture form: `liquid-glass rounded-full p-2 max-w-lg w-full mt-10 flex items-center gap-2`. Transparent input, pill button `bg-foreground text-background rounded-full px-8 py-3 text-xs font-semibold tracking-[2px]` labeled "SUBSCRIBE" with framer hover scale 1.03 / tap 0.98. - Each element fades in sequentially (delays 0, 0.1, 0.25, 0.4s). ## Section 3 — SearchChanged (the shift) - `pt-52 md:pt-64 pb-20 px-6 md:px-8`. - Header grid (12 col): left 7 — eyebrow "THE SHIFT" (uppercase tracking-[3px]) + H2 `text-5xl md:text-7xl lg:text-8xl font-medium tracking-[-2px] leading-[0.95]` reading `Search has <italic serif>changed.</italic><br/>Have you?`. Right 5 — body copy: "The way people discover ideas has quietly shifted. Answers arrive synthesized, personal, and instant — and the old playbook of SEO keywords is running on borrowed time." - Three-card grid using 1px `bg-border/40` gaps inside a `rounded-3xl overflow-hidden` wrapper so the divider lines look like hairlines. Each card `bg-background p-8 md:p-10` with hover `bg-white/[0.02]`. - Card header: `liquid-glass` rounded-2xl 12x12 icon tile (left) + `ArrowUpRight` (right) that translates up/right on group hover. - Big stat `text-4xl md:text-5xl font-medium tracking-[-1px]` + muted label. - Name (semibold) + muted description. - Cards: ChatGPT / 400M weekly users / "Conversational answers…"; Perplexity / 15M daily queries / "Cited, sourced responses…"; Google AI / 2B+ AI overviews / mo / "Generative overviews replacing classic search result pages." - Below: centered quote framed by two `h-px w-12 bg-border` hairlines: `If you don't answer the questions, <foreground>someone else will.</foreground>` - Every block animates with `fadeUp` staggered. ## Section 4 — Mission (scroll-driven word reveal over parallax video) - Outer: `relative w-full`, inner wrapper `h-[130vh] md:h-[150vh] overflow-hidden`. - Background `<>` with parallax: `y` transforms from `-6%` to `6%` across scroll progress, and `scale` bounces `1.08 → 1.02 → 1.08`. Video src: `` - Overlays for legibility: - `bg-gradient-to-b from-background via-transparent to-background` + `bg-background/25` - Top `h-32` and bottom `h-40` fades to background. - Sticky content container `sticky top-0 h-screen flex items-end justify-center pb-16 md:pb-24`. - Eyebrow: hairline + "OUR MISSION" (uppercase tracking-[3px]). - Two stacked paragraphs where each word animates from `opacity 0.2 → 1` and `blur(6px) → blur(0)` based on its own slice of `useScroll({ target, offset: ["start 0.85","end 0.2"] })` progress. - Paragraph 1 (large `text-2xl md:text-4xl lg:text-6xl font-medium tracking-[-1.5px] leading-[1.12]`): "We're building a space where curiosity meets clarity — where readers find depth, writers find reach, and every newsletter becomes a conversation worth having." The words **curiosity**, **meets**, **clarity** are highlighted full-white with a slightly stronger text-shadow; other words use `--hero-subtitle` color with a soft text-shadow `0 2px 20px rgba(0,0,0,0.6)`. - Paragraph 2 (smaller `text-xl md:text-2xl lg:text-3xl`): "A platform where content, community, and insight flow together — with less noise, less friction, and more meaning for everyone involved." - Tag row with bullet dots: `Depth`, `Reach`, `Meaning` (uppercase tracking-[3px] muted). ## Section 5 — Solution (sticky 12-col grid) - `py-32 md:py-44 border-t border-border/30 px-6 md:px-8`. - Left column (`lg:col-span-5 lg:sticky lg:top-32`): - Eyebrow "SOLUTION". - H2 `text-4xl md:text-5xl lg:text-6xl font-medium tracking-[-1px]`: `The platform for <italic serif>meaningful</italic> content`. - Body: "Four tools, one quiet ecosystem — built so writing, reading, and discovering all reward the same thing: depth." - Video card `rounded-2xl overflow-hidden aspect-video` with src: `` - Right column (`lg:col-span-7`): vertical list of 4 feature rows separated by `border-b border-border/40` (no border on last). Each row has a `liquid-glass` 12x12 rounded-2xl icon tile, title `text-xl md:text-2xl font-semibold tracking-[-0.5px]`, right-aligned index `01–04` in muted tracking-[2px], and muted description under the title. Icons + copy: 1. `Compass` — Curated Feed — "Editorial-quality recommendations that match your pace and depth." 2. `PenLine` — Writer Tools — "A calm canvas with the scaffolding serious writers ask for." 3. `Users` — Community — "Thoughtful readers and creators rewarded for their attention." 4. `Radio` — Distribution — "Reach built on signal, not noise — measured by meaning." ## Section 6 — CTA (video background + centered content) - `relative py-32 md:py-44 border-t border-border/30 overflow-hidden px-6 md:px-8`. - Background video (cover, z-0) src: `` - Overlay `absolute inset-0 bg-background/45 z-[1]`. - Centered content (max-w-3xl): - `<Logo className="h-12 w-auto" />` at the top. - H2 `text-4xl md:text-6xl lg:text-7xl font-medium tracking-[-1px] mt-8 leading-[1.05]`: `<italic serif>Start</italic> Your Journey`. - Muted lede: "Step into a quieter internet. Join the readers and writers shaping what comes next." - Buttons row (hover scale 1.03, tap 0.98): - Primary: `bg-foreground text-background rounded-lg px-8 py-3.5 text-sm font-semibold` — "Subscribe Now". - Secondary: `liquid-glass rounded-lg px-8 py-3.5 text-sm font-semibold` — "Start Writing". - Each element `fadeUp` with delays 0, 0.1, 0.2, 0.3. ## Section 7 — Footer - `border-t border-border/30 px-6 md:px-8`, inner `max-w-7xl pt-20 pb-12`. - Top block: 12-col grid split 5/7, with a `border-b border-border/30 pb-16`. - Left 5 cols: `<Logo />` only (no "Mindloop" text) + paragraph "A quieter internet for readers and writers. Meaningful updates, every week." + row of three `liquid-glass` 10x10 rounded-full icon buttons (Instagram, LinkedIn, Twitter). - Right 7 cols: three link columns, each with a uppercase tracking-[3px] muted heading and 4 links: - Product: How It Works, Philosophy, Use Cases, Changelog - Resources: Writer Guide, Reader FAQ, Press Kit, Brand - Company: About, Careers, Contact, Journal - Bottom bar `pt-8 flex md:flex-row items-center justify-between`: `© 2026 Mindloop. All rights reserved.` left; Privacy / Terms / Cookies right. - Giant decorative watermark: a non-interactive div rendering the word `mindloop` at `text-[18vw] leading-none font-serif italic text-foreground/[0.04] tracking-[-0.02em] text-center -mb-[4vw]`, giving a subtle oversized serif backdrop behind the footer. ## Video URLs summary (use exactly these) - Hero: `` - Mission: `` - Solution: `` - CTA: `` ## Animation rules - All reveal animations use `fadeUp(delay)` (`y: 20 → 0`, `opacity: 0 → 1`, 0.6s easeOut, once, `margin: -100px`). - Hero elements animate in on mount, not on scroll. - Navbar transitions between transparent and liquid-glass over 500ms when `window.scrollY > 20`. - Buttons use `whileHover={{ scale: 1.03 }}`, `whileTap={{ scale: 0.98 }}`. - Mission section uses `useScroll` + per-word `useTransform` for opacity and blur (`6px → 0px`). - SearchChanged cards: `ArrowUpRight` group-hover translates `-translate-y-0.5 translate-x-0.5`, underline links grow via `w-0 → w-full`. ## Typography rules - Body: Inter, line-height ~1.5. - Headings: Inter `font-medium` with very tight negative tracking (`-2px` on display, `-1.5px`/`-1px` on section heads). - Italic accent words wrap in `<span className="font-serif italic font-normal">…</span>` using Instrument Serif to contrast with the geometric sans. - Eyebrows use `text-xs uppercase tracking-[3px] text-muted-foreground`. ## Quality bar - Fully responsive down to 375px mobile; grids collapse to single column; fonts scale with `md:` / `lg:` variants. - Keep black (`#000`) background consistent; all text white or muted grays — no purple/indigo. - Videos must be `autoplay muted loop playsInline` and `object-cover`. - No external images besides the three Pexels avatars and the logo at `/image.png`. - Build must pass `npm run build` without TS errors.
A website case by @viktoroddy created with Lovable · Nano Banana · Veo 3, including the public result, full prompt, and original source.
Prompt
Access ALL prompts for stunning animated websites in one click: Create a single-page hero section with a fullscreen looping background video, glassmorphic navigation, and cinematic typography. Use React + Vite + Tailwind CSS + TypeScript with shadcn/ui. Video Background: Fullscreen <video> element with autoPlay, loop, muted, playsInline Source URL: Positioned absolute inset-0 w-full h-full object-cover z-0 Fonts: Import from Google Fonts: Instrumental Serif (display) and Inter weights 400/500 (body) CSS variables: --font-display: 'Instrumental Serif', serif and --font-body: 'Inter', sans-serif Body uses var(--font-body), headings use inline fontFamily: "'Instrument Serif', serif" Color Theme (dark, HSL values for CSS variables): --background: 201 100% 13% (deep navy blue) --foreground: 0 0% 100% (white) --muted-foreground: 240 4% 66% (muted gray) --primary: 0 0% 100%, --primary-foreground: 0 0% 4% --secondary: 0 0% 10%, --muted: 0 0% 10%, --accent: 0 0% 10% --border: 0 0% 18%, --input: 0 0% 18% Navigation Bar: relative z-10, flex row, justify-between, px-8 py-6, max-w-7xl mx-auto Logo: "Velorah®" (® as <sup className="text-xs">), text-3xl tracking-tight, Instrument Serif font, text-foreground Nav links (hidden on mobile, md:flex): Home (active, text-foreground), Studio, About, Journal, Reach Us — all text-sm text-muted-foreground with hover:text-foreground transition-colors CTA button: "Begin Journey", liquid-glass rounded-full px-6 py-2.5 text-sm text-foreground, hover:scale-[1.03] Hero Section: relative z-10, flex column, centered, text-center, px-6 pt-32 pb-40 py-[90px] H1: "Where dreams rise through the silence." — text-5xl sm:text-7xl md:text-8xl, leading-[0.95], tracking-[-2.46px], max-w-7xl, font-normal, Instrument Serif. The words "dreams" and "through the silence." wrapped in <em className="not-italic text-muted-foreground"> for color contrast Subtext: text-muted-foreground text-base sm:text-lg max-w-2xl mt-8 leading-relaxed — "We're designing tools for deep thinkers, bold creators, and quiet rebels. Amid the chaos, we build digital spaces for sharp focus and inspired work." CTA button: "Begin Journey", liquid-glass rounded-full px-14 py-5 text-base text-foreground mt-12, hover:scale-[1.03] cursor-pointer Liquid Glass Effect (CSS class .liquid-glass): .liquid-glass { background: rgba(255, 255, 255, 0.01); background-blend-mode: luminosity; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border: none; box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.1); position: relative; overflow: hidden; } .liquid-glass::before { content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1.4px; background: linear-gradient(180deg, rgba(255,255,255,0.45) 0%, rgba(255,255,255,0.15) 20%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%, rgba(255,255,255,0.15) 80%, rgba(255,255,255,0.45) 100%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; } Animations (CSS keyframes + classes): @keyframes fade-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } } .animate-fade-rise { animation: fade-rise 0.8s ease-out both; } .animate-fade-rise-delay { animation: fade-rise 0.8s ease-out 0.2s both; } .animate-fade-rise-delay-2 { animation: fade-rise 0.8s ease-out 0.4s both; } H1 gets animate-fade-rise Subtext gets animate-fade-rise-delay Hero CTA button gets animate-fade-rise-delay-2 Layout: No decorative blobs, radial gradients, or overlays. Minimalist, cinematic, vertically centered hero. The video provides all visual depth.