Communitygithub.com

ZeroSum-Solutions/mishmash

Full-screen, single-viewport (100vh, no scroll) dark hero landing page for **Asme**, a fictional no-code AI app platform. The fullscreen background is an HLS video stream from Mux, playing natively on Safari and via hls.js MediaSource on other browsers. A liquid-glass pill navbar (luminosity-blended glass with a masked `::before` gradient border) floats above an Instrument Serif hero heading and an animated email-capture CTA — "Get early access" expands to a form with a 60 ms/char typewriter placeholder, flips `ArrowRight` to `Check` on submit, and auto-resets after 4 seconds. All elements animate in on load with Motion (Framer Motion).

mishmash 是什麼?

mishmash is a Claude Code agent skill that full-screen, single-viewport (100vh, no scroll) dark hero landing page for **Asme**, a fictional no-code AI app platform. The fullscreen background is an HLS video stream from Mux, playing natively on Safari and via hls.js MediaSource on other browsers. A liquid-glass pill navbar (luminosity-blended glass with a masked `::before` gradient border) floats above an Instrument Serif hero heading and an animated email-capture CTA — "Get early access" expands to a form with a 60 ms/char typewriter placeholder, flips `ArrowRight` to `Check` on submit, and auto-resets after 4 seconds. All elements animate in on load with Motion (Framer Motion).

相容平台✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/ZeroSum-Solutions/mishmash/tree/HEAD/design-templates/asme-hero-landing

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Asme — Cinematic Dark Hero Landing Page

Landing page vendored from the MIT-licensed pulkitxm/claude-directory gallery.

Full-screen, single-viewport (100vh, no scroll) dark hero landing page for Asme, a fictional no-code AI app platform. The fullscreen background is an HLS video stream from Mux, playing natively on Safari and via hls.js MediaSource on other browsers. A liquid-glass pill navbar (luminosity-blended glass with a masked ::before gradient border) floats above an Instrument Serif hero heading and an animated email-capture CTA — "Get early access" expands to a form with a 60 ms/char typewriter placeholder, flips ArrowRight to Check on submit, and auto-resets after 4 seconds. All elements animate in on load with Motion (Framer Motion).

Workflow

  1. Clone example.html into the user's workspace as the working file.
  2. Replace placeholder content with the user's real brand name, headlines, body copy, numbers, and imagery. Match existing image dimensions when swapping assets.
  3. Preserve the design system. The palette, type scale, spacing rhythm, and motion in the build spec below are the identity — do not substitute fonts, recolour the palette, or strip decorative elements.
  4. Extend by duplicating sections, never by importing a layout from another template. If a section is missing, design it from scratch in this template's own vocabulary.
  5. Keep motion accessible. Every animation must stay behind prefers-reduced-motion, as the build spec requires.

Output contract

Emit between <artifact> tags:

<artifact identifier="asme-hero-landing" type="text/html" title="Asme — Cinematic Dark Hero Landing Page">
<!doctype html>
<html>...</html>
</artifact>

Build spec

The upstream prompt that produced this design, verbatim.

Asme — Cinematic Dark Hero Landing Page

Overview

Build a full-screen, dark, single-screen (100vh, no scroll) hero landing page for "Asme". The page has a black background with a fullscreen looping background video, a glassmorphism navbar, and a centered hero with an animated email-capture CTA. The headline uses an elegant serif display font, and most elements animate in on load with Motion.

Tech Stack

  • Framework: React 19 (react ^19.2.7, react-dom ^19.2.7) with Vite (vite ^8.0.16) via @vitejs/plugin-react ^6.0.2.
  • Styling: Tailwind CSS v4 (tailwindcss ^4.3.0) integrated through @tailwindcss/vite ^4.3.0 (the @import "tailwindcss"; + @theme approach, no tailwind.config.js).
  • Animation: Motion (Framer Motion) motion ^12.40.0, imported from motion/react (motion, AnimatePresence).
  • Icons: Lucide (lucide-react ^1.17.0) — Globe, ArrowRight, Check.
  • Video: HLS playback via HLS.js (hls.js ^1.6.16), with native HLS fallback for Safari.
  • Fonts: Inter (base sans-serif) and Instrument Serif (hero heading), loaded from Google Fonts.
  • Notable techniques: glassmorphism with a masked gradient border, gradient-clipped text, typewriter placeholder effect, AnimatePresence state toggle between a button and an email form.

Global Setup

Entry HTML (index.html)

  • <html lang="en">, <meta charset="UTF-8" />, <meta name="viewport" content="width=device-width, initial-scale=1.0" />.

  • <title>: Asme — A new way to think and create with computers

  • <meta name="description" content="Build a no-code AI app in minutes. Get early access to Asme." />

  • Favicon is an inline SVG data URI of a white globe icon:

    <link
      rel="icon"
      href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20'/%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E"
    />
    
  • Body contains <div id="root"></div> and <script type="module" src="/src/main.jsx"></script>.

React entry (src/main.jsx)

import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
import "./index.css";
import App from "./App.jsx";

createRoot(document.getElementById("root")).render(
  <StrictMode>
    <App />
  </StrictMode>,
);

Styles (src/index.css)

Import order: both Google Fonts URLs first, then Tailwind, then theme/base rules.

  • Fonts (Google Fonts):

    • Inter, weights 300, 400, 500, 600 — base sans-serif font.
    • Instrument Serif, regular and italic — used for the hero heading.
    @import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap");
    @import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap");
    @import "tailwindcss";
    
  • Theme:

    @theme {
      --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
    }
    
  • Root variables and body:

    :root {
      --background: #000000;
      --foreground: #ffffff;
    }
    
    body {
      background-color: var(--background);
      color: var(--foreground);
      font-family: var(--font-sans);
      -webkit-font-smoothing: antialiased;
      letter-spacing: -0.01em;
    }
    
  • .liquid-glass — glassmorphism surface with a masked gradient border via ::before:

    .liquid-glass {
      background: rgba(255, 255, 255, 0.01);
      background-blend-mode: luminosity;
      /* Prefixed first: keeps the standard property as the winning declaration
         after LightningCSS merges the pair during minification. */
      -webkit-backdrop-filter: blur(4px);
      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:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
      mask-composite: exclude;
      pointer-events: none;
    }
    
  • .glass-pill — pill-shaped glass surface (defined for completeness):

    .glass-pill {
      background: rgba(255, 255, 255, 0.04);
      -webkit-backdrop-filter: blur(16px) saturate(180%);
      backdrop-filter: blur(16px) saturate(180%);
      border-radius: 9999px;
      box-shadow: none !important;
    }
    

App Root Layout (src/App.jsx)

  • <main> with classes relative bg-black h-screen w-screen flex flex-col overflow-hidden selection:bg-white selection:text-black shrink-0.
  • Text selection is styled white background with black text (selection:bg-white selection:text-black).
  • Render order: BackgroundVideo, Navbar, Hero.
import BackgroundVideo from "./components/BackgroundVideo.jsx";
import Navbar from "./components/Navbar.jsx";
import Hero from "./components/Hero.jsx";

export default function App() {
  return (
    <main className="relative bg-black h-screen w-screen flex flex-col overflow-hidden selection:bg-white selection:text-black shrink-0">
      <BackgroundVideo />
      <Navbar />
      <Hero />
    </main>
  );
}

Background Video (src/components/BackgroundVideo.jsx)

  • Renders an absolutely positioned <div> covering the full parent: absolute inset-0 overflow-hidden pointer-events-none.
  • Contains a <video> element with autoPlay, muted, loop, playsInline, classes w-full h-full object-cover opacity-100, and a ref.
  • Video source URL (an HLS stream hosted on Mux — note: this is a Mux .m3u8 stream, not a CloudFront URL): https://stream.mux.com/kimF2ha9zLrX64H00UgLGPflCzNtl1T0215MlAmeOztv8.m3u8
  • Playback logic with HLS.js: in a useEffect, if the browser natively supports HLS (video.canPlayType("application/vnd.apple.mpegurl")), set video.src directly. Otherwise, if Hls.isSupported(), instantiate new Hls(), call loadSource, then attachMedia, and clean up with hls.destroy(). The .m3u8 format requires HLS.js for non-Safari browsers.
import { useEffect, useRef } from "react";
import Hls from "hls.js";

const VIDEO_SRC =
  "https://stream.mux.com/kimF2ha9zLrX64H00UgLGPflCzNtl1T0215MlAmeOztv8.m3u8";

export default function BackgroundVideo() {
  const videoRef = useRef(null);

  useEffect(() => {
    const video = videoRef.current;
    if (!video) return undefined;

    if (video.canPlayType("application/vnd.apple.mpegurl")) {
      video.src = VIDEO_SRC;
      return undefined;
    }

    if (Hls.isSupported()) {
      const hls = new Hls();
      hls.loadSource(VIDEO_SRC);
      hls.attachMedia(video);
      return () => hls.destroy();
    }

    return undefined;
  }, []);

  return (
    <div className="absolute inset-0 overflow-hidden pointer-events-none">
      <video
        ref={videoRef}
        autoPlay
        muted
        loop
        playsInline
        className="w-full h-full object-cover opacity-100"
      />
    </div>
  );
}

Navbar (src/components/Navbar.jsx)

  • Animates in with motion.nav: initial={{ y: -20, opacity: 0 }}, animate={{ y: 0, opacity: 1 }}.
  • Outer motion.nav classes: relative z-20 px-6 py-6 w-full.
  • Inner container: liquid-glass rounded-full px-6 py-3 flex items-center justify-between max-w-5xl mx-auto.
  • Left side (flex items-center gap-8):
    • Logo: Globe icon from Lucide (w-6 h-6 text-white) + the brand text "Asme" (text-white font-semibold text-lg), inside a flex items-center gap-2 wrapper.
    • Nav links: "Features", "Pricing", "About" — defined as a NAV_LINKS array and mapped. Hidden on mobile (hidden md:flex items-center gap-8 text-white/80 text-sm font-medium). Each <a> uses href={#${link.toLowerCase()}} and classes hover:text-white transition-colors duration-300.
  • Right side (flex items-center gap-4):
    • "Sign Up" plain text button: text-white hover:text-white/80 transition-colors text-sm font-medium cursor-pointer.
    • "Login" glassmorphism button: liquid-glass rounded-full px-6 py-2 text-sm font-medium text-white hover:opacity-90 transition-opacity cursor-pointer.
import { motion } from "motion/react";
import { Globe } from "lucide-react";

const NAV_LINKS = ["Features", "Pricing", "About"];

export default function Navbar() {
  return (
    <motion.nav
      initial={{ y: -20, opacity: 0 }}
      animate={{ y: 0, opacity: 1 }}
      className="relative z-20 px-6 py-6 w-full"
    >
      <div className="liquid-glass rounded-full px-6 py-3 flex items-center justify-between max-w-5xl mx-auto">
        <div className="flex items-center gap-8">
          <div className="flex items-center gap-2">
            <Globe className="w-6 h-6 text-white" />
            <span className="text-white font-semibold text-lg">Asme</span>
          </div>
          <div className="hidden md:flex items-center gap-8 text-white/80 text-sm font-medium">
            {NAV_LINKS.map((link) => (
              <a
                key={link}
                href={`#${link.toLowerCase()}`}
                className="hover:text-white transition-colors duration-300"
              >
                {link}
              </a>
            ))}
          </div>
        </div>
        <div className="flex items-center gap-4">
          <button
            type="button"
            className="text-white hover:text-white/80 transition-colors text-sm font-medium cursor-pointer"
          >
            Sign Up
          </button>
          <button
            type="button"
            className="liquid-glass rounded-full px-6 py-2 text-sm font-medium text-white hover:opacity-90 transition-opacity cursor-pointer"
          >
            Login
          </button>
        </div>
      </div>
    </motion.nav>
  );
}

Hero (src/components/Hero.jsx)

Layout

  • <section> with relative flex-1 flex flex-col items-center justify-center px-6.
  • Content wrapper: relative z-10 text-center max-w-5xl mx-auto flex flex-col items-center justify-center w-full gap-12.

Tagline (motion.p)

  • Text: "Build a no-code AI app in minutes".
  • Classes: text-white/80 text-[10px] md:text-[11px] font-medium tracking-[0.2em] uppercase mb-4.
  • Animates: initial={{ opacity: 0, y: 10 }}, animate={{ opacity: 1, y: 0 }}, transition={{ delay: 0.1 }}.

Heading (motion.h1)

  • Text: "A new way to think and create with computers", with a <br className="hidden md:block" /> inserted after "create" (i.e. A new way to think and create{" "} then the <br />, then with computers).
  • Font set via inline style: style={{ fontFamily: "'Instrument Serif', serif" }}.
  • Classes: text-4xl md:text-[64px] font-medium tracking-[-0.01em] leading-[1.1] mb-6 bg-gradient-to-b from-white via-white/95 to-white/70 bg-clip-text text-transparent max-w-4xl.
  • Animates: initial={{ opacity: 0, y: 20 }}, animate={{ opacity: 1, y: 0 }}, transition={{ duration: 1, ease: [0.16, 1, 0.3, 1] }}.

CTA area (motion.div)

  • Wrapper classes: min-h-[50px] mt-2 w-full flex items-center justify-center.

  • Animates: initial={{ opacity: 0, y: 10 }}, animate={{ opacity: 1, y: 0 }}, transition={{ delay: 0.4 }}.

  • Uses AnimatePresence mode="wait" to toggle between two states. Both states use initial={{ opacity: 0, scale: 0.95 }}, animate={{ opacity: 1, scale: 1 }}, exit={{ opacity: 0, scale: 0.95 }}, transition={{ duration: 0.2 }}.

  • Button state (motion.button, key="cta-button"): text "Get early access". Classes px-10 py-3 text-[14px] font-medium border border-white/10 rounded-full hover:border-white/30 hover:bg-white/[0.02] transition-all duration-300 text-white/90 backdrop-blur-sm cursor-pointer. On click, calls setShowForm(true) to switch to the email form.

  • Email form state (motion.form, key="email-form"): classes flex items-center gap-2 pl-5 pr-1.5 py-1.5 text-[14px] font-medium border border-white/20 rounded-full bg-white/[0.02] backdrop-blur-sm w-full max-w-[320px] focus-within:border-white/40 transition-colors duration-300. Contains:

    • An email <input type="email"> with flex-1 min-w-0 bg-transparent text-white placeholder-white/45 outline-none, autoFocus, readOnly={submitted}, aria-label="Email address", value bound to email state.
    • A submit <button type="submit"> with classes shrink-0 w-9 h-9 rounded-full flex items-center justify-center text-white bg-white/10 hover:bg-white/20 transition-colors duration-300 cursor-pointer and aria-label={submitted ? "Email submitted" : "Submit email"}. It renders the Check icon (w-4 h-4) when submitted, otherwise the ArrowRight icon (w-4 h-4).
  • Typewriter placeholder: when the email form opens, the placeholder text "Enter Your Email Here For Early Access" types in character by character at 60 ms intervals. After submission, it types "You Will Receive Notifications By Email" instead. Four seconds after submission, the UI resets back to the button state.

"Play Video Demo" link (motion.div)

  • Below the CTA, a motion.div fades in with initial={{ opacity: 0 }}, animate={{ opacity: 1 }}, transition={{ delay: 0.8 }}.
  • Contains a <button type="button"> with text "Play Video Demo" and classes text-white/80 hover:text-white/40 transition-colors duration-300 text-[13px] font-medium tracking-wide cursor-pointer.

State and effects

  • State: showForm, submitted, email, placeholder.
  • Constants: PLACEHOLDER_PROMPT = "Enter Your Email Here For Early Access", PLACEHOLDER_CONFIRM = "You Will Receive Notifications By Email", TYPE_INTERVAL_MS = 60, RESET_DELAY_MS = 4000.
  • handleSubmit: event.preventDefault(); if already submitted or email is empty (!email.trim()), return; otherwise setSubmitted(true) and clear the email.
import { useEffect, useState } from "react";
import { AnimatePresence, motion } from "motion/react";
import { ArrowRight, Check } from "lucide-react";

const PLACEHOLDER_PROMPT = "Enter Your Email Here For Early Access";
const PLACEHOLDER_CONFIRM = "You Will Receive Notifications By Email";
const TYPE_INTERVAL_MS = 60;
const RESET_DELAY_MS = 4000;

export default function Hero() {
  const [showForm, setShowForm] = useState(false);
  const [submitted, setSubmitted] = useState(false);
  const [email, setEmail] = useState("");
  const [placeholder, setPlaceholder] = useState("");

  // Typewriter effect for the input placeholder.
  useEffect(() => {
    if (!showForm) {
      setPlaceholder("");
      return undefined;
    }

    const target = submitted ? PLACEHOLDER_CONFIRM : PLACEHOLDER_PROMPT;
    setPlaceholder("");
    let index = 0;
    const interval = setInterval(() => {
      index += 1;
      setPlaceholder(target.slice(0, index));
      if (index >= target.length) clearInterval(interval);
    }, TYPE_INTERVAL_MS);

    return () => clearInterval(interval);
  }, [showForm, submitted]);

  // After submission, return to the button state.
  useEffect(() => {
    if (!submitted) return undefined;

    const timeout = setTimeout(() => {
      setShowForm(false);
      setSubmitted(false);
      setEmail("");
    }, RESET_DELAY_MS);

    return () => clearTimeout(timeout);
  }, [submitted]);

  const handleSubmit = (event) => {
    event.preventDefault();
    if (submitted || !email.trim()) return;
    setSubmitted(true);
    setEmail("");
  };

  // ...JSX as described above
}

Color Palette

  • Background: #000000 (--background, also applied via bg-black).
  • Foreground / text: #ffffff (--foreground).
  • Glass surfaces: white at very low opacity — rgba(255, 255, 255, 0.01) (.liquid-glass), rgba(255, 255, 255, 0.04) (.glass-pill), bg-white/[0.02] (form/button fills), bg-white/10 and bg-white/20 (submit button).
  • Text opacities: text-white/90, text-white/80, text-white/70 (heading gradient stop), text-white/40 (hover), placeholder-white/45.
  • Borders: border-white/10, border-white/20, border-white/30, border-white/40.
  • Heading gradient: bg-gradient-to-b from-white via-white/95 to-white/70, clipped to text.

Animation Summary

  • Navbar: slides down + fades in (y: -20 → 0, opacity: 0 → 1).
  • Tagline: fade + rise (y: 10 → 0) with delay: 0.1.
  • Heading: fade + rise (y: 20 → 0) with duration: 1 and easing [0.16, 1, 0.3, 1].
  • CTA area: fade + rise (y: 10 → 0) with delay: 0.4; inner button/form crossfade + scale (0.95 ↔ 1) at duration: 0.2 via AnimatePresence mode="wait".
  • Play Video Demo: fade in with delay: 0.8.
  • Typewriter: placeholder types one character every 60 ms; auto-resets 4000 ms after submission.

File Structure

asme-hero-landing/
├── index.html
├── package.json
└── src/
    ├── main.jsx
    ├── index.css
    ├── App.jsx
    └── components/
        ├── BackgroundVideo.jsx
        ├── Navbar.jsx
        └── Hero.jsx

Source & license

Vendored from MIT-licensed pulkitxm/claude-directory. The upstream MIT licence text ships in this template at LICENSE and must be redistributed alongside any copy of example.html or assets/.

Webfonts and full-resolution imagery are not vendored: local @font-face rules are served from the Google Fonts CDN and referenced images are downscaled. Fetch the upstream folder for the original assets.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ZeroSum-Solutions/mishmash

Two-section scroll landing for **S.P.D**, a fictional daily-operations automation platform. Section one is a full-bleed black hero: a muted, looping period-painting video plays edge to edge behind a top-left wordmark and tagline, a top-right pill CTA, and a large right-aligned serif headline low in the frame. A cloud-plume image straddles the seam into section two, a saturated red panel holding a centered monogram, an uppercase mission line, a large script signature, two closing lines of copy, and a second looping video with a soft fade into the red. Motion is a staggered load-in fade on the hero, an IntersectionObserver reveal on the red section's content, and a scroll-linked parallax on the cloud plume — all degrading to a static, fully-visible layout under reduced motion.

ZeroSum-Solutions/mishmash

A pixel-spec, dark-themed single-page marketing landing site for **Asme**, a fictional knowledge and insights platform, featuring a signature reusable `.liquid-glass` surface treatment — luminosity-blended translucent fill, 4px backdrop blur, inset top highlight, and a masked `::before` gradient border — applied consistently across the navbar pill, email capture, buttons, cards, and icon chips. The full-viewport hero loops a locally vendored `.mp4` video via a vanilla `requestAnimationFrame` opacity crossfade (fade in on `canplay`, fade out at 0.55s remaining, 100ms gap restart). Four scroll-triggered sections animate in with Framer Motion `useInView`: About, Featured Video, Innovation × Vision (video + two columns sliding from opposite sides), and Services (two glass cards with hover-zoom video). Instrument Serif display type sits against pure black throughout.

ZeroSum-Solutions/mishmash

A premium, dark-cinematic landing page for **Aura**, a fictional AI-native email client, featuring a looping fullscreen background video, a gradient-clip shiny headline, a macOS-style menu bar mockup, a realistic inbox preview, and a custom liquid-glass card treatment. The multi-section layout covers navbar, hero, menu bar, inbox mockup, feature triage, logo cloud, testimonials, pricing, and a final CTA — targeting the AI productivity app and SaaS landing page use case.

ZeroSum-Solutions/mishmash

A modern React landing page for a fictional broadcast-grade live video platform featuring a full-screen adaptive HLS video background, a glassmorphic navigation header, and hero content pinned to the bottom-left corner. Dark cinematic aesthetic with Gloock display serif, Archivo body, JetBrains Mono telemetry labels, and an aurora-green signal accent — ideal as a live streaming platform or video SaaS landing page template.

ZeroSum-Solutions/mishmash

A single-screen marketing landing page for "dot.", a calm-messaging product that links you with one anonymous peer for a single message each day. The hero is a full-screen looping background video of a phone, fronted by an animated Instrument Serif headline and a typewriter effect that types and deletes short messages ("Are you here?", "Yes, I am.", "Speak soon.") positioned to sit on the phone's on-screen display — evoking a quiet, analog rhythm. A floating pill navbar with a glinting "Link up" CTA completes the single-screen composition.

ZeroSum-Solutions/mishmash

A single-page "scrollytelling" landing page called Step Into Wonder: a 4.8-screen pinned scroll sequence where painted curtains part over a glowing crystal-cave portal, the world zooms and the portal irises open toward a sky beyond, then a giant arc of nine pastel destination cards sweeps across the closing scroll like a slow ferris wheel. Serif display headlines (Viaoda Libre) pair with a plain sans body face (Imprima) over a near-black stage, with mouse parallax on every layer and a dignified static fallback under reduced motion.

ZeroSum-Solutions/mishmash

Full landing page for the fictional AI workflow-automation platform **FlowMate** — a fixed left sidebar with a logo mark and section nav, a translucent blurred navbar, a large serif hero headline, a liquid-glass chat-composer card overlaid on a looping ambient video, a six-card feature grid, and an auto-rotating three-up cards carousel, all on an off-white minimalist palette with one indigo-violet chromatic accent.

ZeroSum-Solutions/mishmash

A single-page landing page for GroundAI, an interior-design AI product, built with TanStack Start v1 on file-based routing, React 19, TypeScript, Tailwind CSS v4, framer-motion for all animation, and lucide-react for icons. The page is composed of four stacked sections: a full-bleed autoplaying video hero with spring-animated header, expanding glass nav pill, and word-by-word animated description; a CSS marquee of partner brand wordmarks; a CraftExperiences section with a spring-driven style carousel, a skeleton-morphing chat card, and a staggered adaptable list; and a two-column testimonials block with animated word reveals.

ZeroSum-Solutions/mishmash

Produce a print-grade single-page kami (紙 / 纸) document — warm parchment canvas, ink-blue accent, serif at one weight, no italic, no cool grays. The output reads like a professional white paper or studio one-pager, not an app UI. Multilingual by design (EN · zh-CN · ja). One self-contained HTML file, zero dependencies.

ZeroSum-Solutions/mishmash

A single-page, desktop-only dark hero landing for the fictional studio **Kubric™**, built on **TanStack Start v1 + React 19 + Vite 7 + Tailwind v4** with file-based routing. Features a looping background video with a progressive 8-layer `backdrop-filter` blur at the bottom, an animated SVG logo with arc stroke-dashoffset reveals, a glass nav pill, a character-by-character headline reveal, a vertical right-side section nav, and a white "About us" card. Everything animates in on first load once the background video is ready.

ZeroSum-Solutions/mishmash

Warm, editorial single-page landing for **Velar.**, a fictional luxury real-estate brand. A deep-teal typewriter preloader gives way to a sky-backdrop hero ("Live in Irreplaceable") with a cutout building image that rises from below on load, then a scroll-driven centerpiece: as the user scrolls, that same building drifts upward and scales to 1.45x while pinning toward the bottom of a sticky black statement section with count-up stats. A hover-expand five-tile video gallery slides up over the statement section, and a bronze-gradient "Inquire" close finishes the page. Syne (display) pairs with Inter (body) throughout, on a warm off-white ground with one chromatic bronze accent.

ZeroSum-Solutions/mishmash

A full-screen, cinematic hero landing page for a creative agency called Mainframe, featuring a fixed background video that scrubs forward and backward in response to horizontal mouse movement, an AI-assistant-themed blurred intro label, a typewriter-animated headline, and a row of pill-shaped action buttons with a clipboard copy email link. The design pairs HelveticaNowDisplay-Medium headings with HelveticaNowDisplayW01-Rg body text, both vendored locally for offline use. Built with React 19, TypeScript, Vite, and Tailwind CSS v3.

ZeroSum-Solutions/mishmash

A cinematic, single-section landing hero for mėntality, a fictional mental-health resources product. The page pairs a full-bleed background video that gradient-masks into a soft `#edeef5` base with a glassmorphic, fixed navigation bar, built in React 19 + Vite and animated with Motion (formerly Framer Motion). Notable techniques include `backdrop-blur` glassmorphism, a gradient mask that blends the video top into the base color, `clamp()` fluid headline sizing, an animated SVG hamburger that morphs into an X, an inline blinking "eye/pupil" pill in the headline, and an animated `pl`/`en` language toggle. Styling is Tailwind CSS 4 via the `@tailwindcss/vite` plugin (CSS-first `@theme`, no config file), with Inter and Outfit from Google Fonts.

ZeroSum-Solutions/mishmash

A pure-black (#000) monochrome landing page for Mindloop, a newsletter and content platform, where white typography does the talking — Inter for structure and Instrument Serif italics for accent words. The seven-section page flows through a fixed glass navbar, a full-viewport MP4 hero with email capture, an AI-platform awareness section, a scroll-driven word-by-word opacity reveal, a solution feature grid with a 3:1 video panel, an HLS-streamed CTA section via hls.js (with native Safari fallback), and a minimal footer — with Framer Motion entrances and a liquid-glass CSS border effect throughout.

ZeroSum-Solutions/mishmash

Cinematic single-page landing for the fictional neural-AI platform **SynapseX**. A fixed, full-viewport background video scrubs frame-by-frame as the page scrolls and progressively blurs, sitting behind a scramble-in split-corner hero headline, a 3D-tilted cinematic paragraph reveal, and a frosted-glass horizontal metrics carousel. Pure black-and-white scaffolding is punctuated by one neon-green "synaptic" accent that ties the UI to the glowing footage underneath it.

ZeroSum-Solutions/mishmash

A dark, full-bleed landing page for Neuralyn, a fictional analytics-dashboard SaaS, featuring a full-viewport hero with a scroll-linked parallax dashboard composited over a looping background video and a scroll-driven testimonial where each word lights up as you scroll. The aesthetic is pure-black background, white type, a single italic serif accent word, and a liquid-glass tag pill. Built with React 18 + Vite and TypeScript, styled with Tailwind CSS 3 and shadcn/ui-style primitives, animated via Framer Motion (`useScroll`/`useTransform`) for scroll-linked parallax and the word-by-word color reveal, with fonts self-hosted via Fontsource.

ZeroSum-Solutions/mishmash

A monochrome, editorial landing page for a fictional Natural History Museum paleontology collection, featuring a three-section continuous scroll: a full-viewport hero with a delayed background video reveal and an animated geometric "NHM" SVG logotype (per-polygon slide-up reveal), an "Explore Our World" section with scroll-revealed display heading and action pills, and a dark "Ancient Collection" chapter browser with auto-cycling fossil images and a custom SVG `feTurbulence`/`feDisplacementMap` sand-dissolve transition effect. Built with React 19, Vite 6, Tailwind CSS 4 (CSS-first config), and Motion (Framer Motion), in a strictly monochrome black/white/gray palette — no color accents.

ZeroSum-Solutions/mishmash

A single-page NFT landing site with four full-bleed sections (Hero, About, Collection, CTA) on a dark space theme. The page uses looping muted background videos, a CSS liquid-glass UI effect, a fixed grain texture overlay, and a tight color system (deep navy `#010828`, off-white `#EFF4FF`, neon green `#6FFF00`; Anton headings, Condiment cursive accents, system mono body). Showcases a three-card NFT collection grid with rarity scores and video previews.

ZeroSum-Solutions/mishmash

An integration of the `HeroGeometric` component from Kokonut UI — five blurred, gradient-filled shapes drift behind a gradient-clipped headline on a near-black `#030303` canvas, all driven by Framer Motion. The component is dropped into a proper shadcn/ui project structure and wrapped in a landing experience (floating navbar, CTAs, a live props playground, feature grid, install band) that showcases it above the fold. This animated hero section is an ideal starting point for dark-themed SaaS, design tool, or portfolio landing pages.

ZeroSum-Solutions/mishmash

A single-page space-travel landing site for "astra", with two full-height sections — a hero and a capabilities showcase — both layered over looping background videos that crossfade via a custom rAF-driven JavaScript routine (no CSS transitions). The page shares a "liquid glass" design system for all chrome (nav, chips, cards, CTAs); all text is white over full-bleed video with no dark overlay, so contrast comes entirely from the glass chrome.

相關技能