Skip to content
VibeFather
Sign up free

2 cases built from this template

Same prompt, different [VARIABLES]. Click one to preview it above.

About this template

A pocket gadget deserves a launch page with something to play with. This design turns an original manual object into a colorful product story, starting with a real 3D model visitors can rotate by dragging. Red and yellow fill the opening screen, a cobalt disk frames the object, and mint shapes punctuate a consistent Memphis vocabulary of dots, squiggles, outlines, and hard shadows. Rounded display lettering gives the page a friendly voice while clear body text keeps the details readable.

The page suits makers, small product studios, creative shops, and designers presenting an unusual physical concept. Its sequence moves from a short introduction to studio photography, three interactive feature cards, a deliberately humorous specification sheet, finish selection, practical questions, and a compact reservation panel. The dial and tab respond to input, color choices update the hero model, and the reservation stays in the visitor’s browser. The demonstration explains that there is no real order, payment, or shipping promise.

Change the maker name, product name, headline, audience, ritual, and concept price to tell another story. The second example reinterprets the same physical object as a playful decision helper rather than a tiny celebration device, showing how the structure survives a change of purpose. The supplied photography shares one original object shape and studio treatment, so both examples remain visually coherent. Fonts and assets are stored locally, and the finished site ships as static files. Keyboard controls, touch gestures, visible feedback, and reduced-motion behavior are specified alongside the visual details, making the interaction usable beyond a desktop pointer.

The template prompt

The live demo was built from exactly this text — nothing added. The other cases only change the values of the [VARIABLES].

# Quirky Gadget Product Launch Page

Build this website exactly as described below. Replace the [VARIABLES] with your own values; keep everything else.

## Brief
Build a single-page English launch site for [BRAND] and its original pocket gadget [PRODUCT]. Default content describes a manual tiny-victory celebration device, with an original rounded triangular shell, ribbed front dial, mint hub, and yellow click tab. Give it a decisive Memphis identity: primary red #FF3B30, sunflower yellow #FFD60A, cobalt #2F5BFF, mint #A8F0CF, white, black outlines and chunky hand-drawn geometry. The hero is actual draggable 3D, supported by three coherent studio product photographs further down the page. The site is a fictional concept demonstration with honest local-only reservation behavior.

- Audience: [AUDIENCE]; users should understand [RITUAL] in a few seconds and get a satisfying small interaction without a tutorial.
- Goal: Let visitors rotate the product, try its two tactile controls, understand its low-stakes purpose, select a finish, and save or remove an explicitly local demo preorder. Keep the same structure, exact color identity, geometry, and assets when the variables change.
- Tone: Warm, matter-of-fact absurdity: dry little jokes about a tiny object, never corporate productivity claims. Short sentences, specific tactile verbs, and candid explanations of what the local demo does. All copy is US English.

## Stack
- Framework: Vite 6 + React 19 + TypeScript 5
- Styling: Vanilla CSS
- Libraries: vite (MIT), react and react-dom (MIT), typescript (Apache-2.0), [email protected] (MIT), @fontsource/fredoka (OFL-1.1), @fontsource/dm-sans (OFL-1.1)
- Build: `npm run build` → static files in `dist/`. No backend, no server code, no external APIs.
- Setup:
  - Use React with TypeScript, one index.html, and Vite base ./; npm run build runs tsc -b followed by vite build. Keep sourcemap false and use relative paths for every bundled resource.
  - Install Three.js locally and bundle it; use no CDN, remote module loader, external model, texture, HDRI, 3D asset, or third-party API. Build the original product from Three.js primitives and a rounded triangle Shape/ExtrudeGeometry.
  - Self-host Fredoka weights 500/600 and DM Sans weights 400/500/600/700 through Fontsource CSS imports; use Latin-only font files when possible. Put palette, spacing, shadows, media queries, and keyframes in src/styles.css.
  - Keep every variable value, headline, feature, outcome, finish, specification row, FAQ answer, price, and image descriptor in one src/content.ts file. React components consume this file; do not scatter product-specific content in JSX.
  - Write section copy for the default values provided here. When any variable changes, rewrite every dependent string including status outcomes, model instructions, buttons, technical jokes, FAQ answers, reservation summary, footer, and alt text to suit [PRODUCT], [RITUAL], and [AUDIENCE]. Preserve shared physical geometry and finishes so the supplied photographs remain accurate.
  - For a low-stakes choice-helper [RITUAL], use the supplied alternate headline; replace wins with five editable options defaulting to Make something / Take a walk / Call a friend / Try a new route / Rest for a bit. Hero tab chooses the next option and reports One possible next step: followed by it. Feature cards become Set five options / Roll a maybe / Take the next step. Story headline: A small nudge for the gloriously undecided. Story copy explains that the dial offers a playful suggestion for harmless choices, not advice or a prediction. Spec heading: A highly unofficial tie-breaker. Humorous rows become Choice capacity — Five perfectly harmless maybes; Decision authority — Yours, entirely; Maximum certainty — Comfortably imaginary. Preorder headline: Leave a little room for maybe. Never retain celebration-only copy under the choice-helper values.
  - Create a code-drawn triangular favicon and a plain document title of [PRODUCT] by [BRAND]. No SEO metadata tasks or hidden build instructions.
  - Use native scroll anchors within ./index.html and meaningful ids hero, what-it-does, specs, colors, questions, preorder. No bare-directory links, missing routes, or external checkout.
  - Use one shared state for selected finish, model dial step, and local reservation. localStorage access must be guarded; storage failure falls back to memory with accurate feedback. Nothing is sent over the network.
  - Create ASSETS.md at the root listing all supplied images with exact URL, target path, generation credit, and redistribution note, plus Fontsource fonts and code-authored SVG/Three.js artwork. Keep dist below 20 MB and ship no source maps or src directory.

## Variables
- [BRAND] — Brand (default: "Small Racket"). An invented maker name; the wordmark is typeset, never a copied logo.
- [PRODUCT] — Pocket product (default: "Pocket Hooray"). The name of an original manual gadget. Keep the shared rounded-triangle shell, ribbed dial, mint hub, and yellow tab so the supplied photographs remain accurate.
- [HEADLINE] — Hero headline (default: "Small win. Big little fuss."). A short two-part headline; break after the first sentence.
- [RITUAL] — What the gadget does (default: "A palm-sized manual celebration gadget for noticing everyday wins. Roll the ribbed dial, give the yellow tab a click, and carry the feeling with you."). The purpose and three-step ritual. Rewrite all related feature copy, action labels, FAQ, humorous specifications, sample outcomes, and preorder summary when this changes.
- [AUDIENCE] — Who it is for (default: "habit builders, desk wanderers, and anyone who finally sent that email"). A concrete audience for this low-stakes pocket gadget.
- [PRICE] — Concept unit price (default: "$24"). A fictional displayed unit price in USD. It appears as concept-demo pricing, never a real charge.
- [CREDIT] — keep a small "Template by VibeFather" link to https://vibefather.ai/t/quirky-gadget-product-launch-page in the footer (default: yes; delete this line to remove it)

The copy under Pages & Sections is written for the default values. If your values differ, rewrite every headline, paragraph, label and image for them — same length, tone and structure. Layout, colors, type and motion stay as described.
Keep all copy, image paths and links in one content file (for example `src/content.ts`), keyed by section, so the content can be swapped later without touching components.

Pro template. The design, sections, motion and assets parts of this prompt are for Pro members. The live demo and DESIGN.md stay free.

DESIGN.md

The design system on its own — colors, type, spacing and motion. Apply this look to a project you already have.

---
name: "Quirky Gadget Product Launch Page"
colors:
  primary_red: "#FF3B30"
  sunflower_yellow: "#FFD60A"
  cobalt: "#2F5BFF"
  mint: "#A8F0CF"
  white: "#FFFFFF"
  ink: "#15151A"
typography:
  display_product_wordmark_and_section_headings: { family: "Fredoka", weights: [500, 600] }
  body_labels_navigation_controls_and_data_sheet: { family: "DM Sans", weights: [400, 500, 600, 700] }
spacing: "Use a 4px base. Desktop max content width 1320px, 48px side padding, 24px grid gaps, and 96–104px between major sections. At 390px use 20px side padding, 20px gaps and 56–64px section padding. Body 16–18px at line-height 1.55–1.65, max 58 characters per line. Never shrink body text to fit a dense colored card. Keep header and first copy concise enough that the product starts within the mobile first viewport."
radius: "3px Ink borders throughout. Buttons and data sheets 12px radius, feature cards 22px, photography frames 16px, small tags 8px. Offset hard shadows 6–10px Ink with no blur; use true soft lighting only for the 3D product shadow. Big Memphis circles and pills are intentional geometric ornaments, not generic rounded UI cards."
---

# Quirky Gadget Product Launch Page — Design System

Apply this design system to an existing project. It describes the look and feel only; for the full site, use prompt.md.

## Colors
- **Primary red** `#FF3B30` — Large left hero field and final preorder panel; use Ink #15151A for all normal text on it. Also the default product shell.
- **Sunflower yellow** `#FFD60A` — Large right hero field, specification section, selected accents and order sheet; Ink #15151A text only.
- **Cobalt** `#2F5BFF` — Huge hero disk, full what-it-does section, active primary controls and persistent bar; white #FFFFFF text on these blue backgrounds.
- **Mint** `#A8F0CF` — Front hub, broad FAQ section, third feature card and geometric accents. Pair with Ink #15151A.
- **White** `#FFFFFF` — Header, photography/story and finish-selection sections, first feature card. Main reading text Ink #15151A.
- **Ink** `#15151A` — All outlines and hard shadows; normal body on red/yellow/mint/white. Never substitute pale gray text for the readable palette.

## Typography
- **Display, product wordmark and section headings** — Fredoka (OFL), weights 500/600. Self-host the font files.
- **Body, labels, navigation, controls and data sheet** — DM Sans (OFL), weights 400/500/600/700. Self-host the font files.

## Spacing & shape
- Spacing: Use a 4px base. Desktop max content width 1320px, 48px side padding, 24px grid gaps, and 96–104px between major sections. At 390px use 20px side padding, 20px gaps and 56–64px section padding. Body 16–18px at line-height 1.55–1.65, max 58 characters per line. Never shrink body text to fit a dense colored card. Keep header and first copy concise enough that the product starts within the mobile first viewport.
- Radius: 3px Ink borders throughout. Buttons and data sheets 12px radius, feature cards 22px, photography frames 16px, small tags 8px. Offset hard shadows 6–10px Ink with no blur; use true soft lighting only for the 3D product shadow. Big Memphis circles and pills are intentional geometric ornaments, not generic rounded UI cards.

## Motion
- Use original CSS/IntersectionObserver bouncy reveal choreography with small 24–28px travel and a single overshoot. Each section appears once; never put reading text in an endless marquee.
- Actual pointer movement rotates original Three.js geometry; keyboard viewpoint controls provide equivalent access. Tab click advances the front dial and text state. No drag-to-spin photograph trick.
- No continuously moving backgrounds. Idle product may give one 6-degree welcome tilt after 600ms, then stay still until input. Visible actions remain usable with all motion disabled.
- Respect prefers-reduced-motion everywhere: no idle tilt, bounce, inertia, confetti, or animated scrolling; instant state changes and direct model manipulation remain available.
- Performance targets: keep main interactions responsive on mobile, cap render resolution, stop offscreen rendering, and never block scrolling with canvas pointer capture for vertical gestures.

## Imagery
Three generated studio product photographs form one shoot: the same small unbranded rounded triangular red shell with flat base, cobalt ribbed front ring, mint center hub, one yellow pill tab on its upper-right shoulder, and thin dark seam. Materials are satin molded plastic, light is a large softbox from upper left, colors are exact red #FF3B30 / yellow #FFD60A / cobalt #2F5BFF / mint #A8F0CF with white. Images have no text, logos, packaging labels, faces, or recognizable people. The lineup additionally shows cobalt-shell and mint-shell finishes; controls retain their same colors. Download the three supplied images locally; use photography for story, detail, and finish lineup while the first-screen anchor is a polished real code-built 3D version of the same shape. Memphis squiggles, dots, gadget miniatures, and confetti are original SVG/CSS/Three.js, not stock graphics. No extra external models, icons, or background textures.

## Tone
Warm, matter-of-fact absurdity: dry little jokes about a tiny object, never corporate productivity claims. Short sentences, specific tactile verbs, and candid explanations of what the local demo does. All copy is US English.

---
Inspired by Quirky Gadget Product Launch Page by @GlanceHall — https://glancehall.com/blog/coding-agents/codex-projects
— Prompt by VibeFather · https://vibefather.ai/t/quirky-gadget-product-launch-page · CC BY-NC 4.0 (non-commercial; commercial use needs a VibeFather Pro license) · Request removal: https://vibefather.ai/takedown

Make it yours

  • A small design studio launching a desk object: set BRAND and PRODUCT to your item, rewrite RITUAL for what it does, and keep the draggable 3D hero and studio photography.
  • A maker selling a pocket fidget tool: change HEADLINE to your one-line promise, set PRICE as concept pricing, and swap the specification jokes for your own dry, honest rows.
  • A creative shop presenting an unusual concept: use the finish selector to show your colorways, and point the local reservation panel at your own waitlist form.
  • A founder testing a playful idea: keep AUDIENCE broad, rewrite the three feature cards around your two tactile controls, and use the decision-helper variant to show a second purpose.

Quirky Gadget Product Launch Page: questions and answers

How do I change the gadget story on the Quirky Gadget Product Launch Page for my own product?

The Quirky Gadget Product Launch Page keeps every product-specific string in one content file, so you rewrite BRAND, PRODUCT, HEADLINE, AUDIENCE, RITUAL and PRICE there and the rest of the page follows. The prompt lists exactly which dependent copy to update: feature cards, status outcomes, specification jokes, FAQ answers, finish summary and footer. Keep the rounded-triangle shell, ribbed dial and yellow tab so the supplied studio photographs stay accurate.

Can I use the Quirky Gadget Product Launch Page template for a client project?

Commercial and client work with the Quirky Gadget Product Launch Page template requires Pro. Free templates' prompts and every DESIGN.md are licensed for personal, non-commercial use only. Pro templates show the brief, stack and variables publicly, and Pro members also get the full prompt and the source code of the demos, which is what you need to hand a finished site to a paying client.

How does the preorder and reservation panel work on the Quirky Gadget Product Launch Page?

The reservation panel on the Quirky Gadget Product Launch Page saves a demo preorder in the visitor's own browser using local storage, and the page says plainly that there is no real order, payment or shipping promise. Nothing is sent over the network. If browser storage fails, the page falls back to memory and tells the visitor so. To take real reservations you would connect the panel to your own signup service.

What can visitors actually interact with on the Quirky Gadget Product Launch Page?

Visitors to the Quirky Gadget Product Launch Page can drag a real 3D model of the gadget to rotate it, turn the ribbed dial and click the yellow tab to trigger the gadget's outcome, and pick a finish that updates the hero model's color. Three interactive feature cards and a compact reservation panel respond to input too. Keyboard controls, touch gestures, visible feedback and reduced-motion behavior are specified so the interaction works beyond a desktop pointer.

How do I rewrite the Quirky Gadget Product Launch Page for a decision helper instead of a celebration gadget?

The Quirky Gadget Product Launch Page prompt includes a ready-made alternate story: set RITUAL to a playful decision helper, use the supplied alternate headline, and swap celebration copy for five editable options such as Make something or Take a walk. The tab reports One possible next step, feature cards become Set five options, Roll a maybe and Take the next step, and the spec sheet becomes A highly unofficial tie-breaker. The demo built with GLM-5.3 in ZCode shows this version.

How do I build a quirky gadget product launch page with AI?

Copy the full prompt (Pro) from this page or run npx vibefather add quirky-gadget-product-launch-page, replace [BRAND], [PRICE], [RITUAL] and [PRODUCT] with your own content, and paste it into Claude Code, Codex, Cursor or another AI coding agent. The live demos were built from exactly that text.

Which AI model built the Quirky Gadget Product Launch Page demo?

The Pocket celebration gadget case was built by GPT-6.1 Sol in Codex; the Pocket decision helper case was built by GLM-5.3 in ZCode. Each build used the published prompt with nothing added, so you can compare the models side by side.

What tech stack and pages does the Quirky Gadget Product Launch Page template use?

Quirky Gadget Product Launch Page is a single-page site built with Three.js and React, with drag & physics, scroll animation and 3d / webgl. The prompt fixes the stack so every AI tool builds the same kind of project, and the result runs as a static site you can host anywhere.

Is the Quirky Gadget Product Launch Page template free to use?

Quirky Gadget Product Launch Page is a Pro template: the brief, stack and variables are public, and the full prompt, the source code of the live demo and a commercial license come with VibeFather Pro. Its DESIGN.md is free for personal projects.

Does the Quirky Gadget Product Launch Page template work on mobile?

Yes. Every Quirky Gadget Product Launch Page build was tested on a phone-sized screen as well as desktop before it went live, checking layout, text size and touch targets. Open the live demo on your phone, or switch the preview on this page to mobile view, to check it yourself.