Kedhareswer Naidu

Zero Melt Preloader

Component 26

About

Ice melt gesture preloader and page gate with no enter button: a sheet of ice wipes down while a counter runs to zero, then you melt your way in by tracing a circle and the screen blows out to white and lifts. Raw WebGL2, two fullscreen passes, no three.js, React only.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Zero Melt Preloader to your project and fits it to your theme.

Code

How Zero Melt Preloader is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

"use client"

import * as React from "react"
import ZeroMeltPreloader from "@/components/ui/zero-melt-preloader"

const settings = {
  prompt: "Draw a zero",
  hint: "Trace a full circle to melt your way in",
  tolerance: 0.6,
  brush: 0.075,
  loadMs: 900,
  reward: "+100 XP",
  baseColor: "#1d6b52",
  frostColor: "#9fd8c0",
  meltColor: "#48c257",
  glowColor: "#eafff4",
}

export default function Demo(props: Partial<typeof settings>) {
  const s = { ...settings, ...props }

  return (
    <div className="h-[100svh] min-h-[600px] w-full">
      <ZeroMeltPreloader
        prompt={s.prompt}
        hint={s.hint}
        tolerance={s.tolerance}
        brush={s.brush}
        loadMs={s.loadMs}
        reward={s.reward}
        baseColor={s.baseColor}
        frostColor={s.frostColor}
        meltColor={s.meltColor}
        glowColor={s.glowColor}
      >
        <div
          className="flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center"
          style={{
            background:
              "radial-gradient(120% 90% at 30% 15%, #1a5f4a 0%, #0d3b30 45%, #06211c 100%)",
          }}
        >
          <span className="text-[11px] font-medium uppercase tracking-[0.22em] text-emerald-300/70">
            Unlocked
          </span>
          <h2 className="max-w-md text-balance text-4xl font-light tracking-tight text-white sm:text-5xl">
            Everything starts at zero.
          </h2>
          <p className="max-w-sm text-sm text-emerald-100/60">
            The ice is gone. Whatever you wrap renders here, untouched.
          </p>
        </div>
      </ZeroMeltPreloader>
    </div>
  )
}

More by Kedhareswer Naidu

View all
  • Glassmorphism Folder Cards

    Glassmorphism Folder Cards

    3.3K
  • GitHub Contribution Graph 3D Heatmap

    GitHub Contribution Graph 3D Heatmap

    1.9K
  • Halftone Wordmark Footer

    Halftone Wordmark Footer

    1.5K
  • Morph Gallery

    Morph Gallery

    1.5K
  • Hanging Polaroid Image Carousel

    Hanging Polaroid Image Carousel

    942
  • Glass Cards

    Glass Cards

    747
  • Animated Features Bento with Live Diagrams

    Animated Features Bento with Live Diagrams

    692
  • Tiger Tear Reveal

    Tiger Tear Reveal

    680