A Little Piece of Forever is a digital birthday gift: a dreamy, handmade-feeling scrapbook website built in Canva and given to one person on their birthday. It is not a product with accounts, feeds, or analytics — it is a keepsake. The site is composed of six clearly labeled pages that carry a recipient from a soft opening surprise, through a heartfelt message, a gallery of six captioned photo memories, a personal letter, a list of wishes for the year ahead, and finally a closing page that lets them begin again.
The audience is twofold. The Gift Creator builds and personalizes the scrapbook — replacing each of the six Canva photo frames with real photos, editing the recipient's name, messages, captions, and colors, and keeping every element on its own editable layer. The Birthday Recipient opens the finished site on a phone, tablet, or desktop and moves through it in a quiet moment, reading and revisiting it.
The defining constraint is full Canva editability: exactly six real, individually replaceable Canva photo frames; every text element, caption, decoration, button, and background kept as a separate editable element; and no flattened or merged imagery. The design language is a premium, dreamy, Pinterest-inspired scrapbook in blush pink, warm ivory, dusty lavender, soft peach, and white — personal, nostalgic, warm, and meaningful, never crowded or excessively romantic.
The delivered artifact is a Canva-built website consisting of six connected pages. It is a static, presentation-only experience: there is no backend, no database, no user accounts, and no server-side logic. All content is authored and edited inside Canva by the Gift Creator; all navigation and animation rely on Canva-supported website features.
Actors
Accepted behavior at a glance
Narrow exclusions
This is a provider-owned, static keepsake site. Canva owns the editing surface, the frame-replacement mechanism, the publishing/hosting, and the supported animation and navigation features. The Gift Creator owns all content decisions — photos, captions, messages, colors, and the recipient's name. The Birthday Recipient owns only the act of reading and navigating.
There is no application-owned identity in this product. The site is public and ephemeral: anyone with the link can open it, and no state is stored about any visitor. The "Let's Remember It All Again\x20\xe2\x86\xbb" button simply returns the visitor to the opening page; it does not create a session, save progress, or remember the visitor. No account creation, login, or personalization-by-visitor is in scope.
Current vs. future. Everything described in this document is current. No future-phase features are committed. Any capability not explicitly named in the source — comments, RSVP, music players, guest books, analytics, multi-recipient variants — is out of scope and must not be added.
Not applicable. No reference directive in this request declares a content_source; all content is authored directly in the user requirement thread and is reproduced in the page coverage and flows below.
FR-1 — Opening surprise page (explicit) As a Birthday Recipient, I should see an opening page titled "Today Is All About You!" with the subtitle "A tiny corner of the world, created just to celebrate your existence." and a button labeled "Step Into Your Surprise\x20\xe2\x9c\xa8", so that I feel welcomed into the gift.
FR-2 — Entry button navigation (explicit) As a Birthday Recipient, I should be able to tap "Step Into Your Surprise\x20\xe2\x9c\xa8" and be taken to the next section, so that I can begin exploring the gift.
FR-3 — Heartfelt introductory message (explicit) As a Birthday Recipient, I should read the heading "A Few Words From My Heart" and the editable message about creating something a little different — a small collection of words, memories, and wishes — and about being someone worth celebrating every single day.
FR-4 — Scrapbook gallery of six memories (explicit) As a Birthday Recipient, I should see the heading "Moments I Wish I Could Keep Forever", the subtitle "Six little spaces for memories that deserve a place in our story.", and a collage of exactly six captioned photo memories that adapts to my screen.
FR-5 — Six exact photo captions (explicit) As a Birthday Recipient, I should see each of the six photos paired with its own caption: "A moment worth remembering\x20\xe2\x9c\xa8", "Your smile, my favorite detail\x20\xf0\x9f\xa4\x8d", "The days that became memories\x20\xf0\x9f\x8c\xb7", "One for the memory books\x20\xf0\x9f\x93\x96", "Happiness looked like this\x20\xf0\x9f\x92\xab", and "A little moment, a lasting memory\x20\xf0\x9f\xab\xb6".
FR-6 — Subtle "Photo 1"–"Photo 6" identifiers (explicit) As a Birthday Recipient, I should see a small, subtle "Photo 1" through "Photo 6" identifier on each frame, so that the gallery reads as a catalogued set.
FR-7 — Personal birthday letter (explicit) As a Birthday Recipient, I should read the heading "If You Ever Need a Reminder" and the editable letter about growth, courage, hope, self-belief, and celebrating how far I have come.
FR-8 — Seven wishes for the new chapter (explicit) As a Birthday Recipient, I should see the heading "If I Could Wish You a Thousand Things…" and seven separate editable wish phrases, each with a gentle fade-in animation, decorated with tiny stars, floral details, and handwritten notes, and readable on mobile devices.
FR-9 — Closing page (explicit) As a Birthday Recipient, I should see a separate, elegant final page resembling the last page of a handwritten scrapbook, with the opening text "BEFORE THIS LITTLE SURPRISE ENDS…", the centered main message about a gentle coming year, unexpected happiness, beautiful beginnings, and gratitude, and the final small text "A little gift, made with a lot of heart."
FR-10 — Return-to-beginning button (explicit) As a Birthday Recipient, I should be able to tap "Let's Remember It All Again\x20\xe2\x86\xbb" and be returned to the beginning of the site, so that I can revisit the gift.
FR-11 — Exactly six real Canva photo frames (explicit) As a Gift Creator, I should use exactly six individual, real Canva photo frames across the entire website, so that the gallery matches the brief.
FR-12 — Frame photo replacement (explicit) As a Gift Creator, I should be able to replace each frame's photo through Canva's Replace or Upload Photo feature, so that I can personalize the gallery.
FR-13 — No flattening or merging of frames (explicit) As a Gift Creator, I should never flatten, merge, or convert the photo frames into background images, so that each frame remains independently editable.
FR-14 — Separate editable elements (explicit) As a Gift Creator, I should keep all text, captions, decorations, buttons, and backgrounds as separate editable elements, so that every part of the site can be customized independently.
FR-15 — Independent caption editability (explicit) As a Gift Creator, I should be able to edit each photo's caption independently of its photo, so that captions can be personalized without affecting the images.
FR-16 — Frame dimensions and position preserved on replacement (explicit) As a Gift Creator, I should be able to replace a photo without changing the frame's dimensions or position, so that the collage layout stays intact.
FR-17 — Decorations separate from frames (explicit) As a Gift Creator, I should keep all decorations separate from the frames, so that decorations can be moved or edited without affecting the photos.
FR-18 — Decorative illustrations do not count as photo frames (explicit) As a Gift Creator, I should not count decorative illustrations or background pictures as photo frames, so that the site contains exactly six real photo frames.
FR-19 — Consistent palette, font pairing, and spacing (explicit) As a Gift Creator, I should use a consistent color palette, font pairing, and spacing system across the site, so that the scrapbook feels cohesive.
FR-20 — Responsive across phones, tablets, and desktops (explicit) As a Birthday Recipient, I should be able to view the site comfortably on a phone, tablet, or desktop, so that the gift works wherever I open it.
FR-21 — Canva-supported animation and navigation only (explicit) As a Gift Creator, I should use only Canva-supported animation and navigation features, so that the site does not promise unsupported custom behavior.
FR-22 — Easy customization of name, messages, colors, and captions (explicit) As a Gift Creator, I should be able to easily customize the recipient's name, all messages, colors, and captions, so that the gift can be personalized.
FR-23 — Replace flattened placeholders with real Canva Frames (explicit) As a Gift Creator, if a generated design contains flattened or non-editable photo placeholders, I should replace them manually with actual Canva Frames using Elements → Frames, so that the frames remain editable.
FR-24 — Final verification of all six frames (explicit) As a Gift Creator, before finishing, I should verify that all six frames can be individually selected and that each accepts a replacement photo without changing the overall layout, so that the gift is fully editable.
FR-25 — Six real Canva Frames verified for replacement (required_inference) As a Gift Creator, I should use six real Canva Frames and verify that each independently accepts photo replacement without changing its dimensions or position, so that the accepted gallery journey is executable.
FR-26 — Separately editable Canva elements (required_inference) As a Gift Creator, I should keep text, captions, decorations, buttons, backgrounds, and photo frames as separately editable Canva elements, so that the accepted editability journey is executable.
FR-27 — Canva-supported navigation and animations only where available (required_inference) As a Gift Creator, I should use Canva-supported navigation and animations only where available, so that the accepted navigation and animation journeys are executable.
Product context. The Gift Creator is the person building and personalizing the scrapbook in Canva. They are not a developer; they work entirely inside Canva's editing surface, using Canva's Replace or Upload Photo feature, text editing, and layer management. Their work is done before the gift is given.
Primary goal. Produce a finished, mobile-friendly digital scrapbook where all six photo frames remain individually selectable and accept replacement photos without changing the layout, and where every text, caption, decoration, button, and background is independently editable.
Distinct accepted responsibilities.
Relevant inputs or decisions. Which six photos to use; what captions to write; the recipient's name; the messages and letter text; the color choices within the specified palette; the font pairing; the spacing system; whether to use a scrolling layout or separate connected Canva pages.
Interactions with other accepted participants. The Gift Creator's work is invisible to the Birthday Recipient — the recipient only sees the finished site. The Gift Creator's decisions determine what the recipient reads and sees.
Observable success. The finished site contains exactly six real Canva frames, each individually selectable and accepting a replacement photo without layout change; every text element is independently editable; the palette, font pairing, and spacing are consistent; and the site is suitable for phones, tablets, and desktop screens.
Product context. The Birthday Recipient is the person the gift is made for. They open the finished site — typically on a phone, in a quiet moment — and move through it as a keepsake experience. They have no editing role and no account.
Primary goal. Experience a warm, nostalgic, personal birthday gift that feels like opening a handwritten letter inside a dreamy memory book, and be able to revisit it.
Distinct accepted responsibilities.
Relevant inputs or decisions. Whether to tap "Step Into Your Surprise\x20\xe2\x9c\xa8"; how long to linger on each page; whether to tap "Let's Remember It All Again\x20\xe2\x86\xbb" to revisit.
Interactions with other accepted participants. The Birthday Recipient interacts only with the finished site. They do not interact with the Gift Creator through the site; the gift is one-directional.
Observable success. The recipient can move through all six pages, read every message and caption, and return to the beginning using the final button.
The creative direction is authoritative for this section: Austerely coded remembrance after Peter Saville — one exact blush spot colour on ivory, gallery silence around a single kept artefact.
Muse and headline. Peter Saville. The scrapbook is treated as a museum vitrine holding one personal thing, coded and dated like a Factory Records sleeve — warm rather than clinical.
Palette (light mode).
| Role | Hex | Use |
|---|---|---|
| Background | #FAF6F1 | Warm ivory page ground everywhere — the paper of the scrapbook. |
| Surface | #F3E4E6 | Soft peach surface behind instant-film frames and caption cards. |
| Text | #2A2426 | Ink for all reading text. |
| Primary | #C97B8B | Blush pink — the one exact spot colour: hairline rules, "Photo 1"–"Photo 6" catalogue numbers, button outlines, small caption ticks. Never a large fill. |
| Accent | #9C8AA5 | Dusty lavender — reserved for the wishes page (Section 5) so that page reads as its own colour-coded artefact. |
| Muted | #8B7F84 | Small metadata and identifiers. |
| White | #FFFFFF | Permitted only as the instant-film frame border around each photo. |
Proportion: ~80% ivory ground, ~10% peach surfaces, ~7% ink, ~3% blush and lavender combined. No gradients, no glass, no colour washes.
Typography.
#2A2426 or blush #C97B8B.#8B7F84.clamp(44px, 8vw, 104px)); page heading 30/44/58px; subheading 22/28/34px; letter body 22/26/30px Caveat; caption 20/22/24px Caveat; metadata 11/12/13px caps. Line-height 1.05 for display, 1.6 for all handwritten body.Shape language. Sharp corners and hairline rules, not soft cards: 1px rules in blush #C97B8B or ink at 20% opacity separate sections; metadata sits above a rule, content below it. The only rounded elements are the six photo frames, which take a 10px radius and a 10px white instant-film border with a 4px deeper bottom lip — the frame is the single soft object in an otherwise rectilinear page. Decorative pressed flowers and tiny stars are line-drawn at 1px in blush or lavender, never filled, never overlapping text. No blobs, no sticker clusters, no drop-shadowed cards.
Layout. One artefact per page, centred on a 12-column grid with a 96px desktop gutter (24px mobile), and a maximum measure of 62 characters for the letter pages. Each of the six sections is its own Canva page. Page 03 is the only multi-object page: the six frames sit in a 3×2 gallery grid on desktop (each column 320px with a 48px gap), collapsing to a single column at 375px with the caption block directly beneath each frame. Each frame carries a metadata line above it ("PHOTO 1 / SIX") and its caption below it on its own layer. Navigation is a fixed 1px blush rule at the top with six small caps page numbers, plus the two buttons from the brief placed as outlined blush pills at the foot of pages 01 and 06.
Imagery. The six photos are the only photographic content, each held in its own instant-film frame with the white border and a small blush catalogue number printed on the bottom lip. Everything else is line-art and paper: 1px botanical outlines, a single pressed-flower silhouette at the head of each page, and a thin ruled metadata block. No stock photography, no gradient art, no 3D props. The paper texture is a flat 4% noise overlay on the ivory ground, applied as its own layer so it stays editable.
The vitrine. Page 01 opens as a gallery wall, not a SaaS hero. The whole viewport is ivory #FAF6F1 with a 4% paper grain. Flush-left, spanning nine of twelve columns, "Today Is All About You!" is set in Cormorant Garamond 300 at clamp(44px, 8vw, 104px), ink #2A2426, tight leading, with the word "You" alone on the final line in blush #C97B8B. Directly beneath the headline's left edge sits a 1px blush rule 180px wide, and under it, in Caveat 30px, the subtitle "A tiny corner of the world, created just to celebrate your existence." The right three columns hold empty ivory space except for one line-drawn pressed flower at 40% opacity, cropped by the right viewport edge. The "Step Into Your Surprise\x20\xe2\x9c\xa8" button is a blush-outlined pill, 1px border, ink label, pinned to the bottom-left of the viewport above the fold, never centred. Three 1px stars drift slowly in the negative space. No gradient, no blob, no centred stack.
Signature moves carried across the site.
#8B7F84.Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief
#FAF6F1 ground with 4% paper grain; flush-left display line in Cormorant Garamond 300 with "You" in blush #C97B8B; 1px blush rule 180px wide; Caveat 30px subtitle; blush-outlined pill button bottom-left; one line-drawn pressed flower at 40% opacity cropped by the right edge; three 1px stars in the negative space.prefers-reduced-motion, all motion stops entirely. The display line, subtitle, rule, button, pressed flower, and stars are all visible in a static arrangement. The six frames and captions on page 03 remain visible in a static grid.NFR-1 — Full Canva editability (explicit) The site must remain fully editable in Canva: exactly six real Canva photo frames, each supporting photo replacement via Canva's Replace or Upload Photo feature; all text, captions, decorations, buttons, and backgrounds as separate editable elements; no flattened, merged, or background-converted frames.
NFR-2 — Responsive layout (explicit) The site must be suitable for phones, tablets, and desktop screens, with a balanced, mobile-friendly layout and generous spacing.
NFR-3 — Consistent design system (explicit) The site must use a consistent color palette (blush pink, warm ivory, dusty lavender, soft peach, white), a consistent font pairing (elegant serif headings + clean handwritten body), and a consistent spacing system.
NFR-4 — Canva-supported animation and navigation only (explicit) Only Canva-supported animation and navigation features may be used; the site must not promise unsupported custom website behavior.
NFR-5 — Tone and density (explicit) The design must feel personal, nostalgic, warm, and meaningful — not overly crowded or excessively romantic.
NFR-6 — Readable text and controls at every viewport (explicit) Headlines, labels, numbers, captions, and controls must stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit. No other element may cover any part of them.
NFR-7 — Reduced-motion support (required_inference)
Under prefers-reduced-motion, all motion must stop and a usable static arrangement must remain, with all six frames and captions visible in a static grid.
Assumptions
Constraints
Out of scope

A tiny corner of the world, created just to celebrate your existence.
If the link does not open, continue via the page index above.

A tiny corner of the world, created just to celebrate your existence.
If the link does not open, continue via the page index above.
No comments yet. Be the first!