locker-polaroids is an Awwwards-caliber interactive web experience: a single tall five-locker cabinet rendered as one sculptural, glossy pastel object that a visitor explores like a physical keepsake box. The product intent is a portfolio / self-expression surface — not a utility application — where the locker wall is the hero, the objects inside are modelled 3D props matching the user's reference photos exactly, and the page below the fold continues the same candy-gloss world through a realistic campus flipbook and a four-column campaign video reveal.
The audience is a young, design-literate, image-first crowd (fashion, photography, campus life) who expect tactility, gloss and play. The experience is delivered as a single anonymous public page built with Next.js 14 App Router, TypeScript, Tailwind CSS, Framer Motion, Three.js / React Three Fiber, and Lucide-React, with production-ready, complete TypeScript code and no summarized or omitted data.
The current delivery is one anonymous, publicly reachable page — Landing — that contains the entire accepted experience:
min(86vh, 100vw * 2500 / 5450) and centred in a pink room with a floor shadow, so the whole unit fits on screen without vertical cutoff before scrolling is unlocked.TornPaperDivider with negative vertical margins and no empty gaps.Actors: a single accepted human persona, the Visitor, who is anonymous and unauthenticated. All rendering, physics, and animation work is performed by the application itself as system processes supporting the Visitor's interaction; there is no provider-owned or external-destination surface in the accepted scope.
Narrow exclusions: no account creation, sign-in, or identity continuity; no backend data persistence or user-generated content; no additional pages, routes, or destinations beyond Landing; no adjacent portfolio, e-commerce, or social capabilities.
The accepted product is a headless-style, single-surface front-end experience: everything the Visitor can do happens on one anonymous public page. Access is open — there is no login, no invitation, no provisioning, and no protected state, because no accepted journey requires the Visitor to privately own, resume, or return to durable actor-specific state. The locker cabinet, its contents, the flipbook, and the video row are all presentational and interactive within a single visit.
The delivery boundary is therefore: current — the Landing page, the scaled five-locker 3D cabinet, the modelled props, the flipbook, the four campaign videos, and the torn-paper transitions. There is no future-horizon section in the accepted requirements; nothing is deferred, and nothing outside the Landing page is in scope. The application owns all rendering and interaction; no third-party provider owns any accepted capability.
Not applicable — no reference directive declares content_source.
Information and state
min(86vh, 100vw * 2500 / 5450), centred in a #FFE9F2 pink room with a floor shadow.LOCKER / POLAROIDS in Unbounded, split across two stacked lines, bleeding off the left viewport edge behind the cabinet so the lockers occlude the type.11px / 0.22em lime-on-plum label pinned top-left reading 01 — 05 · TAP A DOOR.01–05 in Unbounded at 96–220px, bled behind the doors as pink-on-pink watermarks.TornPaperDivider transitions, the campus flipbook on a cream band, and the four-column campaign video row.Primary actions
1.05s cubic-bezier(0.22,1,0.36,1) curve with a 2° overshoot.Supporting actions
Domain entities
PASTELCA, Polaroids, notes, letter, magazine Belleza., shoes, bag, books, certificate.Component responsibilities
-mt-[2px] -mb-[2px], white deckle edge fibers, a 2px #FF4FA3 under-stroke, and fillColor matching the preceding section exactly.States
FR-1 — Scaled five-locker cabinet
As a Visitor, I should see the five-locker cabinet rendered as a single rigid 3D group scaled to min(86vh, 100vw * 2500 / 5450) and centred in a pink room with a floor shadow, so that the entire locker fits majestically on screen without vertical cutoff before scrolling is unlocked.
FR-2 — Locker door proportions As a Visitor, I should see each single locker door rendered at a base aspect ratio of 1090px width by 2500px height (tall cabinet ratio 1:2.29), so that the cabinet reads as a tall, toy-like lacquered object rather than a hard industrial cabinet.
FR-3 — Closed lockers 1, 3 and 5 with attached cards As a Visitor, I should see lockers 1, 3 and 5 with closed doors and cards attached to them, so that the cabinet reads as a physical keepsake box with taped artefacts.
FR-4 — Open lockers 2 and 4 with strict physical placement As a Visitor, I should see lockers 2 and 4 open with strict physical placement — Polaroids hung on a string, non-floating items resting on shelves, umbrella leaning, and depth layering — so that the interior reads as a real, physically plausible locker.
FR-5 — Zero-overlap / no-clipping asset integrity As a Visitor, I should see every media container and placeholder strictly fit its designated pixel aspect ratio, with artwork never covered, overlapped, cropped, distorted, or pushed out of view, so that each prop and frame is fully legible.
FR-6 — Modelled 3D item details matching the user photos exactly
As a Visitor, I should see the modelled props matching the user photos exactly — pastel vintage 35mm camera PASTELCA (mint green, baby pink body, lavender lens, soft purple buttons); 3 Polaroids pinned with wooden clothespins on a horizontal jute string; spiral-bound soft pink notebook with bold magenta NOTES title; elegant soft lilac / lavender paper envelope letter; pastel pink fashion magazine Belleza. with white serif typography; vintage retro runner sneakers in beige/cream suede with dark brown stripes; feminine baby pink shoulder bag with silver buckle and two small flap pockets; stack and row of soft pastel spine books (dusty pink, lavender, sage, baby blue, peach); classic vintage ornate gold carved picture frame with parchment paper and gold foil seal — so that the locker contents are recognisable and faithful.
FR-7 — Realistic campus flipbook As a Visitor, I should be able to turn the pages of the campus flipbook and see genuine physical paper movement with 3D page-curl deformation and dynamic shading, so that the book feels like real paper.
prefers-reduced-motion, the flipbook becomes a stepped page-by-page crossfade with the same shadow shadingFR-8 — Four-column campaign video reveal As a Visitor, I should see all 4 campaign videos arranged side-by-side horizontally in a 4-column row in the order Hard Selling → Entertainment → Education → Fun, so that the campaign set reads as one shared row rather than four floating tiles.
prefers-reduced-motion the row wraps or scrolls so each item becomes fully readableFR-9 — Torn paper divider zero-gap rule
As a Visitor, I should see every torn paper transition rendered with the provided 3-layer TornPaperDivider component using negative vertical margins (-mt-[2px] -mb-[2px]), white deckle edge fibers, and an exact matching fillColor from the preceding section, so that section transitions look like a cut through a pink fondant slab with no empty gaps.
#FF4FA3 under-stroke and the fill matches the preceding section exactlyfillColor and re-applying the negative marginsFR-10 — Layout, modal, shelf and component fidelity to the ASCII diagrams As a Visitor, I should see all page layouts, modal dialogs, locker shelves, item placements, and component structures rendered exactly matching the provided ASCII diagrams and detailed positioning rules, so that the experience matches the specified physical arrangement.
FR-11 — Production-ready complete TypeScript output As a Visitor, I should receive an experience built from production-ready, complete TypeScript code with no summarized or omitted data, so that every specified element is actually present and functional.
Product context. The Visitor arrives anonymously at a single public page. They are part of a young, design-literate, image-first crowd — fashion, photography, campus life — who expect tactility, gloss and play rather than corporate polish. They encounter the locker wall as one sculptural object standing in a pink room, with the wordmark bleeding off the left edge behind the cabinet.
Primary goal. To explore the portfolio-style locker scene and its contents — to open the tall five-locker cabinet like a physical keepsake box and see each item's detail without clipping or overlap.
Distinct accepted responsibilities.
Relevant inputs or decisions. Which door to tap, which Polaroid to hover, which flipbook page to turn, and which campaign video to select. The Visitor makes no account, permission, or configuration decisions — none are accepted.
Interactions with other accepted participants. None. The Visitor is the only accepted human persona; all other work is performed by the application as system processes supporting the Visitor's interaction.
Observable success. The Visitor sees the full locker unit and each item's detail without clipping or overlap; every prop, card, Polaroid, magazine cover, certificate and video frame keeps its exact aspect ratio and stays fully visible at 375px, 768px and 1280px; the flipbook turns with real paper movement; the four campaign videos appear in one row in the order Hard Selling → Entertainment → Education → Fun; and no empty gap appears at any torn-paper transition.
min(86vh, 100vw * 2500 / 5450), centred in a #FFE9F2 pink room with a floor shadow.LOCKER / POLAROIDS in Unbounded bleeding off the left viewport edge behind the cabinet, and the small 01 — 05 · TAP A DOOR label pinned top-left.1.05s cubic-bezier(0.22,1,0.36,1) curve with a 2° overshoot.prefers-reduced-motion, the idle floats stop and the Polaroids hold a static arrangement in which each remains fully visible.PASTELCA camera (mint green, baby pink body, lavender lens, soft purple buttons) as the hero-scale object when locker 2 opens; the spiral-bound soft pink notebook with bold magenta NOTES title; the soft lilac / lavender paper envelope letter; the pastel pink Belleza. magazine with white serif typography; the beige/cream suede retro runner sneakers with dark brown stripes; the baby pink shoulder bag with silver buckle and two small flap pockets; the stack and row of soft pastel spine books (dusty pink, lavender, sage, baby blue, peach); and the ornate gold carved frame with parchment paper and gold foil seal on the top shelf of locker 4.TornPaperDivider with -mt-[2px] -mb-[2px], white deckle edge fibers, a 2px #FF4FA3 under-stroke, and a fillColor matching the preceding section exactly.prefers-reduced-motion, the flipbook becomes a stepped page-by-page crossfade with the same shadow shading.prefers-reduced-motion the row wraps or scrolls so each item becomes fully readable.The authoritative creative direction is Sensual pastel pop after Karim Rashid — a candy-gloss locker wall that feels like a 2001 Tokyo dorm fantasy. The muse is Karim Rashid; the headline register is glossy optimism, organic, curved and saturated, never restrained.
Colour tokens (light mode)
| Role | Hex | Use |
|---|---|---|
| Background | #FFE9F2 | Saturated bubblegum wash; the page reads as a pink room, never white |
| Surface | #FFFCFA | Glossy locker metal / card stock; large panels and torn-paper fill |
| Text | #2B1B2E | Deep aubergine-plum; ~11:1 contrast on the pink ground |
| Primary | #FF4FA3 | Hot pink: locker frame, CTA capsules, Belleza. masthead, torn-edge under-stroke (~20% of frame) |
| Accent | #C6F24E | Acid lime, interaction only: hovered locker handles, flipbook page-corner, active video tab, certificate seal glow (≤5%) |
| Muted | #B79FB0 | Metadata, plate numbers, small-caps labels |
Object colours (inside the lockers only, never UI chrome): mint #BFE3CE, lavender #CDBDF0, sage #C9D8B6, peach #FFD2B0, cream #F4E7D6, brown #6B4A38.
Typography
clamp(44px, 9vw, 132px); section heads clamp(32px, 5.5vw, 72px). Numerals as ornament: locker plate numbers 01–05 at 96–220px, bled behind the doors as pink-on-pink watermarks.clamp(16px, 1.15vw, 17px). All-caps micro-labels at 11px / 0.22em tracking.Shape language. Blob and capsule geometry everywhere. Locker doors carry 28px continuous radii and a 6px gloss rim; handles are 12×90px lime capsules; every button is a full pill; section boundaries are torn paper with an organic deckle and a 2px hot-pink under-stroke; shelf lines curve with a 2px sag; card corners 20px; photo mounts 6px so Polaroids keep their real photographic rectangle.
Spacing rhythm. 4 / 8 / 16 / 24 / 40 / 64 / 96 scale; 96px desktop gutters, 20px mobile gutters.
Imagery style. All imagery is generated in-scene with React Three Fiber rather than photography: glossy low-poly pastel props with soft studio lighting, a 40px-radius pink ambient bounce, and one warm key light from upper-left so every object carries a highlight. The gold certificate frame is the only metallic object and the only ornament allowed.
Avoid. No white or near-white page ground; no blue, indigo or violet UI chrome (lavender exists only inside the envelope and book spines); no centred headline + subtext + pill button hero; no gradient-blob background; no grid of identical hover-lift cards; no hard industrial locker metal, exposed bolts, or grunge textures; no flat clip-art or emoji stand-ins; never crop, cover or overlap a Polaroid, card, magazine cover, certificate or video frame.
The locker wall as a single scaled 3D sculpture standing in a pink room.
The public entry is a full-viewport #FFE9F2 room. The dominant element is the five tall lockers rendered as one rigid 3D group, occupying 86vh and centred, scaled to min(86vh, 100vw * 2500 / 5450) so the whole cabinet stands majestically without vertical cutoff. The wordmark LOCKER / POLAROIDS is set in Unbounded at clamp(44px, 9vw, 132px), split across two stacked lines, bleeding off the left viewport edge behind the cabinet so the lockers stand in front of the type, not under it. The type is hot pink #FF4FA3 on the #FFE9F2 ground — a tonal watermark, not a headline you read first — while the readable page title sits as a small 11px / 0.22em lime-on-plum label pinned at the top-left: 01 — 05 · TAP A DOOR.
A lime capsule handle glints on each closed door; lockers 2 and 4 are open and glow warmer from inside. There is no centred headline, no subtext stack, no blue button, and no gradient blob — the object is the hero and the type is architecture behind it. Below the fold, the same world continues as full-bleed pink and cream bands cut by torn-paper transitions whose deckle edge carries a 2px #FF4FA3 under-stroke, so each section boundary reads as a cut through a pink fondant slab.
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: webgl
Landing Hero Motion Brief
LOCKER / POLAROIDS wordmark bleeding off the left edge behind it.min(86vh, 100vw * 2500 / 5450) and centres with a floor shadow; on hover, a closed door's lime capsule handle glints; on tap, the door swings open on a 1.05s cubic-bezier(0.22,1,0.36,1) curve with a 2° overshoot, revealing the interior. The outcome is a cabinet that behaves like a physical keepsake box — the Visitor opens it and the contents are already there, placed.#FFE9F2 room, wordmark bleeding off the left edge behind it, the 01 — 05 · TAP A DOOR label pinned top-left, lockers 1/3/5 closed with taped cards at 38% height, lockers 2/4 open and glowing warmer from inside, floor shadow beneath the group.Landing Hero 3D Scene Brief — DIRECTION-DERIVED
One crafted real-time scene: the five-locker cabinet as a single rigid 3D group with five 1:2.29 doors, 28px continuous radii, a 6px gloss rim, 12×90px lime capsule handles, and shelf lines with a 2px sag. Lockers 1, 3 and 5 are closed with taped cards; lockers 2 and 4 are open, showing the jute string at 22% depth with three 3:3.5 Polaroids hung by wooden clothespins, non-floating items resting on shelves with contact shadows, the umbrella leaning at 9° against the right interior wall, the magazine and books flat on shelves, and the gold certificate frame on the top shelf of locker 4. Lighting is soft studio: a 40px-radius pink ambient bounce and one warm key light from upper-left so every object carries a highlight. The scene shows the product's defining state — a tall pastel locker wall, half closed, half open, with its contents placed.
min(86vh, 100vw * 2500 / 5450) so the entire locker fits on screen without vertical cutoff before scrolling is unlocked. Provenance: explicit. Rationale: the whole cabinet must be visible before any scroll.TornPaperDivider component with negative vertical margins (-mt-[2px] -mb-[2px]), white deckle edge fibers, and an exact matching fillColor from the preceding section; never leave empty gaps. Provenance: explicit. Rationale: the divider is a supplied artifact with a fixed contract.font-size: clamp(...) with its mobile size) to fit, and no other element covers any part of them. Provenance: explicit (creative direction). Rationale: readability takes precedence over decorative cropping.prefers-reduced-motion, all idle floats stop, doors fade-swap in 200ms, the flipbook becomes a stepped page-by-page crossfade with the same shadow shading, and the video row wraps or scrolls so each item can be brought fully into view. Provenance: explicit (creative direction). Rationale: a usable static arrangement must remain available.[Default — not specified by user][Default — not specified by user]access_requirement: none).TornPaperDivider component is authoritative for every torn paper transition. Provenance: explicit.min(86vh, 100vw * 2500 / 5450). Provenance: explicit.TornPaperDivider with -mt-[2px] -mb-[2px], white deckle edge fibers, and an exact matching fillColor from the preceding section; never leave empty gaps. Provenance: explicit.min(86vh, 100vw * 2500 / 5450) and centred in the pink room.PASTELCA — the pastel vintage 35mm camera prop: mint green, baby pink body, lavender lens, soft purple buttons.Belleza. — the pastel pink fashion magazine prop with white serif typography.NOTES — the spiral-bound soft pink notebook prop with a bold magenta title.TornPaperDivider — the provided 3-layer torn-paper transition component with -mt-[2px] -mb-[2px], white deckle edge fibers, a 2px #FF4FA3 under-stroke, and a fillColor matching the preceding section.#C6F24E used only as interaction: hovered locker handles, the flipbook page-corner, the active video tab, and the certificate seal glow.
01 — 05 · TAP A DOOR
Open — tap again to close
PASTELCA · Polaroids · NOTES · Letter
Five spreads from the semester, printed on card stock and bound by hand. Turn a page and the paper lifts, curls and catches the light the way real stock does.
Quad morning — the pale hour before the first lecture.
01/05
Campus page 1 of 5: Quad Morning
Four campaign cuts, side by side. Hover a tile to lift it; tap one to make it the active tab on the shared lime rail.
4 of 4 tilesOne shared lime tab tracks the active cut — the only accent in this band. Every frame keeps its 16:9 field, so nothing is cropped at any width.
Now showing: Hard Selling
01 — 05 · TAP A DOOR
Open — tap again to close
PASTELCA · Polaroids · NOTES · Letter
Five spreads from the semester, printed on card stock and bound by hand. Turn a page and the paper lifts, curls and catches the light the way real stock does.
Quad morning — the pale hour before the first lecture.
01/05
Campus page 1 of 5: Quad Morning
Four campaign cuts, side by side. Hover a tile to lift it; tap one to make it the active tab on the shared lime rail.
4 of 4 tilesOne shared lime tab tracks the active cut — the only accent in this band. Every frame keeps its 16:9 field, so nothing is cropped at any width.
Now showing: Hard Selling
No comments yet. Be the first!