cobalt-e is a multi-category e-commerce website: an all-in-one online shopping platform where customers purchase products across clothing, groceries, kitchen essentials, home appliances, and home & living goods in one convenient place. The product intent is a modern, professional, fully responsive storefront built with HTML, CSS, JavaScript, and a suitable JavaScript framework where needed, delivering an attractive, clean, user-friendly interface with smooth animations, professional typography, high-quality product images, and a consistent color scheme that works smoothly on desktop computers, tablets, and mobile devices.
The audience is everyday households shopping on phones and desktops — people buying a refrigerator, a bag of produce, a pair of sneakers, and a set of cookware in the same trip. The register must be premium and trustworthy enough for a major appliance while remaining joyful and loud enough that buying bananas and sneakers feels like the same fun trip.
This document specifies the current front-end prototype: a working storefront that uses sample product data and localStorage to preserve the cart and wishlist between page refreshes, structured so that a backend, database, authentication system, and payment gateway can be integrated later.
cobalt-e is delivered as a responsive, browser-based storefront. The current build is a front-end prototype: product data is realistic sample data, and the cart and wishlist persist locally in the browser via localStorage across page refreshes. The application is structured so that a backend, database, authentication system, and payment gateway can be integrated later.
Actors. Two accepted human personas shop the store: the Shopper, who browses and searches across all five categories, filters and sorts listings, inspects product detail pages, and adds items to the cart or wishlist; and the Registered Customer, who registers and logs in to manage a profile, saved addresses, order history, wishlist, and order tracking, and to receive confirmation messages for important shopping actions. No other human personas are in scope.
Accepted behavior. The storefront presents a Homepage with navigation, hero promotions, category cards, merchandising sections, discount and limited-time offers, customer reviews and testimonials, and a professional footer. Five dedicated category pages (Clothing & Fashion, Groceries, Kitchen Essentials, Home Appliances, Home & Living) each carry a banner, relevant products, filters, and sorting. A Product Listing destination owns search, category filters, price range filters, and sorting across the catalog. Product Details pages show multiple images, descriptions, available sizes or colors, specifications, stock status, and customer reviews, with Add to Cart, Buy Now, and Add to Wishlist. The Shopping Cart supports adding, removing, and updating quantities with automatic subtotals, discounts, delivery charges, and total. Checkout collects shipping address, contact information, and payment method selection, supporting cash on delivery and providing a structure for later online payment gateway integration. Login, Registration, and a protected User Account area cover profile management, saved addresses, order history, wishlist, and order tracking.
Ownership. All storefront surfaces are first-party application pages. Cart and wishlist persistence is a browser-local responsibility. Cash on delivery is the only currently supported payment method; online payment gateways are a structure for later integration, not a live capability.
Narrow exclusions. No live online payment gateway integration is required in the current build. No backend, database, or authentication service is required in the current build; the application is structured so these can be integrated later. No additional product categories beyond the five named are in scope.
cobalt-e is a first-party storefront application. Every shopping surface — Homepage, the five category pages, Product Listing, Product Details, Shopping Cart, Checkout, Login, Registration, and User Account — is owned and rendered by the application itself. There is no provider-owned or external-only surface in the current scope.
The current delivery is a front-end prototype. Product data is realistic sample data held in the application; the cart and wishlist persist in the browser via localStorage so they survive page refreshes. Checkout supports cash on delivery today and exposes only a structure for later online payment gateway integration — no live gateway is wired. The application is deliberately structured so a backend, database, authentication system, and payment gateway can be integrated later without reworking the storefront.
Access is split by lifecycle. Browsing, searching, filtering, sorting, viewing product details, and managing the cart are open to any visitor. Registration is the anonymous first-use entry that creates a customer account; Login is the returning verification entry. The User Account area is protected and requires login. Cart and wishlist contents persist locally for any visitor, whether or not they hold an account.
Future work — live payment gateways, a real backend and database, and a production authentication system — is out of current scope and is not part of current acceptance.
Not applicable. No reference directive in this project declares a content_source; all product content is realistic sample data authored for the prototype.
FR-1 — Responsive multi-category storefront (explicit) As a Shopper, I should shop a modern, professional, fully responsive multi-category e-commerce website built with HTML, CSS, JavaScript, and a suitable JavaScript framework where needed, so that I can purchase products across categories on desktop, tablet, or mobile.
FR-2 — Five-category organization (explicit) As a Shopper, I should shop across Clothing & Fashion, Groceries, Kitchen Essentials, Home Appliances, and Home & Living, so that fashion, groceries, kitchen essentials, and home appliances come together in one convenient platform.
FR-3 — Homepage navigation bar (explicit) As a Shopper, I should see a modern navigation bar with the website logo, search bar, account icon, wishlist, and shopping cart, so that I can reach every major area from anywhere on the Homepage.
FR-4 — Homepage hero banner (explicit) As a Shopper, I should see a hero banner featuring promotional offers, seasonal sales, and featured products, so that I immediately understand what is on offer.
FR-5 — Homepage category cards (explicit) As a Shopper, I should see category cards with attractive images and clear labels, so that I can identify and enter the category I want.
FR-6 — Homepage merchandising sections (explicit) As a Shopper, I should see best-selling products, trending items, new arrivals, and recommended products, so that I can discover products beyond what I already know I want.
FR-7 — Homepage discount and limited-time offers (explicit) As a Shopper, I should see special discount sections and limited-time offers, so that I can act on time-sensitive savings.
FR-8 — Homepage customer reviews and testimonials (explicit) As a Shopper, I should see customer reviews and testimonials, so that I can judge the store's trustworthiness before buying.
FR-9 — Homepage footer (explicit) As a Shopper, I should see a professional footer with contact information, social media links, FAQs, and policies, so that I can find support and store information.
FR-10 — Dedicated category pages (explicit) As a Shopper, I should visit a dedicated page for each main category with relevant products, a category banner, filters, and sorting options, so that I can browse a category in depth.
FR-11 — Product grid display (explicit) As a Shopper, I should see products displayed in an attractive grid layout with product images, names, prices, ratings, and discount badges, so that I can compare offers at a glance.
FR-12 — Search, filters, and sorting (explicit) As a Shopper, I should use product search, category filters, price range filters, and sorting by price, popularity, and newest arrivals, so that I can narrow the catalog to what I want.
FR-13 — Product detail content (explicit) As a Shopper, I should open an individual product detail page showing multiple images, descriptions, available sizes or colors, specifications, stock status, and customer reviews, so that I can decide whether to buy.
FR-14 — Product detail actions (explicit) As a Shopper, I should use Add to Cart, Buy Now, and Add to Wishlist on a product detail page, so that I can act on a product immediately.
FR-15 — Cart quantity management (explicit) As a Shopper, I should add, remove, and update product quantities in the shopping cart, so that I control exactly what I am buying.
FR-16 — Automatic cart calculation (explicit) As a Shopper, I should have subtotals, discounts, delivery charges, and the total price calculated automatically, so that I always see the true cost.
FR-17 — Simple checkout process (explicit) As a Shopper, I should complete a simple, user-friendly checkout process, so that I can place my order without friction.
FR-18 — Shipping address and contact information (explicit) As a Shopper, I should provide my shipping address and contact information at checkout, so that my order can be delivered and I can be reached.
FR-19 — Payment method selection with cash on delivery (explicit) As a Shopper, I should select a payment method at checkout, with cash on delivery supported and a structure for integrating online payment gateways, so that I can pay in the way available to me.
FR-20 — Login and registration pages (explicit) As a Registered Customer, I should use login and registration pages, so that I can create an account and verify my identity on return.
FR-21 — Customer profile management (explicit) As a Registered Customer, I should manage my customer profile, so that my account details stay correct.
FR-22 — Saved addresses (explicit) As a Registered Customer, I should manage saved addresses, so that I can reuse them at checkout.
FR-23 — Order history (explicit) As a Registered Customer, I should review my order history, so that I can see what I have bought.
FR-24 — Wishlist (explicit) As a Registered Customer, I should review my wishlist, so that I can return to products I saved.
FR-25 — Order tracking (explicit) As a Registered Customer, I should track my orders, so that I know where a purchase stands.
FR-26 — Confirmation messages (explicit) As a Registered Customer, I should see clear confirmation messages for important shopping actions, so that I know my action succeeded.
FR-27 — Interactive JavaScript functionality (explicit) As a Shopper, I should use live search, category navigation, product filtering, sorting, image galleries, shopping cart updates, wishlist functionality, quantity controls, form validation, mobile navigation, and interactive promotional banners, so that the storefront behaves like a real, working shop.
FR-28 — localStorage persistence of cart and wishlist (explicit) As a Shopper, I should have my cart and wishlist preserved between page refreshes via localStorage, so that I do not lose my selections.
FR-29 — Sample product data (explicit) As a Shopper, I should browse realistic sample products, so that the prototype reads like a real marketplace.
FR-30 — Structure for later backend, database, authentication, and payment gateway integration (explicit) As a Shopper, I should shop a storefront structured so that a backend, database, authentication system, and payment gateway can be integrated later, so that the prototype can grow into a production store without rework.
FR-31 — Self-service registration creates a customer account (required_inference) As a visitor, I should create a customer account through self-service registration, so that I can access the User Account area on first use.
FR-32 — Returning verification through Login (required_inference) As a Registered Customer, I should verify my identity through the Login page, so that I can reach the User Account area on return.
FR-33 — Cart and wishlist persist locally across refreshes (required_inference) As a Shopper, I should have my cart and wishlist persist locally across page refreshes, so that my selections survive navigation.
FR-34 — Cash on delivery with gateway structure only (required_inference) As a Shopper, I should place an order with cash on delivery, with online payment gateways provided only as a structure for later integration, so that I can complete a purchase today without a live gateway.
Product context. The Shopper is the everyday household buyer who arrives at cobalt-e without an account and without a fixed shopping list. They may be on a phone during a commute or on a desktop in the evening, and they may be buying a refrigerator, a bag of produce, a pair of sneakers, or all three in the same trip. The storefront must be legible and appetising to them immediately, because an all-in-one marketplace lives or dies on whether they can tell the five departments apart and find something worth buying.
Primary goal. Find the right products across clothing, groceries, kitchen essentials, home appliances, and home & living, and place an order with clear confirmation.
Distinct accepted responsibilities. The Shopper browses and searches products across all five categories; filters and sorts listings by category, price range, price, popularity, and newest arrivals; opens product detail pages to inspect multiple images, descriptions, available sizes or colors, specifications, stock status, and customer reviews; adds items to the cart or wishlist; manages cart quantities; and completes checkout with shipping address, contact information, and a payment method (cash on delivery or, later, an online gateway).
Relevant inputs and decisions. Search terms; category selections; price range bounds; sort order; size or color selection on a product; quantity changes; shipping address and contact information; payment method choice. The Shopper's key decisions are which product variant to take, whether to buy now or save to the wishlist, and which payment method to use.
Interactions with other accepted participants. The Shopper is the sole human actor in the browsing, cart, and checkout lifecycle. Their cart and wishlist persist locally across refreshes. When they choose to create an account, they become a Registered Customer and their account data becomes available to them on return.
Observable success. The Shopper finds the products they want, sees accurate automatic totals, places an order with cash on delivery, and receives a clear confirmation message.
Product context. The Registered Customer is a Shopper who has chosen to hold an account with cobalt-e. They shop repeatedly and want their details and history to persist so they do not re-enter them every time. Their work is not browsing — it is continuity: keeping a profile correct, keeping addresses reusable, and being able to look back at what they bought and where it is.
Primary goal. Have their account data and past orders persist and be easy to review and reuse at checkout.
Distinct accepted responsibilities. The Registered Customer registers and logs in; manages their customer profile; manages saved addresses; reviews order history; reviews their wishlist; tracks orders; and receives confirmation messages for important shopping actions.
Relevant inputs and decisions. Registration details; login credentials; profile field edits; saved address entries; which saved address to reuse at checkout; which past order to open or track; which wishlist item to open or move to the cart.
Interactions with other accepted participants. The Registered Customer begins as a Shopper and retains the full Shopper lifecycle. Their account area is protected and reachable only after verification through Login. Their saved addresses are reusable at checkout, connecting the account lifecycle back to the Shopper's purchase lifecycle.
Observable success. Their profile, saved addresses, order history, wishlist, and order tracking persist and are easy to review and reuse at checkout, with clear confirmation messages for important shopping actions.
The creative direction is Saturated retail theatre after Jessica Walsh — a mass-market multi-category marketplace that must read as premium and trustworthy enough for a refrigerator while staying joyful and loud enough that buying bananas and sneakers feels like the same fun trip. The emotional target is confident, appetising, and alive: a shop window you want to walk into, not a utility. This is deliberately the opposite of a blue-on-white SaaS template and of a neutral dashboard language, so the marketplace reads as a brand, not a backend.
Colour tokens (light mode).
| Role | Hex | Use |
|---|---|---|
| Background | #FFF6EC | Cream page ground |
| Surface | #FFFFFF | Product cards and panels, so photography stays honest |
| Text | #141414 | All reading text on cream and on every category block except Kitchen/Appliances |
| Primary | #FF2E88 | Brand action colour — CTAs, cart badge, wishlist heart, active nav underline |
| Accent | #FF7A1A | Promo/urgency accent — discount badges, countdown, "limited time" ribbons |
| Muted | #7A6A5F | Secondary and supporting text |
Category colour fields (flat saturated blocks used at full bleed): Clothing #FF2E88, Groceries #14B87A, Kitchen #FFB300, Appliances #3B4CFF, Home & Living #FF7A1A. On Kitchen and Appliances the block is darkened to 12% for contrast behind white type. No gradients behind text; colour is flat, poster-like, never blended.
Typography. Headings use Archivo Black, set in ALL CAPS with tight -0.02em tracking and near-solid leading (0.92); display sizes are deliberately oversized and allowed to run edge to edge. Weights: 900 for section headlines and prices-as-headlines, 700 for product names, 600 for labels. Body copy uses Archivo Regular/Medium at a generous 1.6 line-height for readability inside a loud frame. Scale is a 1.333 modular scale: display 44/60/84/120px (clamp), section headline 32/44/56px, product name 16/18px, price 20/24px tabular, label 12px uppercase +0.14em, body 16/17px.
Shape language. Hard-edged colour fields with big 20–28px card radii and pill buttons — the tension between poster squares and soft pills is the signature. Sticker elements (badges, "NEW", "-40%", "BESTSELLER") are rotated 3–6 degrees, sit half-off the card corner, and use flat colour plus a 2px ink outline. Section boundaries are straight horizontal colour bands, never soft fades.
Layout rhythm. Full-bleed colour-blocked bands stacked vertically: a hot-pink hero, a cream category rail, a tangerine promo strip, a white product grid, a green grocery band, a black testimonial band. The category rail is a horizontally scrollable row of five saturated tiles with oversized labels, each tile tall enough to hold an image crop and a word. Product grids are 2-up at 375px, 3-up at 768px, 4-up at 1280px with 16/24/32px gutters. Filters live in a sticky left column at 1280px and become a bottom sheet at 375/768px. Prices and discount badges are anchored to the same baseline across a row so the grid reads as a table of offers.
Imagery. Art-directed, brightly lit product photography on saturated colour grounds — a sneaker on hot pink, a blender on cobalt, tomatoes on green — plus a few surreal staged props (a giant lemon, a floating kettle) for promo bands. Every product image is cut out on a flat colour field rather than a white studio sweep. The testimonial band uses high-contrast monochrome portraits with a pink duotone. No gradient blobs, no generic stock lifestyle scenes, no white-background catalogue shots.
Avoid. Blue–indigo primary or accent on a white ground (no #0057FF / #2563EB / #6366F1 anywhere, including focus rings — focus rings use #141414 or #FF2E88). Inter, Roboto, Poppins, Montserrat, Open Sans, Lato, or system-ui for headings or body. Gradient-blob heroes, glassmorphism panels, or soft blurred shadows on cards. A grid of identical hover-lift cards with no colour difference between categories. White-background studio product shots as the default card image. Centred headline + subtext + button hero composition. Pastel or desaturated category colours — every category colour must be usable at full saturation behind white type. Grey-on-grey filter chips; filters use ink outlines and the active state fills with the category colour.
The Shop Window. The public entry is a full-bleed split hero, not a centred stack. The left 58% is a solid hot-pink #FF2E88 field carrying a four-line ALL-CAPS Archivo Black headline at clamp(44px, 9vw, 120px) — "EVERYTHING / FOR YOUR / HOME, IN / ONE CART." — with the primary CTA as an ink-black pill pinned directly under the last line and a thin white rule above it. The right 42% is a single oversized art-directed image of a stacked haul (a blender, folded linen, a bag of produce) shot on cobalt, bleeding off the right and bottom edges. Overlapping the seam between the two halves, three rotated sticker badges ("-40%", "FREE DELIVERY OVER $49", "NEW IN") sit at 4–6 degrees. A tangerine marquee strip runs immediately beneath the hero with seasonal offer text.
The concept recomposes only accepted content: the hero banner's promotional offers, seasonal sales, and featured products; the primary route into the catalog; and the discount and limited-time offer messaging. It introduces no new behaviour, page, or destination.
At 375px the split becomes a vertical stack: the pink field with the headline and CTA first, the image below at 60vh, and the stickers reflowed into a wrapped row so none is cropped. Headlines, wordmarks, labels, numbers, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit; imagery and decoration may bleed, rotate, and overlap as the direction asks, but never cover readable text or a control.
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: layered_2d
Landing Hero Motion Brief. The focal subject is the split hero: the hot-pink headline field on the left and the oversized cobalt-shot haul image on the right, joined by three rotated sticker badges. The thesis is input → transformation → outcome: as the page loads, the headline lines and the thin white rule reveal in a staggered 60ms word/block sequence while the haul image settles into place and the three stickers rotate from their resting 4–6 degrees toward 0deg; the outcome is a composed first frame in which the offer, the primary CTA, and the route into the catalog are all legible at once. Motion vocabulary: 220–320ms cubic-bezier(0.2, 0.8, 0.2, 1), staggered block reveals, sticker straightening, and the continuous tangerine offer marquee beneath the hero. The composed first frame shows the pink field with the full four-line headline, the ink-black pill CTA, the cobalt haul image bleeding off the right and bottom edges, and the three stickers at rest at 4–6 degrees. Under prefers-reduced-motion, all motion collapses to static: the staggered reveals resolve immediately, the stickers hold their resting rotation, and the marquee becomes a wrapped two-row list of the same offer strings.
Motion system. Category tiles scale to 1.03 and swap their image crop on hover; discount stickers rotate to 0deg from their resting 4deg on hover; the promo strip runs a continuous marquee of offer text; product cards lift 4px with a hard 0 6px 0 #141414 offset shadow (offset shadow, not a blur); page section entrances are staggered 60ms word/block reveals on scroll. All motion collapses to static under prefers-reduced-motion, with the marquee becoming a wrapped two-row list and the category rail becoming a horizontally scrollable row.
Readable content under motion. Moving and scrollable content — the marquees, the category rail — may cross the viewport or container edge by design; every item becomes fully readable as it passes or as it is scrolled into view. Under prefers-reduced-motion, the marquee wraps into rows and the category rail remains horizontally scrollable so each item can be brought fully into view.
NFR-1 — Full responsiveness (explicit) The website must work smoothly on desktop computers, tablets, and mobile devices. Rationale: the source states the storefront must be fully responsive across these device classes. Product grids are 2-up at 375px, 3-up at 768px, and 4-up at 1280px; filters are a sticky left column at 1280px and a bottom sheet at 375/768px.
NFR-2 — Readable text and controls at every viewport (explicit)
Headlines, wordmarks, labels, numbers, and cards' text and controls must stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, with no other element covering any part of them. Rationale: the source requires readable text and accessible buttons; the creative direction requires readable text and controls to stay whole at every viewport.
NFR-3 — Accessible buttons and helpful empty and loading states (explicit) The storefront must provide accessible buttons and helpful empty-cart and loading states. Rationale: explicitly required by the source's visual design requirements.
NFR-4 — Consistent color scheme and professional typography (explicit) The interface must use a consistent color scheme and professional typography. Rationale: explicitly required by the source's design and layout requirements; concretised in Section 6.
NFR-5 — Smooth animations (explicit)
The interface must use smooth animations. Rationale: explicitly required by the source; concretised in Section 8 at 220–320ms cubic-bezier(0.2, 0.8, 0.2, 1) with a reduced-motion collapse.
NFR-6 — High-quality product images (explicit) The storefront must use high-quality images for clothing, groceries, kitchen products, and home appliances. Rationale: explicitly required by the source's visual design requirements.
NFR-7 — Clear visual hierarchy and intuitive navigation (explicit) The design must create a clear visual hierarchy and intuitive navigation. Rationale: explicitly required by the source's visual design requirements.
NFR-8 — Consistent spacing, rounded cards, subtle shadows, smooth hover effects (explicit)
The design must use consistent spacing, rounded product cards, subtle shadows, and smooth hover effects. Rationale: explicitly required by the source's visual design requirements. The creative direction specifies the shadow as a hard offset 0 6px 0 #141414 rather than a blur.
NFR-9 — Responsive grid and mobile-friendly layouts (explicit) The storefront must use a responsive grid and mobile-friendly layouts. Rationale: explicitly required by the source's visual design requirements.
NFR-10 — Complete, organized, maintainable code (explicit) The deliverable must be complete, organized, and maintainable code with a clear project structure and reusable components, with all major buttons and front-end interactions working correctly. Rationale: explicitly required by the source's final deliverable requirements.
NFR-11 — Front-end prototype data and persistence boundary (explicit) The current build must use sample product data and localStorage to preserve the cart and wishlist between page refreshes, and must be structured so that a backend, database, authentication system, and payment gateway can be integrated later. Rationale: explicit hard constraint in the source.
NFR-12 — Payment scope boundary (explicit) Checkout must support cash on delivery and provide only a structure for integrating online payment gateways; no live gateway integration is required. Rationale: explicit hard constraint in the source.
NFR-13 — Technology constraint (explicit) The storefront must be built with HTML, CSS, JavaScript, and a suitable JavaScript framework if needed. Rationale: explicit hard constraint in the source.
NFR-14 — Focus ring contrast (explicit)
Focus rings must use #141414 or #FF2E88; no #0057FF, #2563EB, or #6366F1 may appear anywhere, including focus rings. Rationale: explicit exclusion in the creative direction.
Constraints (source-stated, binding).
Assumptions (narrow, labeled).
Explicit exclusions.
Presentation defaults. [Default — not specified by user] Where the source does not specify a value, the creative direction in Sections 6–8 supplies the palette, typography, shape language, layout rhythm, imagery style, and motion. These are presentation defaults and do not create product behaviour, personas, or destinations.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!