---
title: Fancy Clone Features
description: Home/Fancy Clone/FeaturesFancy Clone · Features  Fancy Clone Features: The Front Page Is a Decision  On a curated shop nobody uses the search box. Buyers arrive
url: https://miracuves.com/fancy-clone/features
date_modified: 2026-08-25
author: miracuves
language: en_US
---

.mcv-fyf{
    --crimson:#e8344f; --crimson-deep:#a70d2a; --crimson-hot:#d81b46; --crimson-light:#ff8090;
    --amber:#fbbf24; --black:#0a0a0a; --white:#ffffff; --paper:#faf8f8; --ink:#191419; --ink-dim:#6d666d;
    --line:rgba(11,11,16,0.1); --line-light:rgba(255,255,255,0.12);
    --card-bg:rgba(8,3,8,0.82);
    font-family:'Plus Jakarta Sans',Arial,sans-serif; color:var(--ink); background:var(--white); margin:0; padding:0;
  }
  .mcv-fyf *{ box-sizing:border-box; }
  .mcv-fyf h1,.mcv-fyf h2,.mcv-fyf h3{ font-family:'Plus Jakarta Sans',Arial,sans-serif; font-weight:800; margin:0; letter-spacing:-0.02em; line-height:1.12; }
  .mcv-fyf p{ margin:0 0 14px; line-height:1.7; color:var(--ink); }
  .mcv-fyf a{ color:var(--crimson-deep); text-decoration:none; }
  .mcv-fyf .mono{ font-family:'JetBrains Mono',monospace; }
  .mcv-fyf-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; position:relative; z-index:2; }
  .mcv-fyf-bleed{ position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; width:100vw; }

  .mcv-seo-ref{ background:#FFF7E0; border:2px dashed #C79A00; padding:18px 22px; font-family:Arial,sans-serif; font-size:13px; color:#4A3B00; max-width:1180px; margin:18px auto; border-radius:8px; }

  .mcv-fyf-crumb{ display:flex; gap:8px; align-items:center; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:rgba(255,255,255,.62); margin-bottom:20px; }
  .mcv-fyf-crumb a{ color:rgba(255,255,255,.62); }
  .mcv-fyf-crumb a:hover{ color:var(--crimson-light); }
  .mcv-fyf-crumb span.sep{ opacity:.5; }
  .mcv-fyf-crumb span.cur{ color:rgba(255,255,255,.75); }

  .mcv-fyf-eyebrow{ display:inline-flex; align-items:center; gap:8px; padding:7px 16px; border-radius:100px; background:rgba(255,255,255,.06); border:1px solid var(--line-light); font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--crimson-light); margin-bottom:22px; }
  .mcv-fyf-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--crimson); }

  .mcv-fyf-hero{ background:radial-gradient(ellipse 900px 500px at 85% -10%, rgba(232,52,79,.16), transparent), #0a0a0a; color:#fff; padding:56px 0 150px; position:relative; overflow:hidden; }
  .mcv-fyf-hero .ring{ position:absolute; border:2px solid rgba(232,52,79,.18); border-radius:50%; pointer-events:none; }
  .mcv-fyf-hero .ring1{ width:560px; height:560px; top:-260px; right:-200px; }
  .mcv-fyf-hero .ring2{ width:340px; height:340px; bottom:-200px; right:120px; border-color:rgba(232,52,79,.1); }
  .mcv-fyf-herogrid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; }
  .mcv-fyf-hero h1{ font-size:clamp(27px,3.9vw,44px); color:#fff; }
  .mcv-fyf-hero h1 em{ font-style:normal; color:#ff8090; }
  .mcv-fyf-hero p.sub{ font-size:16px; color:rgba(255,255,255,.68); max-width:600px; margin:20px 0 30px; }

  .mcv-fyf a.mcv-fyf-btn{ display:inline-flex; align-items:center; gap:8px; border-radius:12px; background:linear-gradient(160deg,#d81b46,#e8344f); color:#fff; font-weight:700; font-size:15px; padding:15px 28px; box-shadow:0 10px 30px rgba(232,52,79,.3); transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s; }
  .mcv-fyf a.mcv-fyf-btn:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 14px 36px rgba(232,52,79,.42); text-decoration:none; }
  .mcv-fyf a.mcv-fyf-btn-outline{ display:inline-flex; align-items:center; border:2px solid rgba(255,255,255,.7); color:#fff; border-radius:12px; font-weight:700; font-size:15px; padding:13px 26px; margin-left:12px; transition:all .2s; }
  .mcv-fyf a.mcv-fyf-btn-outline:hover{ background:#fff; color:#191419; text-decoration:none; }

  .mcv-fyf-trust{ display:flex; flex-wrap:wrap; gap:22px; margin-top:34px; padding-top:24px; border-top:1px solid var(--line-light); }
  .mcv-fyf-trust-item{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:rgba(255,255,255,.6); }
  .mcv-fyf-trust-item strong{ font-family:'JetBrains Mono',monospace; color:#fff; font-size:14px; }

  .mcv-fyf-cardstack{ position:relative; height:340px; }
  .mcv-fyf-fincard{ position:absolute; width:300px; height:180px; border-radius:18px; padding:22px; background:linear-gradient(150deg,#1c1418,#0d0709); border:1px solid var(--line-light); box-shadow:0 30px 70px rgba(0,0,0,.5); }
  .mcv-fyf-fincard.c1{ top:0; left:10px; z-index:1; opacity:.5; transform:rotate(-6deg) scale(.92); }
  .mcv-fyf-fincard.c2{ top:30px; left:40px; z-index:2; background:linear-gradient(150deg,#3a0a15,#160408 60%,#0a0a0a); border-color:rgba(232,52,79,.3); box-shadow:0 40px 90px rgba(0,0,0,.55), 0 0 60px -12px rgba(232,52,79,.35); }
  .mcv-fyf-fincard .brand{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55); }
  .mcv-fyf-fincard .chip{ width:34px; height:24px; border-radius:5px; background:linear-gradient(135deg,#ff8090,#e8344f); margin:22px 0 18px; }
  .mcv-fyf-fincard .num{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; letter-spacing:.1em; }
  .mcv-fyf-fincard .curr{ position:absolute; bottom:22px; right:22px; font-family:'JetBrains Mono',monospace; font-size:11px; color:#ff8090; }
  .mcv-fyf-float{ position:absolute; background:rgba(8,3,8,0.82); border:1px solid var(--line-light); border-radius:14px; padding:12px 16px; box-shadow:0 16px 40px rgba(0,0,0,.35); z-index:3; }
  .mcv-fyf-float .k2{ font-family:'JetBrains Mono',monospace; font-size:10px; color:#ff8090; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
  .mcv-fyf-float .v{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; font-weight:700; }
  .mcv-fyf-float-1{ top:-10px; right:0; }
  .mcv-fyf-float-2{ bottom:10px; left:0; }

  .mcv-fyf-statbar{ margin-top:-72px; position:relative; z-index:3; }
  .mcv-fyf-statbar .inner{ background:rgba(8,3,8,0.82); border:1px solid var(--line-light); border-radius:18px; box-shadow:0 24px 60px rgba(0,0,0,.35); padding:32px 20px; display:grid; grid-template-columns:repeat(4,1fr); }
  .mcv-fyf-statbar .stat{ text-align:center; padding:0 12px; border-right:1px solid var(--line-light); }
  .mcv-fyf-statbar .stat:last-child{ border-right:none; }
  .mcv-fyf-statbar .num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:22px; color:#ff8090; }
  .mcv-fyf-statbar .lbl{ font-size:11.5px; color:rgba(255,255,255,.62); margin-top:6px; line-height:1.4; }

  .mcv-fyf-section{ padding:100px 0 76px; }
  .mcv-fyf-section.paper{ background:#faf8f8; }
  .mcv-fyf-section.tight{ padding-top:76px; }
  .mcv-fyf-head{ text-align:center; max-width:720px; margin:0 auto 48px; }
  .mcv-fyf-head .kicker{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#a70d2a; margin-bottom:12px; }
  .mcv-fyf-head h2{ font-size:clamp(22px,3vw,34px); color:#191419; }
  .mcv-fyf-head p{ color:#6d666d; margin-top:14px; }

  .mcv-fyf-rolegrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-fyf-rolecard{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:28px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-fyf-rolecard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-fyf-roleicon{ width:40px; height:40px; border-radius:10px; background:rgba(232,52,79,.12); border:1px solid rgba(232,52,79,.3); display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:#a70d2a; }
  .mcv-fyf-rolecard h3{ font-size:17px; margin-bottom:12px; color:#191419; }
  .mcv-fyf-rolecard ul{ margin:0; padding-left:18px; font-size:13.5px; color:#191419; }
  .mcv-fyf-rolecard li{ margin-bottom:8px; line-height:1.5; }

  .mcv-fyf-tablewrap{ overflow-x:auto; border-radius:16px; box-shadow:0 12px 34px rgba(0,0,0,.07); border:1px solid var(--line); }
  table.mcv-fyf-table{ border-collapse:collapse; width:100%; min-width:680px; background:#fff; font-size:13.5px; }
  table.mcv-fyf-table th{ background:#0a0a0a; color:#ffffff; text-align:left; padding:14px 16px; font-family:'JetBrains Mono',monospace; font-weight:600; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
  table.mcv-fyf-table td{ padding:14px 16px; border-bottom:1px solid rgba(11,11,16,0.1); vertical-align:top; color:#191419; }
  table.mcv-fyf-table td.hl{ background:rgba(232,52,79,.06); border-top:3px solid #e8344f; font-weight:600; color:#191419; }
  table.mcv-fyf-table th.hl{ background:#e8344f; color:#ffffff; }
  table.mcv-fyf-table tbody tr:hover td{ background:#f4f1f1; color:#191419; }
  table.mcv-fyf-table tbody tr:hover td.hl{ background:rgba(232,52,79,.13); color:#191419; }
  table.mcv-fyf-table tr:last-child td{ border-bottom:none; }
  .mcv-fyf-note{ font-size:12.5px; color:#6d666d; margin-top:12px; }

  .mcv-fyf-callout{ background:linear-gradient(135deg,#2B0710,#4A0F1E); color:#fff; border-radius:20px; padding:40px 44px; }
  .mcv-fyf-callout h2{ color:#fff; font-size:22px; margin-bottom:12px; }
  .mcv-fyf-callout p{ color:rgba(255,255,255,.78); font-size:14.5px; margin:0; }

  .mcv-fyf-honest{ background:#fff; border:1px solid var(--line); border-left:4px solid #fbbf24; border-radius:14px; padding:28px 30px; }
  .mcv-fyf-honest h3{ font-size:17px; margin-bottom:14px; color:#191419; }
  .mcv-fyf-honestgrid{ display:grid; grid-template-columns:1fr 1fr; gap:10px 28px; }
  .mcv-fyf-honestgrid div{ font-size:13.5px; color:#191419; line-height:1.55; padding-left:18px; position:relative; }
  .mcv-fyf-honestgrid div::before{ content:'!'; position:absolute; left:0; top:0; font-family:'JetBrains Mono',monospace; font-weight:700; color:#8a6100; }

  .mcv-fyf-cs{ background:#fff; border:1px solid var(--line); border-radius:20px; padding:32px 34px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; box-shadow:0 8px 24px rgba(0,0,0,.05); }
  .mcv-fyf-cs-badge{ display:inline-flex; align-items:center; gap:7px; padding:6px 14px; border-radius:100px; background:rgba(232,52,79,.08); border:1px solid rgba(232,52,79,.25); font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#a70d2a; margin-bottom:12px; }
  .mcv-fyf-cs-badge .dot{ width:6px; height:6px; border-radius:50%; background:#e8344f; }
  .mcv-fyf-cs-body{ flex:1; min-width:260px; }
  .mcv-fyf-cs-body h3{ font-size:16.5px; margin-bottom:6px; color:#191419; }
  .mcv-fyf-cs-body p{ color:#6d666d; font-size:13.5px; margin:0; max-width:460px; }
  .mcv-fyf a.mcv-fyf-cs-link{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:#a70d2a; white-space:nowrap; }

  .mcv-fyf-faqgrid{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; max-width:1000px; margin:0 auto; }
  .mcv-fyf-faq details{ border-bottom:1px solid var(--line); padding:18px 0; }
  .mcv-fyf-faq summary{ font-family:'Plus Jakarta Sans',Arial,sans-serif; font-weight:700; font-size:15px; color:#191419; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; }
  .mcv-fyf-faq summary::-webkit-details-marker{ display:none; }
  .mcv-fyf-faq summary::after{ content:'+'; font-family:'JetBrains Mono',monospace; color:#a70d2a; font-size:20px; font-weight:700; flex:none; }
  .mcv-fyf-faq details[open] summary::after{ content:'\2212'; }
  .mcv-fyf-faq .a{ color:#6d666d; font-size:13.5px; margin-top:10px; line-height:1.65; }

  .mcv-fyf-cta{ background:linear-gradient(120deg,#e8344f,#6e0e1f); color:#fff; padding:64px 0; position:relative; overflow:hidden; }
  .mcv-fyf-cta .ring{ position:absolute; border:2px solid rgba(255,255,255,.14); border-radius:50%; width:360px; height:360px; top:-140px; right:-100px; }
  .mcv-fyf-cta .flex{ display:flex; justify-content:space-between; align-items:center; gap:28px; flex-wrap:wrap; position:relative; z-index:2; }
  .mcv-fyf-cta h2{ color:#fff; font-size:clamp(20px,2.6vw,28px); margin-bottom:8px; }
  .mcv-fyf-cta p{ color:rgba(255,255,255,.82); margin:0; max-width:460px; }
  .mcv-fyf-cta a.mcv-fyf-btn-outline{ border-color:#fff; }
  .mcv-fyf-cta a.mcv-fyf-btn{ background:#fff; box-shadow:0 10px 30px rgba(0,0,0,.2); }
  .mcv-fyf-cta a.mcv-fyf-btn,.mcv-fyf-cta a.mcv-fyf-btn:hover{ color:#a70d2a; }

  .mcv-fyf-explore{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
  .mcv-fyf a.mcv-fyf-pill{ font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:600; padding:10px 18px; border-radius:100px; border:1px solid var(--line); color:#191419; background:#fff; transition:all .2s; }
  .mcv-fyf a.mcv-fyf-pill:hover{ border-color:#e8344f; color:#a70d2a; text-decoration:none; }
  .mcv-fyf a.mcv-fyf-pill.cur{ background:#191419; color:#fff; border-color:#191419; }

  .mcv-fyf-finalcta{ background:#0a0a0a; color:#fff; text-align:center; padding:96px 24px 64px; position:relative; overflow:hidden; }
  .mcv-fyf-finalcta .ring{ position:absolute; border:1.5px solid rgba(232,52,79,.16); border-radius:50%; }
  .mcv-fyf-finalcta .ring1{ width:480px; height:480px; top:-220px; left:-160px; }
  .mcv-fyf-finalcta .ring2{ width:300px; height:300px; bottom:-180px; right:-90px; }
  .mcv-fyf-finalcta .card{ background:rgba(8,3,8,0.82); border:1px solid var(--line-light); border-radius:24px; padding:56px 40px; max-width:720px; margin:0 auto; position:relative; z-index:2; }
  .mcv-fyf-finalcta h2{ color:#fff; font-size:clamp(24px,3.2vw,34px); max-width:640px; margin:0 auto 14px; }
  .mcv-fyf-finalcta p.sub{ color:rgba(255,255,255,.7); max-width:520px; margin:0 auto 30px; }
  .mcv-fyf-footerbar{ max-width:1180px; margin:56px auto 0; padding-top:28px; border-top:1px solid var(--line-light); position:relative; z-index:2; }
  .mcv-fyf-byline{ display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; font-family:'JetBrains Mono',monospace; font-size:11.5px; color:rgba(255,255,255,.55); border-bottom:1px solid rgba(255,255,255,.12); padding-bottom:16px; margin-bottom:12px; }
  .mcv-fyf-byline strong{ color:#fff; font-weight:600; }
  .mcv-fyf-byline .dotsep{ opacity:.4; }
  .mcv-fyf-footermeta{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-family:'JetBrains Mono',monospace; font-size:11px; color:rgba(255,255,255,.55); }

  @media (max-width:900px){
    .mcv-fyf-herogrid{ grid-template-columns:1fr; }
    .mcv-fyf-statbar .inner{ grid-template-columns:repeat(2,1fr); gap:18px 0; }
    .mcv-fyf-statbar .stat:nth-child(2){ border-right:none; }
    .mcv-fyf-rolegrid{ grid-template-columns:1fr; }
    .mcv-fyf-honestgrid{ grid-template-columns:1fr; }
    .mcv-fyf-faqgrid{ grid-template-columns:1fr; }
    .mcv-fyf-hero h1{ font-size:27px; }
    .mcv-fyf-cta .flex{ flex-direction:column; align-items:flex-start; }
    .mcv-fyf-cardstack{ height:260px; }
    .mcv-fyf-fincard{ width:250px; height:150px; }
  }
  @media (prefers-reduced-motion: reduce){ .mcv-fyf *{ animation:none !important; transition:none !important; } }
  /* --- components used by cost / company / business-model --- */
  .mcv-fyf-pricecard{ background:linear-gradient(150deg,#3a0a15,#160408 60%,#0a0a0a); border:1px solid rgba(232,52,79,.3); border-radius:22px; padding:34px 32px; box-shadow:0 40px 90px rgba(0,0,0,.55), 0 0 60px -12px rgba(232,52,79,.35); }
  .mcv-fyf-pricecard .plan{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#ff8090; margin-bottom:14px; }
  .mcv-fyf-pricecard .amt{ font-family:'JetBrains Mono',monospace; font-size:44px; font-weight:700; color:#fff; line-height:1; }
  .mcv-fyf-pricecard .per{ font-size:13px; color:rgba(255,255,255,.6); margin-top:8px; }
  .mcv-fyf-pricecard ul{ margin:22px 0 0; padding-left:18px; color:rgba(255,255,255,.78); font-size:13.5px; }
  .mcv-fyf-pricecard li{ margin-bottom:8px; line-height:1.5; }
  .mcv-fyf-drivers{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-fyf-driver{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:18px; padding:26px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-fyf-driver:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-fyf-driver h3{ font-size:16px; margin-bottom:10px; color:#191419; }
  .mcv-fyf-driver p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-fyf-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .mcv-fyf-step{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:16px; padding:24px 22px; }
  .mcv-fyf-step .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#a70d2a; margin-bottom:8px; }
  .mcv-fyf-step h3{ font-size:15.5px; margin-bottom:8px; color:#191419; }
  .mcv-fyf-step p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-fyf-checkgrid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; }
  .mcv-fyf-check{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:14px; padding:20px 22px; }
  .mcv-fyf-check h3{ font-size:15px; margin-bottom:8px; color:#191419; }
  .mcv-fyf-check p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-fyf-flags{ display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
  .mcv-fyf-flag{ font-size:13.5px; color:#191419; line-height:1.55; padding-left:22px; position:relative; }
  .mcv-fyf-flag::before{ content:'\2715'; position:absolute; left:0; top:0; font-family:'JetBrains Mono',monospace; font-weight:700; color:#a70d2a; }
  .mcv-fyf-pt{ background:radial-gradient(ellipse 800px 400px at 20% 0%, rgba(232,52,79,.14), transparent), #0a0a0a; color:#fff; padding:92px 0 84px; }
  .mcv-fyf-pt .mcv-fyf-head h2{ color:#fff; }
  .mcv-fyf-pt .mcv-fyf-head p{ color:rgba(255,255,255,.68); }
  .mcv-fyf-ptgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .mcv-fyf-ptcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:18px; padding:26px 24px; }
  .mcv-fyf-ptcard h3{ font-size:15.5px; color:#fff; margin-bottom:10px; }
  .mcv-fyf-ptcard p{ font-size:13.5px; color:rgba(255,255,255,.72); margin:0; }
  .mcv-fyf-ptcard .tag{ display:inline-block; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; border:1px solid rgba(232,52,79,.35); border-radius:100px; padding:3px 10px; margin-bottom:12px; }
  .mcv-fyf-csbox{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:22px; padding:40px 42px; box-shadow:0 12px 34px rgba(0,0,0,.06); }
  .mcv-fyf-csmeta{ display:flex; flex-wrap:wrap; gap:26px; margin:22px 0 26px; padding:20px 0; border-top:1px solid rgba(11,11,16,0.1); border-bottom:1px solid rgba(11,11,16,0.1); }
  .mcv-fyf-csmeta div{ font-size:13px; color:#6d666d; }
  .mcv-fyf-csmeta strong{ display:block; font-family:'JetBrains Mono',monospace; font-size:18px; color:#191419; margin-bottom:2px; }
  .mcv-fyf-cscols{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  .mcv-fyf-cscols h4{ font-size:13px; font-family:'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; color:#a70d2a; margin:0 0 10px; }
  .mcv-fyf-cscols ul{ margin:0; padding-left:18px; font-size:13.5px; color:#191419; }
  .mcv-fyf-cscols li{ margin-bottom:8px; line-height:1.5; }
  .mcv-fyf-quote{ margin-top:28px; padding:24px 26px; background:#faf8f8; border-left:3px solid #e8344f; border-radius:0 12px 12px 0; }
  .mcv-fyf-quote p{ font-size:15px; font-style:italic; color:#191419; margin:0 0 10px; }
  .mcv-fyf-quote .who{ font-family:'JetBrains Mono',monospace; font-size:12px; color:#6d666d; font-style:normal; }
  .mcv-fyf-revgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-fyf-revcard{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:18px; padding:28px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-fyf-revcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-fyf-revcard .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#a70d2a; margin-bottom:10px; }
  .mcv-fyf-revcard h3{ font-size:16.5px; margin-bottom:10px; color:#191419; }
  .mcv-fyf-revcard p{ font-size:13.5px; color:#6d666d; margin:0; }
  .mcv-fyf-revcard .core{ display:inline-block; margin-top:14px; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#a70d2a; background:rgba(232,52,79,.08); border:1px solid rgba(232,52,79,.25); border-radius:100px; padding:3px 10px; }
  .mcv-fyf-disclose{ background:#faf8f8; border:1px dashed rgba(11,11,16,0.1); border-radius:14px; padding:26px 28px; max-width:860px; margin:0 auto; }
  .mcv-fyf-disclose h3{ font-size:16px; margin-bottom:10px; color:#191419; }
  .mcv-fyf-disclose p{ font-size:13.5px; color:#6d666d; margin:0 0 10px; }
  .mcv-fyf-disclose p:last-child{ margin-bottom:0; }
  .mcv-fyf-callout .figs{ display:flex; flex-wrap:wrap; gap:32px; margin-top:22px; padding-top:20px; border-top:1px solid rgba(255,255,255,0.12); }
  .mcv-fyf-callout .figs div{ font-size:12.5px; color:rgba(255,255,255,.65); }
  .mcv-fyf-callout .figs strong{ display:block; font-family:'JetBrains Mono',monospace; font-size:20px; color:#fff; margin-bottom:3px; }
  @media (max-width:900px){
    .mcv-fyf-drivers,.mcv-fyf-steps,.mcv-fyf-checkgrid,.mcv-fyf-flags,.mcv-fyf-ptgrid,.mcv-fyf-cscols,.mcv-fyf-revgrid{ grid-template-columns:1fr; }
    .mcv-fyf-csbox{ padding:28px 24px; }
  }
  /* ===== components ported from the shipped reference bundle (instagram-clone) ===== */
  .mcv-fyf-aside{ border-left:3px solid #e8344f; background:#faf8f8; border-radius:0 16px 16px 0; padding:32px 36px; }
  .mcv-fyf-aside h3{ font-size:17px; margin-bottom:14px; color:#191419; }
  .mcv-fyf-aside ul{ margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; }
  .mcv-fyf-aside li{ padding-left:18px; position:relative; font-size:14px; color:#191419; line-height:1.6; }
  .mcv-fyf-aside li::before{ content:''; position:absolute; left:0; top:7px; width:7px; height:7px; background:#e8344f; transform:rotate(45deg); }
  .mcv-fyf-aside li span{ color:#6d666d; display:block; font-size:12.5px; margin-top:2px; }
  .mcv-fyf-flowrow{ display:grid; grid-template-columns:64px 1fr; gap:22px; padding:28px 0; border-bottom:1px solid rgba(11,11,16,0.1); align-items:start; }
  .mcv-fyf-flowrow:last-child{ border-bottom:none; }
  .mcv-fyf-flowrow h3{ font-size:18px; margin-bottom:8px; color:#191419; }
  .mcv-fyf-flowrow p{ color:#6d666d; font-size:14.5px; margin:0; max-width:760px; }
  .mcv-fyf-flownum{ width:56px; height:56px; border-radius:50%; border:1.5px solid rgba(11,11,16,0.1); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; color:#a70d2a; font-size:16px; }
  .mcv-fyf-icongrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
  .mcv-fyf-iconitem{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:14px; padding:22px 24px; display:flex; gap:14px; align-items:flex-start; box-shadow:0 6px 18px rgba(0,0,0,.05); }
  .mcv-fyf-iconitem h3{ font-size:15px; margin-bottom:6px; color:#191419; }
  .mcv-fyf-iconitem p{ font-size:13px; color:#6d666d; margin:0; }
  .mcv-fyf-icondot{ width:34px; height:34px; border-radius:10px; background:rgba(232,52,79,.12); border:1px solid rgba(232,52,79,.3); flex:none; display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:#a70d2a; }
  .mcv-fyf-steprow{ display:flex; gap:24px; padding:22px 0; border-bottom:1px solid rgba(11,11,16,0.1); }
  .mcv-fyf-steprow:last-child{ border-bottom:none; }
  .mcv-fyf-step-num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:15px; color:#a70d2a; flex:none; width:90px; padding-top:2px; }
  .mcv-fyf-step-body h3{ font-size:17px; color:#191419; margin-bottom:6px; }
  .mcv-fyf-step-body p{ font-size:14.5px; color:#6d666d; margin:0; }
  .mcv-fyf-trustband{ background:#0a0a0a; color:#fff; padding:96px 0; position:relative; overflow:hidden; }
  .mcv-fyf-trustband .ring{ position:absolute; border:1.5px solid rgba(232,52,79,.16); border-radius:50%; width:420px; height:420px; top:-160px; left:-140px; }
  .mcv-fyf-trustband .head{ text-align:center; max-width:720px; margin:0 auto 44px; position:relative; z-index:2; }
  .mcv-fyf-trustband .head .kicker{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#ff8090; margin-bottom:12px; }
  .mcv-fyf-trustband .head h2{ color:#fff; font-size:clamp(22px,3vw,34px); }
  .mcv-fyf-trustband .head p{ color:rgba(255,255,255,.68); margin-top:14px; }
  /* the band markup uses the prefixed head class, so scope the light colours to it explicitly -
     without this the h2 falls through to .mcv-fyf-head h2 (#191419) and vanishes on the black band */
  .mcv-fyf-trustband .mcv-fyf-head h2{ color:#ffffff; font-size:clamp(22px,3vw,34px); }
  .mcv-fyf-trustband .mcv-fyf-head p{ color:rgba(255,255,255,0.68); }
  .mcv-fyf-trustband .mcv-fyf-head .kicker{ color:#ff8090; }
  .mcv-fyf-trustgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative; z-index:2; }
  .mcv-fyf-trustcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:16px; padding:26px 22px; }
  .mcv-fyf-trustcard h3{ color:#fff; font-size:15px; margin-bottom:8px; }
  .mcv-fyf-trustcard p{ color:rgba(255,255,255,.68); font-size:13px; margin:0; line-height:1.55; }
  .mcv-fyf-trusticon{ width:38px; height:38px; border-radius:10px; background:rgba(232,52,79,.16); border:1px solid rgba(232,52,79,.4); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
  .mcv-fyf-scorecard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:20px; padding:28px 26px; }
  .mcv-fyf-scorecard .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; margin-bottom:16px; }
  .mcv-fyf-scorerow{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.12); }
  .mcv-fyf-scorerow:last-child{ border-bottom:none; }
  .mcv-fyf-scorerow .lbl2{ font-size:12.5px; color:rgba(255,255,255,.75); }
  .mcv-fyf-scorerow .val{ font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:700; color:#fff; }
  .mcv-fyf-scorerow .val.good{ color:#ff8090; }
  .mcv-fyf-cs-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; margin-bottom:28px; }
  .mcv-fyf-cs-top p{ color:#6d666d; font-size:14.5px; max-width:480px; margin:0; }
  .mcv-fyf-cs-meta{ text-align:right; font-size:13.5px; }
  .mcv-fyf-cs-meta strong{ display:block; color:#191419; font-size:14.5px; }
  .mcv-fyf-cs-meta .lbl{ font-family:'JetBrains Mono',monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:#6d666d; margin:2px 0 12px; }
  .mcv-fyf-cs-stats{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(11,11,16,0.1); border-radius:16px; margin-bottom:24px; overflow:hidden; }
  .mcv-fyf-cs-stat{ text-align:center; padding:22px 12px; border-right:1px solid rgba(11,11,16,0.1); }
  .mcv-fyf-cs-stat:last-child{ border-right:none; }
  .mcv-fyf-cs-stat .v{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:26px; color:#a70d2a; }
  .mcv-fyf-cs-stat .l{ font-size:12.5px; color:#6d666d; margin-top:4px; }
  .mcv-fyf-cs-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
  .mcv-fyf-cs-box{ background:#faf8f8; border-radius:14px; padding:22px 24px; }
  .mcv-fyf-cs-box .h{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#6d666d; margin-bottom:12px; }
  .mcv-fyf-cs-box ul{ margin:0; padding:0; list-style:none; display:grid; gap:8px; }
  .mcv-fyf-cs-box li{ padding-left:16px; position:relative; font-size:13.5px; color:#191419; line-height:1.55; }
  .mcv-fyf-cs-box li::before{ content:''; position:absolute; left:0; top:7px; width:6px; height:6px; background:#e8344f; transform:rotate(45deg); }
  .mcv-fyf-cs-quote{ border-left:3px solid #e8344f; background:#faf8f8; border-radius:0 14px 14px 0; padding:22px 26px; margin-top:16px; display:flex; gap:16px; align-items:flex-start; }
  .mcv-fyf-cs-quote p{ font-style:italic; font-size:15px; color:#191419; margin:0 0 10px; }
  .mcv-fyf-cs-avatar{ width:38px; height:38px; border-radius:50%; background:#a70d2a; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:13px; flex:none; }
  .mcv-fyf-cs-who strong{ display:block; font-size:13.5px; color:#191419; }
  .mcv-fyf-cs-who span{ font-size:12.5px; color:#6d666d; }
  .mcv-fyf-cs-foot{ margin-top:20px; padding-top:16px; border-top:1px solid rgba(11,11,16,0.1); font-size:12.5px; color:#6d666d; }
  .mcv-fyf-mockwrap{ position:relative; }
  .mcv-fyf-chartcard{ background:rgba(8,3,8,0.82); border:1px solid rgba(255,255,255,0.12); border-radius:20px; padding:28px 26px; position:relative; }
  .mcv-fyf-chartcard .k{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#ff8090; margin-bottom:18px; }
  .mcv-fyf-chartcard .mcv-fyf-barrow{ display:flex; align-items:center; gap:14px; height:auto; margin:0 0 14px; }
  .mcv-fyf-chartcard .mcv-fyf-barrow .l{ flex:0 0 140px; font-size:12.5px; line-height:1.35; color:rgba(255,255,255,.78); }
  .mcv-fyf-chartcard .mcv-fyf-barrow>.bar{ flex:1; height:8px; border-radius:999px; background:rgba(255,255,255,.10); overflow:hidden; }
  .mcv-fyf-chartcard .mcv-fyf-barrow>.bar>.mcv-fyf-barcol{ height:8px; border-radius:999px; background:linear-gradient(90deg,#ff8090,#d81b46); }
  .mcv-fyf-chartcard .note{ margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,0.12); font-size:11.5px; line-height:1.5; color:rgba(255,255,255,.62); }
  .mcv-fyf-seggrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .mcv-fyf-segcard{ background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:16px; padding:26px 22px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; }
  .mcv-fyf-segcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-fyf-segcard h3{ color:#191419; font-size:15.5px; margin-bottom:8px; }
  .mcv-fyf-segcard p{ color:#6d666d; font-size:13px; margin:0; line-height:1.55; }
  .mcv-fyf-segicon{ width:38px; height:38px; border-radius:10px; background:rgba(232,52,79,.12); border:1px solid rgba(232,52,79,.3); display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:14px; color:#a70d2a; transition:background .3s; }
  .mcv-fyf-modelgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-fyf-modelcard{ position:relative; background:#fff; border:1px solid rgba(11,11,16,0.1); border-radius:18px; padding:26px 24px; box-shadow:0 6px 18px rgba(0,0,0,.05); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; overflow:hidden; }
  .mcv-fyf-modelcard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-fyf-modelcard .ghost{ position:absolute; top:-4px; right:6px; font-family:'JetBrains Mono',monospace; font-weight:700; font-size:64px; color:#000; opacity:.045; line-height:1; }
  .mcv-fyf-modelcard:hover .ghost{ color:#e8344f; opacity:.09; }
  .mcv-fyf-modelcard .stage{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#a70d2a; margin-bottom:10px; position:relative; }
  .mcv-fyf-modelcard h3{ font-size:16.5px; margin-bottom:8px; position:relative; color:#191419; }
  .mcv-fyf-modelcard p{ font-size:13.5px; color:#6d666d; margin:0; line-height:1.55; position:relative; }
  .mcv-fyf-streamlist{ display:flex; flex-direction:column; gap:9px; }
  .mcv-fyf-streamrow{ display:flex; align-items:center; gap:12px; padding:9px 12px; border:1px solid rgba(255,255,255,0.12); border-radius:10px; background:rgba(255,255,255,.03); }
  .mcv-fyf-streamrow .n{ font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; color:#ff8090; }
  .mcv-fyf-streamrow .s{ font-size:13px; color:#fff; font-weight:600; }
  @media (max-width:900px){
    .mcv-fyf-aside ul{ grid-template-columns:1fr; }
    .mcv-fyf-flowrow{ grid-template-columns:48px 1fr; gap:16px; }
    .mcv-fyf-flownum{ width:44px; height:44px; font-size:14px; }
    .mcv-fyf-icongrid,.mcv-fyf-cs-grid,.mcv-fyf-modelgrid{ grid-template-columns:1fr; }
    .mcv-fyf-trustgrid,.mcv-fyf-seggrid{ grid-template-columns:1fr 1fr; }
    .mcv-fyf-cs-stats{ grid-template-columns:1fr; }
    .mcv-fyf-cs-stat{ border-right:none; border-bottom:1px solid rgba(11,11,16,0.1); }
    .mcv-fyf-cs-stat:last-child{ border-bottom:none; }
    .mcv-fyf-cs-top,.mcv-fyf-steprow{ flex-direction:column; }
    .mcv-fyf-cs-meta{ text-align:left; }
    .mcv-fyf-chartcard .mcv-fyf-barrow{ gap:10px; }
    .mcv-fyf-chartcard .mcv-fyf-barrow .l{ flex:0 0 104px; font-size:11.5px; }
  }
.mcv-fyf-scorerow{ flex-wrap:wrap; }
.mcv-fyf-scorecard > .mcv-fyf-scorerow > strong{ flex:1 0 100%; color:#ffffff; font-size:14.5px; margin-bottom:4px; }
.mcv-fyf-scorecard > .mcv-fyf-scorerow > span{ flex:1 0 100%; color:rgba(255,255,255,0.78); font-size:13px; line-height:1.62; }
.mcv-fyf-callout h3{ color:#fff; font-size:22px; margin-bottom:12px; }
.mcv-fyf-pt .mcv-fyf-head .kicker{ color:#ff8090; }
* + .mcv-fyf-callout{ margin-top:22px; }
.mcv-fyf-cta .mcv-fyf-byline,.mcv-fyf-cta .mcv-fyf-footerbar{ color:#ffffff; }
.mcv-fyf-cta .mcv-fyf-byline .dotsep{ opacity:.65; }
.mcv-fyf-cta .mcv-fyf-footermeta{ color:#ffffff; }
.mcv-fyf-trustband .kicker,.mcv-fyf-pt .kicker{ color:var(--crimson-light); }
.mcv-fyf-cta .kicker{ color:#ffffff; }
@media (max-width:560px){ .mcv-fyf-trustgrid,.mcv-fyf-seggrid{ grid-template-columns:1fr; } }

    
    
      
        
          
            [Home](/)/[Fancy Clone](/fancy-clone/)/Features
          
          Fancy Clone · Features
          
# Fancy Clone Features: The Front Page Is a Decision

          
On a curated shop nobody uses the search box. Buyers arrive to be shown something rather than to find something, so what surfaces has to be an editorial choice you make rather than a ranking an algorithm produces. That single difference changes the rails, the deals, the CMS and the way placement is sold. Here is what ships, grouped by who touches it.

          [Request a Live Demo →](https://miracuves.com/schedule-consultation/)[See Pricing](/fancy-clone/development-cost/)
          
            **Operator-set** rails, not generated
            **Placement** is inventory you own
            **6 days** to deploy
          
        
        
          Front pageYours to set
          
            What a Curated Front Page Is Made Of
            
              01Featured rail, per-product control
              02Most-demanded and best-selling
              03Best-rated, from real reviews
              04One daily deal, scheduled
              05A time-boxed flash event
              06Paid banners you sold yourself
            
          
        
      
    
  

  
    
      
        4Rails, All Operator-Set
        131Normalized MySQL Tables
        9Order Statuses, Per-Line State
        6Surfaces on One REST API
      
    
  

  
    
      
        By Role
        
## Feature Set by Role

        
Six surfaces on one REST API. On a curated shop the operator is a merchandiser rather than an administrator, so their column is the one that describes the actual product.

      
      
        
          B
          
### Buyer

          
- Arrives at a front page composed rather than generated
- Featured, most-demanded, best-selling and best-rated rails
- One daily deal and time-boxed flash events
- Editorial posts and CMS pages beside the products
- Product pages with galleries, video and photo reviews
- Wishlist and save-for-later that persist between sessions
- One basket spanning several sellers, shipping per seller
- Coupon, wallet credit and loyalty points applied together

        
        
          S
          
### Seller

          
- Registers with KYC, approved and suspendable by an operator
- Product CRUD with variants, stock and multi-image galleries
- Applies to join a flash event rather than assuming a slot
- Buys banners and sponsored positions on browse pages
- A plan tier that decides which rails they are eligible for
- AI-assisted descriptions, SEO titles and image alt text
- Order queue, refund responses and review replies
- Wallet with commission visible and a withdrawal request flow

        
        
          D
          
### Delivery Agent

          
- First-class identity with KYC, approval and zone assignment
- Assignment feed with accept and reject
- Navigation to the seller for pickup, then to the buyer
- Live location broadcast while in transit
- Status checkpoints from picked up through to delivered
- One-time code verified at the door before handover
- Earnings held separately from cash collected on COD
- Payout request flow from the app

        
        
          M
          
### Merchandiser

          
- Sets every rail by hand, plus per-product featured control
- Schedules the daily deal and time-boxed flash events
- Sets per-product discounts inside an event
- Publishes blog posts and CMS pages from the same console
- Sells and places banners and sponsored positions
- Approves which sellers join an event, and charges for it
- Moderates the catalog with approve, reject and bulk actions
- Eight report types over any date range, to Excel, CSV or PDF

        
      
      
We list the fourth role as merchandiser rather than operator deliberately. On this model the person composing the front page is doing commercial work every day, not configuration once a quarter, and a platform that treats that as an admin task has misunderstood the business.

    
  

  
    
      
        Compare
        
## Fancy vs Miracuves Clone vs Building From Scratch

        
The same capability, three different paths. Every row that separates them is a merchandising row, because on a curated shop that is the product.

      
      
        
| Capability | Original Fancy | Miracuves Clone | Generic commerce script |
| --- | --- | --- | --- |
| What surfaces on the front page | Curated, that was the whole proposition | Four rails set by you, plus per-product featured control - an editorial decision rather than an output | A newest-first grid, or a plugin's guess |
| Scheduled scarcity | Central to the model | One daily deal and time-boxed flash events with per-product discounts, both scheduled from the console | A sale price field |
| Editorial content | Story-led throughout | A Blog module and CMS pages on the same site as the products, not a marketing microsite | A separate blog nobody links to |
| Placement as a product | Yes | Paid banners, sponsored positions and an event participation fee - position you control and can therefore sell | Nothing to sell, because the algorithm gives it away |
| Who decides ranking | Editors | You do. There is no recommendation engine in the base build, stated plainly, and on an editorial shop that is the point | An opaque relevance score |
| Multi-seller catalog | Yes | Seller KYC and approval, moderation with bulk actions, commission at four levels, payouts on one ledger | Usually single-seller |
| Basket across sellers | Yes | One basket spanning several sellers, shipping estimated per seller, a delivery status per line | One seller per order |
| Source code | Not available | Complete Laravel 12 backend and all three Flutter projects, unobfuscated, no licence callback | Often encrypted files or a licence check |
| Time to live | Not applicable | Six working days | Weeks, then months on merchandising |

      
      
The fifth row is the one people misread. Having no recommendation engine sounds like a gap until you remember what you are buying: on a shop where the front page is the product, an algorithm choosing it takes the business away from you and gives you nothing to sell.

    
  

  
    
      
        End to End
        
## How It Works, End to End

        
A product going from a seller's catalog onto a curated front page and out to a buyer - traced through every decision a person makes along the way.

      
      
        
          01
          
            
### A seller lists, and waits to be chosen

            
Registration with KYC and operator approval, then product CRUD with variants, stock and galleries. Listing is where a seller's control ends on this model - what happens next is your decision, and both sides understand that from the outset.

          
        
        
          02
          
            
### Moderation is an editorial filter, not a compliance check

            
The queue has approve, reject and bulk actions, and the operator keeps full editing rights over any listing. On a curated shop rejection is a normal outcome rather than an exception, because the standard is fit with the shop rather than merely being a legitimate product.

          
        
        
          03
          
            
### You compose the front page

            
Featured, most-demanded, best-selling and best-rated rails, plus per-product featured control. Some of those draw on real signal and some are entirely your choice, and the mix is itself an editorial position. Nothing appears because a relevance score put it there.

          
        
        
          04
          
            
### Scarcity and timing get scheduled

            
One daily deal, plus time-boxed flash events carrying per-product discounts. Curated commerce runs on scarcity and timing far more than on price, and both are scheduled from the console rather than improvised with a sale field.

          
        
        
          05
          
            
### The story ships next to the product

            
A Blog module and CMS pages are part of the platform, so the editorial around a drop lives on the same site as the thing it is about. On a shop where buyers arrive to be shown something, the writing is part of the merchandising rather than a marketing afterthought on another domain.

          
        
        
          06
          
            
### Sellers pay for the position you control

            
Paid banners, sponsored positions on browse pages, and a participation fee for joining an event. Because the front page is finite and curated, position is genuinely scarce, which is exactly why sellers will pay for it in a way they never pay for a search ranking.

          
        
        
          07
          
            
### The order settles like any marketplace order

            
One basket across several sellers, nine order statuses with a delivery status per line, a returns pipeline with its own status machine, commission taken on completion and reversed on refund, and four wallets each writing an append-only history row inside the same transaction as the balance move.

          
        
      
      
Steps three to six are the ones that do not exist on a conventional marketplace. Everything else on this list is the same commerce machinery underneath, which is deliberate - the curation is a layer on solid plumbing rather than a substitute for it.

    
  

  
    
      
        Deliberate
        
## Every Feature Earns Its Place

        
Feature lists are cheap. These are the ones that exist because a specific thing goes wrong on a curated shop without them.

      
      
        
| Capability | Why it is not optional |
| --- | --- |
| Rails set by hand | Because on a shop where nobody searches, the front page is the shop. A rail generated from a relevance score is a shop assembled by something you cannot question, argue with or sell a position on. |
| Per-product featured control | Because curation happens at the item level, not the category level. Without it your editorial choices are limited to whatever buckets someone else defined. |
| A scheduled daily deal | Because a reason to return today is the entire retention mechanism on an editorial shop. Scheduled means it happens whether or not anyone remembers to do it. |
| Time-boxed flash events | Because scarcity only works if it genuinely ends. An event with a start and an end that the platform enforces is a different commercial instrument from a discount someone forgets to remove. |
| Per-product discounts inside an event | Because a flat event discount either gives away margin on the items that would have sold anyway or fails to move the ones that needed help. |
| A blog and CMS on the same site | Because the story is part of what you are selling. Put it on a marketing microsite and it earns neither the sale nor the search position, and it stops being merchandising. |
| Paid banners and sponsored positions | Because position you control is inventory. A marketplace that hands ranking to an algorithm has given that inventory away for nothing and cannot get it back. |
| An event participation fee | Because being in the drop is worth money to a seller. Charging for it converts your editorial calendar into a revenue line without touching anyone's commission rate. |
| Plan tiers tied to rail eligibility | Because on this model a seller's tier is mostly about which rails they can appear in. That makes the upgrade argument concrete rather than a list of dashboard features. |
| Moderation with bulk actions | Because rejection is a normal outcome here, not an exception, and an editorial filter that can only be applied one row at a time becomes a bottleneck on your own standards. |

      
      
None of these are exotic. They are the ten places where a marketplace built for search-led shopping stops working on a shop where nobody searches.

    
  

  
    
      
        Stack
        
## The Technology Behind the Features

        
Deliberately ordinary choices, because the developers who maintain this after handover should already know all of it.

      
      
        **Backend**Laravel 12 on PHP 8.2, organised into nWidart modules - and on this product the Blog module matters, because editorial ships as part of the platform rather than as a bolt-on.
        **Data**131 normalized MySQL tables with reversible migrations, soft deletes on customer, seller, agent and product rows, composite indexes on the hot paths, and append-only wallet histories.
        **API**One REST API in versions v1, v2 and v3 serving the storefront, the seller panel, the operator console and all three Flutter clients. Six surfaces, one contract.
        **Mobile**Three Flutter Android projects - buyer, seller and delivery agent - transferred into your repository unobfuscated. The projects compile for iOS; store builds are quoted separately.
        **Merchandising**Rails, per-product featured flags, the daily deal, flash events with per-product discounts, banners and sponsored positions - all configuration rather than code, and all changeable without a deployment.
        **Payments**Eleven gateways integrated, plus operator-defined offline methods and cash on delivery, with settlement records held per gateway and per currency.
      
      
        
### Why there is no recommendation engine, and why that is stated rather than hidden

        
Most marketplace platforms would list a recommendation engine as a headline feature and be vague about how good it is. This one says plainly that there is not one in the base build. For an editorial shop that is a positioning decision rather than a shortfall: the value you are selling is your judgement about what is worth showing, and an algorithm that overrides it is actively working against the proposition. If you later want a recommendation layer, placement bidding or rail analytics, all three are named on the hub as scoped work and quoted separately - which is a more honest arrangement than shipping a weak recommender and calling it included.

        
          **Laravel 12**PHP 8.2, nWidart modules
          **131**Normalized MySQL tables
          **Blog + CMS**In the platform, not beside it
          **Redis 7**Cache, queue, session
        
      
      
Everything above transfers into your repository. There are no encrypted files and no licence callback of any kind.

    
  

  
    
      
        Honest Readiness
        
## What Is Not Included in the Base Package

        
Everything above is in the base build and demonstrable in the live demo. These are not, and the hub names them rather than implying them away.

      
      
        
### Scoped separately, or yours to own

        
- **A recommendation layer**There is no recommendation engine in the base build, and the hub states that plainly rather than burying it. On an editorial shop that is a deliberate position - your judgement is the product - but if you want algorithmic recommendation alongside the curated rails, it is scoped and quoted separately.
- **Placement bidding**Banners, sponsored positions and event participation fees all ship as things you price and sell. An auction where sellers bid against each other for a slot is a different mechanism, and it is scoped work.
- **Rail analytics**The eight standard report types ship. Measuring which rail converted, what a featured slot was worth and how a flash event performed against a baseline is scoped separately - and on this model it is the addition most likely to change how you merchandise.
- **iOS applications**Three Android builds ship. The Flutter projects compile for iOS, quoted as an add-on with signing and store submission.
- **Gateway credentials**Eleven gateways are integrated; each needs your own merchant account and its own approval.
- **SMS and email provider**Integration-required - your accounts, your sender reputation, your deliverability.
- **Firebase project**Push notifications across all three Android apps run through your own Firebase project. On a shop built around daily deals and drops, push is doing real commercial work.
- **OpenAI key**The AI module generates descriptions, SEO copy and alt text against your key, with per-feature token quotas and a per-call cost log.
- **Catalog data and editorial**Products, imagery, seller recruitment and the writing itself are the business. The Blog module ships; the point of view does not.
- **ISO 27001 and SOC 2**Neither certificate is held and neither is claimed. The platform is ready for the evidence gathering; certification is a separate programme.

      
      
Rail analytics is the one worth scoping early if you can. Curating without measuring is possible - people did it for a century - but knowing what a featured slot is actually worth is what turns placement from a price you guessed into a price you can defend.

    
  

  
    
      
        
          Development Company
          
### See how Miracuves compares to agencies and freelancers

          
The deployment process, two modelled reference deployments, and how to test the rails, the daily deal and a flash event before you hire anyone - on the Development Company page.

        
        [See the comparison →](/fancy-clone/development-company/)
      
    
  

  
    
      
        FAQ
        
## Frequently Asked Questions

      
      
        
          
            Is there a recommendation engine?
            No, and the hub says so plainly rather than implying otherwise. Rails are set by you - featured, most-demanded, best-selling and best-rated, plus per-product featured control. For an editorial shop that is the proposition rather than a gap: what you are selling is your judgement about what is worth showing. A recommendation layer is scoped and quoted separately if you decide you want one alongside the curation.
          
          
            How much of the front page can I actually control?
            All of it. Four rails, each set by you, plus per-product featured control so curation happens at item level rather than being limited to buckets someone else defined. On top of that sit one daily deal and time-boxed flash events with per-product discounts, all scheduled from the console. Nothing appears because a relevance score put it there.
          
          
            How do flash events work?
            They are time-boxed, with a start and an end the platform enforces, and they carry per-product discounts rather than one flat rate across the event. Sellers apply to join rather than assuming a slot, and you can charge a participation fee for it. Curated commerce runs on scarcity and timing more than on price, so an event that genuinely ends is a different instrument from a discount someone forgets to remove.
          
        
        
          
            Is the blog part of the platform or separate?
            Part of it. A Blog module and CMS pages ship with the platform, so the story around a product lives on the same site as the product rather than on a marketing microsite nobody links to. On a shop where buyers arrive to be shown something, the writing is merchandising - it earns the sale and the search position at the same time.
          
          
            Can I sell placement to sellers?
            Yes, and on this model it is unusually valuable. Paid banners, sponsored positions on browse pages and an event participation fee all ship. Because the front page is finite and curated by you, position is genuinely scarce - which is exactly why sellers pay for it here in a way they never pay for a search ranking. Placement bidding, where sellers auction against each other for a slot, is scoped separately.
          
          
            Is the commerce underneath a full marketplace?
            Yes - the curation is a layer on solid plumbing, not a substitute for it. Seller KYC and approval, moderation with bulk actions, commission at four levels, a basket spanning several sellers, nine order statuses with a delivery status per line, a returns pipeline with its own status machine, four wallets with append-only histories, a delivery fleet with verified handover, and eight report types over any date range.
          
        
      
    
  

  
    
    
      
        
## Compose a front page in front of us

Set a rail, feature a product, schedule tomorrow's deal and open a flash event. Fifteen minutes, and you will know whether the merchandising is real.

        [See Pricing](/fancy-clone/development-cost/)[Full Overview](/fancy-clone/)
      
    
  

  
    
      
        Explore
        
## Explore the Fancy Clone

      
      
        [Overview](/fancy-clone/)
        [Features](/fancy-clone/features/)
        [Development Cost](/fancy-clone/development-cost/)
        [Development Company](/fancy-clone/development-company/)
        [Business Model](/fancy-clone/business-model/)
      
    
  

  
    
    
      
        
## Ready to launch a marketplace you curate?

        
Deploy in six days with operator-set rails, a scheduled daily deal, time-boxed flash events, a blog and CMS inside the platform, placement you can sell, and full Laravel 12 source on infrastructure you own.

        [Talk to Us →](https://miracuves.com/schedule-consultation/)
      
      
        
          **Written by the Miracuves Product Team**·
          Reviewed for accuracy·
          Last updated **August 21, 2026**
        
        
          Miracuves · Fancy Clone Solution
          Feature set and scoped add-ons cross-verified against the live hub, 2026-08-21
        
      
    
  

				
				
				
				
						
					
			
						
				
					
  /* MIRACUVES - TRADEMARK / NON-AFFILIATION NOTICE (v3).
     Scoped under .mcv-tmn so it cannot collide with the hub connector (mcv-hubx-, mcv-hubxa-)
     or any block above it. Always the last block on the page, immediately before the footer.
     Structure is deliberate: one plain-language lead people actually read, then the three
     supporting positions split out so each is scannable rather than buried in a paragraph.
     Fonts are declared but not loaded: pages carrying the connector already have them, and the
     fallbacks are deliberate so this block never adds a render-blocking request. */
  .mcv-tmn{ font-family:'Plus Jakarta Sans',Arial,sans-serif; color:#191419; margin:0; padding:0; }
  .mcv-tmn *{ box-sizing:border-box; }
  .mcv-tmn-band{ background:#ffffff; padding:8px 0 76px; }
  .mcv-tmn-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
  .mcv-tmn-box{ background:#faf8f8; border:1px solid rgba(11,11,16,0.13); border-left:4px solid #a70d2a; border-radius:12px; padding:34px 38px; box-shadow:0 1px 2px rgba(25,20,25,0.04), 0 10px 30px rgba(25,20,25,0.05); }
  .mcv-tmn-head{ display:flex; align-items:center; gap:11px; margin:0 0 18px; }
  .mcv-tmn-dot{ width:8px; height:8px; background:#a70d2a; transform:rotate(45deg); flex:0 0 auto; }
  .mcv-tmn .mcv-tmn-head span.mcv-tmn-kicker{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:13px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#a70d2a; }
  .mcv-tmn .mcv-tmn-box p.mcv-tmn-lead{ margin:0 0 24px; font-size:20px; line-height:1.5; font-weight:600; color:#191419; max-width:56ch; letter-spacing:-.01em; }
  .mcv-tmn .mcv-tmn-box b.mcv-tmn-brand{ color:#a70d2a; font-weight:700; }
  .mcv-tmn-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px 36px; padding-top:24px; border-top:1px solid rgba(11,11,16,0.11); }
  .mcv-tmn .mcv-tmn-col span.mcv-tmn-lbl{ display:block; font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#8a8085; margin:0 0 8px; }
  .mcv-tmn .mcv-tmn-col p{ margin:0; font-size:14px; line-height:1.7; color:#453d42; }
  .mcv-tmn-foot{ margin-top:26px; padding-top:18px; border-top:1px solid rgba(11,11,16,0.11); }
  .mcv-tmn .mcv-tmn-foot a{ font-family:'JetBrains Mono',ui-monospace,monospace; font-size:12px; font-weight:600; letter-spacing:.04em; color:#a70d2a; text-decoration:none; border-bottom:1px solid rgba(167,13,42,0.32); }
  .mcv-tmn .mcv-tmn-foot a:hover{ border-bottom-color:#a70d2a; }
  @media (max-width:900px){
    .mcv-tmn-cols{ grid-template-columns:1fr; gap:22px; }
    .mcv-tmn .mcv-tmn-box p.mcv-tmn-lead{ font-size:18px; }
  }
  @media (max-width:600px){
    .mcv-tmn-band{ padding:4px 0 48px; }
    .mcv-tmn-box{ padding:26px 22px; border-radius:10px; border-left-width:3px; }
    .mcv-tmn .mcv-tmn-box p.mcv-tmn-lead{ font-size:17px; line-height:1.45; margin-bottom:20px; }
    .mcv-tmn .mcv-tmn-head span.mcv-tmn-kicker{ font-size:12px; letter-spacing:.16em; }
  }

  
    
      
        Disclaimer
        
Miracuves is an independent software development company. We are not affiliated with, connected to, sponsored by, or endorsed by **Fancy**.

        
          
            Why this name
            
“**Fancy** Clone” is used descriptively. It is how the software industry refers to building a platform with functionality similar to Fancy, and how clients search for it.

          
          
            Who built this
            
The entire design and codebase is built by our own team. The product contains no code, design, graphics, or content originating from the Fancy website or applications.

          
          
            Trademarks
            
**Fancy** and all other third-party names and marks are the property of their respective owners, referenced here solely to describe the category of software offered.

          
        
        [Read our full Legal Notice & Disclaimer →](/disclaimer/)
