BoilerPrompt
v0

v0 prompt for a 404 page

A 404 page prompt for v0 that outputs one drop-in not-found component: oversized numeral, wry one-liner, and three recovery paths — button, home link, and search. The cursor-tracking parallax gives it life and shuts off under reduced motion. Customizer tokens control style, palette, type, and motion, so it matches your other pages from this library.

Last updated

Prompt
Design a 404 page for {{product}} as a single full-viewport screen — no scrolling at desktop sizes. Build it as one self-contained React component (NotFound) with Tailwind and shadcn/ui so I can drop it into app/not-found.tsx in Next.js.

Layout, one centered column, top to bottom:
- An oversized "404" as a display element, large enough to dominate the upper half of the viewport.
- A one-line headline with personality that fits {{product}}'s domain — write it as a wry observation about being lost, never an apology; the visitor is {{audience}}, so the joke can assume their vocabulary.
- One sentence of plain help text beneath it.
- A recovery row: a primary button, a ghost "Go home" button (shadcn Button variants), and a search input (shadcn Input) that submits to /search.
- A quiet footer line linking three popular destinations: Docs, Pricing, Support.

One interactive touch: the giant 404 tracks the cursor with a few pixels of parallax translate and settles back when the pointer leaves — and it must disable itself entirely under prefers-reduced-motion.

Visual direction:
{{style}}

Palette: {{palette}}
Typography: {{type}}
Motion: {{motion}}

Spacing and responsive:
- Vertical gaps between the five layers step 8/16/24/40px, with the largest gap between the 404 numeral and the headline group.
- Under 640px the recovery row stacks: search input full-width first, then the two buttons side by side below it.

The primary call to action is "{{cta}}" on the primary button.

After building, check that: the page fills exactly 100dvh with no scrollbar at 1440x900; the parallax stops entirely under prefers-reduced-motion; keyboard tab order reaches the search input right after the two buttons; the three footer links are real anchors; nothing clips at 375x667.

Customize it

Runs in your browser. Nothing you type here is sent anywhere.

Your customized prompt
Design a 404 page for a project management SaaS as a single full-viewport screen — no scrolling at desktop sizes. Build it as one self-contained React component (NotFound) with Tailwind and shadcn/ui so I can drop it into app/not-found.tsx in Next.js.

Layout, one centered column, top to bottom:
- An oversized "404" as a display element, large enough to dominate the upper half of the viewport.
- A one-line headline with personality that fits a project management SaaS's domain — write it as a wry observation about being lost, never an apology; the visitor is engineering managers at startups, so the joke can assume their vocabulary.
- One sentence of plain help text beneath it.
- A recovery row: a primary button, a ghost "Go home" button (shadcn Button variants), and a search input (shadcn Input) that submits to /search.
- A quiet footer line linking three popular destinations: Docs, Pricing, Support.

One interactive touch: the giant 404 tracks the cursor with a few pixels of parallax translate and settles back when the pointer leaves — and it must disable itself entirely under prefers-reduced-motion.

Visual direction:
Minimal dark style. Near-black canvas (#0A0A0B) with one elevated surface tone (#141416) for cards — never more than two surface steps. Hairline borders (1px, white at 8% opacity) instead of shadows; if a shadow is unavoidable use 0 1px 2px rgba(0,0,0,0.4) and nothing softer. Text in exactly three steps: white at 92% for headings, 60% for body, 40% for captions. Generous negative space — section padding at least 120px on desktop, 64px on mobile. The accent color appears only on interactive elements and one hero highlight, nowhere else.

Palette: a strict neutral ramp (white, #F5F5F5, #E5E5E5, #737373, #171717) carries the entire interface; pick one accent and use it only for primary CTAs, active states, and a single hero highlight. If the accent appears more than five times per viewport it stops being an accent. Keep semantic colors (success, error) desaturated so the accent stays in charge.
Typography: one geometric sans (a Futura/Poppins-class face) at three weights maximum (400/500/700). Scale: 64-88px hero, 32px section heads, 18px lede, 16px body, 13px caps labels with 0.08em tracking. Tight headline leading (1.05-1.1), relaxed body (1.6). Let the geometry carry the personality — no italics; weight and size do all hierarchy.
Motion: none. Zero scroll animations, zero entrance effects — the page is fully composed the instant it paints. Spend the motion budget on input feedback instead: 120-150ms ease-out color and transform transitions on hover and press states only. Hold this constraint absolutely; it is a statement, not an omission.

Spacing and responsive:
- Vertical gaps between the five layers step 8/16/24/40px, with the largest gap between the 404 numeral and the headline group.
- Under 640px the recovery row stacks: search input full-width first, then the two buttons side by side below it.

The primary call to action is "start a free trial" on the primary button.

After building, check that: the page fills exactly 100dvh with no scrollbar at 1440x900; the parallax stops entirely under prefers-reduced-motion; keyboard tab order reaches the search input right after the two buttons; the three footer links are real anchors; nothing clips at 375x667.

Same task in other tools

Questions about this prompt

How do I wire this into Next.js routing?

Save the component as app/not-found.tsx and Next.js serves it automatically for unmatched routes with the correct 404 status. On the pages router, use pages/404.tsx instead — same component, no server logic needed either way.

The cursor parallax feels like too much — how do I tune it?

Tell v0 a number: "cap the 404 numeral's translate at 4px and slow the settle transition to 300ms." Because the effect is isolated to the display element, v0 can adjust it without touching layout. Keep the prefers-reduced-motion disable in place whatever you choose.

Does this coordinate with the SaaS landing page prompt?

Yes — run both with the same customizer selections and the 404 inherits identical style, palette, type, and motion blocks, so it reads as the same site. The 404 deliberately reuses no landing-page sections; only the visual system carries over.

Part of the v0 landing-page cluster — start from the main v0 landing page prompt.

Related prompts