Ember E-Bike Store

Build a vehicle storefront that can be reviewed from product choice through a sample order. Ember E-Bike Store combines a small centered orange-photo hero, condensed display type, dark riding-category cards and consistently lit stone-ground product images. Its fictional six-bike range demonstrates variant pricing, bag, delivery, comparison and test-ride flows; checkout creates only a local sample confirmation and never takes payment.

What you get

  • A reference storefront with twenty page templates serving thirty-five example routes, plus partner-shop deep links: six bikes, four categories, six equipment items, journal, comparison, test rides, company/contact/FAQ/delivery/legal and bag/checkout/order/not-found pages. The counts describe the fictional example, not a required catalog size or a live store backend.
  • A full homepage: controlled hero carousel with arrows/counter/swipe, service strip, dark photographic categories, product rail, four-tab component-photo explorer, range calculator, reviews, shop finder/test-ride area, journal and FAQ. Orange photographic stages and the stone catalog ground keep the bikes prominent without oversized hero copy.
  • Product pages with gallery/thumbnails/arrows/swipe, battery options affecting price and displayed range, frame sizes with sold-out feedback, height-based fit helper, specs/highlights/reviews, related products and mobile buy bar. Equipment pages have option price deltas, compatible-bike references and related items. Collections expose category counts, search/sort/reset and meaningful empty states; comparison supports model selection and differences-only rows.
  • A mini-cart drawer and full bag with quantities, remove/undo, saved-for-later, subtotal/delivery notes, promo validation and summary. Demo checkout switches address/shop fields and delivery fees, validates contact/postcode/terms and produces a local order summary before emptying the cart. The payment notice and confirmation explicitly state that nothing was charged or sent.
  • A partner-shop finder with local search/model filtering, selected-shop map card and trial-ride form with dates/times, unavailable-slot examples and local confirmation. The range tool estimates distance, commute, charging time, energy use and cost from configured battery/assist/terrain/weight assumptions. Neither the map/search nor the booking states connect to live inventory, geolocation or a reservation service.
  • One offline HTML file by default with Anton, Archivo, Geist Mono and images embedded; an existing/requested framework gets components, typed collections and real routes. The package includes the template, visual/page/route/interior/image/motion/framework/ReUI guides, twenty-nine image files, inliner, photo-normalization script and static validator. The image library is twenty-six photographs plus three derived hero stages, not twenty-nine distinct products.

Before you choose

Make the review cover the buying decision end to end: identify the correct vehicle, choose a valid variant, understand an estimate and inspect honest totals before a sample confirmation. Preserve the detail of those tools while keeping generated product imagery, range assumptions and unconnected commerce/calendar services explicit.

Good fit

  • An e-bike, scooter, cargo-trike or moped brand needs a detailed premium storefront with meaningful options and specifications.
  • A brand has partner shops or showrooms and wants to demonstrate a finder and test-ride enquiry flow.
  • A team needs to review variants, cart, totals and checkout screens before integrating actual inventory, tax, orders and payments.

Not for

  • Taking actual orders or charging payments from the supplied demo. Real commerce requires server-side pricing/stock checks and connected services.
  • A large catalog that needs inventory synchronization, editorial CMS or operational order management out of the box.
  • A soft-pastel or extremely minimal identity. Saturated orange, condensed capitals, dark photo panels and tactile product details define this design.

How to use

You say/ember-ebike-store Build the Askel Cycles e-bike store with six models, a range calculator and test-ride booking.
  1. Provide brand/name, a tagline of four words or fewer, audience and market. Gather each model’s base price, battery/size variants, specs, categories and approved photos, plus accessories, partner-shop fleet/contact details, warranty/returns and delivery facts. List missing ordinary product data as placeholders; do not invent safety tests, certifications, performance results, reviews, dealer availability or financing terms.

  2. Use the standalone template when no project/stack is named. Inspect an existing/requested framework, preserve unrelated files and build shared components, typed bike/category/equipment/story/dealer collections and actual routes. The package recommends Next.js App Router with TypeScript only when a framework is wanted but unspecified. Keep the hash router for the offline file; do not inject the whole page or iframe it as the framework implementation.

  3. Preserve the hero: paper header, inset orange photographic panel, a complete centered bike in a feathered stage, category eyebrow, two-line white Anton model/tagline capped at 46px desktop/34px phone, one light CTA and bottom-left arrows/counter. It supports one to three slides; hide controls/stop autoplay with one. Keep each stage’s measured edge color aligned with its panel and avoid extra hero stats, model blocks, badges or a second CTA.

  4. Keep Anton display, Archivo reading/UI and Geist Mono data, 1320px container and responsive 72–136px chapter spacing. Use one orange accent with dark ink and paper/stone grounds; small text on orange is ink, with large hero display the limited white-text exception. Maintain dark photographic category cards, macro-photo component tabs, matching catalog sweep and varied home compositions. Do not replace the design with generic pastel cards or purple gradients.

  5. Adapt the catalog and navigation together. Data collections render products, categories, equipment, posts, dealers, counts and search; route renames must also update page IDs, links, nav mapping/resolver/render keys. Two/three categories get adjusted grids; one can omit category cards/pages. Fewer than five products need a smaller grid or relevant accessories instead of a visibly empty rail. Remove comparison when fewer than two products exist, and synchronize headings that state counts.

  6. Give every product useful detail: same-model studio/context gallery, battery price/range, size/fit data and disabled sizes, delivery/warranty facts, grouped specs, truthful owner reviews and related items. Accessory options change price and need appropriate dimensions/compatibility. The sample monthly finance note is a simple price-divided-by-twelve/0% claim, so replace or omit it unless an approved actual finance offer supports it.

  7. Set locale, currency, tax mode/rate/name, postcode pattern/hint, shipping fees/threshold, energy price and promo settings before reviewing totals. Also rewrite static ZIP/input-mode labels, legal/tax wording, delivery tables and calculator text; a settings change alone does not localize all copy. The sample promo discounts equipment only, bike-containing home delivery is free, pickup is free and express can override the normal fee. Added tax is calculated on discounted goods, while included tax extracts a share from the total. Verify these assumptions against the intended market rather than treating a constant rate as a tax service.

  8. Walk the complete local cart path: choose variants, add with feedback, open drawer, adjust quantity, remove/undo, save/restore, apply valid/invalid promo and inspect empty states. Like variants share a cart key; quantities are capped in the demo logic. Cart, saved items, promo and sample order use browser storage with an in-memory fallback when unavailable; this is not a customer account or synchronized inventory.

  9. Validate checkout for address and shop delivery, phone/postcode errors, terms and changing totals. It copies cart lines/totals into a local order with random example number/current date, clears the cart/promo and opens confirmation. No charge, order submission or fulfillment happens. Keep that distinction in the interface and verify refresh/return/empty checkout behavior before adding a backend.

  10. Qualify the range calculator as an estimate. It combines battery Wh, assist consumption, terrain, rider weight and a per-model factor; remaining usable energy is assumed at 90%, and energy cost includes a fixed charging-loss allowance. Special battery IDs map to sample capacities, charging time assumes the configured charger with fixed voltage/efficiency, and new model IDs fall back to a factor of one. Replace these assumptions for another vehicle; do not present the number as a tested range guarantee.

  11. Adapt shops and test rides as enquiries. The sample generates six future dates excluding Mondays and marks some times unavailable by a deterministic pattern, not by contacting a shop calendar. Check chosen shop/model, date reset, disabled-time feedback, name/email and request-again flow. The success note says nothing was sent. If the brand has no test rides, use locations/service enquiries or remove dealers/finder instead of leaving fictional availability.

  12. Plan one consistent photo set: orange hero/model shots, stone catalog profiles, dusk category/lifestyle, orange macro details, journal and workshop. Every model needs its own image, complete mechanics and wheels; never borrow a shipped bike photo as the buyer’s product. A card can reuse that model’s photo on its own detail/bag/compare views. Real founders/team need approved photos; generated riders/workshop people are disclosed stand-ins.

  13. On a small budget start with an orange studio shot per featured/model subject, deriving stage/catalog versions where suitable; add category lifestyle, a split accessory sheet, macros and editorial scenes as budget permits. Neutral equipment/close-up placeholders may be retained only when relevant, while the sample bikes and e-bike-specific parts/lifestyle need replacement for another vehicle. An available agent image tool may charge; approved supplied photos are an alternative.

  14. Normalize with Python, NumPy and Pillow: stage aligns scale/wheel baseline on a 2:1 canvas and prints the panel color; catalog pads/centers on the stone ground; split crops evenly arranged accessory sheets. Orange-background conversion can neutralize genuine orange/tan/wood parts, so use keep-orange or a separate stone shoot when needed. Color masks do not prove perfect product isolation. Inspect texture/seams at full size and tiny pseudo-labels/mechanics at high zoom, not just the printed color values.

  15. Replace identity throughout metadata, brand/accessible labels/footer, hero slide hooks/backgrounds, model defaults, reviews, service claims, part captions, story/contact/delivery/legal text, safety/warranty statements, map/shop content and order prefix/storage key. Keep image-key and face/vehicle subject relationships coherent. Every drafted model/spec/date/price/shop/result and retained placeholder image needs an explicit review list.

  16. For React/Next.js ports the package specifies actual ReUI buttons, fields/selects, radio/toggle groups, tabs, accordions, dialogs and menu/bag sheets styled through mapped tokens and original classes. Quantity stepping needs explicit composition; decorative photo/carousel/tactile motion remains bespoke. Verify non-React support rather than switching stacks or claiming direct Vue/Svelte compatibility.

  17. Prepare the offline file with Node.js 18+ and initial internet access for three font files; embed local images, target under 5 MB and remain under the 8 MB validator cap. The inliner writes before reporting missing assets, so inspect its exit status. Validate final HTML/local-files output, noting that the implementation does check adjacent file existence despite a broader comment suggesting otherwise. Static routing checks are not proof that every dynamic product ID exists; framework output needs its own build/type checks.

  18. Review Home and at least six inner pages at 1440, 1024, 768 and 390px, checking overflow at 360/1920px. Click through product gallery/fit/options, cart/checkout/order, compare, filters/search/sort/reset, calculator and test-ride paths. Test keyboard/focus/Escape on mega/menu/drawer/search, hero autoplay pause/stop rules, reduced motion, mobile buy bar and actual copy contents. Repeat scripts-only iframe paths for standalone delivery, fix/rebuild/recheck and report actual checks separately from code reading and outstanding service/data/photo gaps.

Requirements and costs

You bring
Brand name, a tagline of four words or fewer and your market (currency, tax, postcodes) · Models with prices, specs, variants and categories, plus accessories if you sell them · Partner shops or showrooms, contact details and any product photos you own
Dependencies
Node.js 18 or newer on your agent's machine, to run the bundled script that builds the single offline file · Internet access while the file is built, so the fonts can be downloaded once and embedded · Python with NumPy and Pillow, for the script that crops and matches product photos · An image generation tool in your agent for new bike and lifestyle photos
Outside costs
Generating the bike and lifestyle photos with your agent's image tool may incur that tool's usage charges. The image plan includes a minimum set for small budgets, and some equipment and close-up images can be reused.
Publisher testing
v1.0.2 — Claude Code / Claude Desktop / Cowork / Codex / ChatGPT

FAQ

User reviews

—0 reviews

Select a star to share your experience.

No reviews yet. Ratings appear once readers share real experiences.

Similar Skills

View all skills