---
title: Etsy Clone Development Company
description: 
url: https://miracuves.com/etsy-clone/development-company
date_modified: 2026-08-21
author: Ashish Khan
language: en_US
---

.mcv-etd{
    --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-etd *{ box-sizing:border-box; }
  .mcv-etd h1,.mcv-etd h2,.mcv-etd h3{ font-family:'Plus Jakarta Sans',Arial,sans-serif; font-weight:800; margin:0; letter-spacing:-0.02em; line-height:1.12; }
  .mcv-etd p{ margin:0 0 14px; line-height:1.7; color:var(--ink); }
  .mcv-etd a{ color:var(--crimson-deep); text-decoration:none; }
  .mcv-etd .mono{ font-family:'JetBrains Mono',monospace; }
  .mcv-etd-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; position:relative; z-index:2; }
  .mcv-etd-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-etd-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-etd-crumb a{ color:rgba(255,255,255,.62); }
  .mcv-etd-crumb a:hover{ color:var(--crimson-light); }
  .mcv-etd-crumb span.sep{ opacity:.5; }
  .mcv-etd-crumb span.cur{ color:rgba(255,255,255,.75); }

  .mcv-etd-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-etd-eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--crimson); }

  .mcv-etd-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-etd-hero .ring{ position:absolute; border:2px solid rgba(232,52,79,.18); border-radius:50%; pointer-events:none; }
  .mcv-etd-hero .ring1{ width:560px; height:560px; top:-260px; right:-200px; }
  .mcv-etd-hero .ring2{ width:340px; height:340px; bottom:-200px; right:120px; border-color:rgba(232,52,79,.1); }
  .mcv-etd-herogrid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; }
  .mcv-etd-hero h1{ font-size:clamp(27px,3.9vw,44px); color:#fff; }
  .mcv-etd-hero h1 em{ font-style:normal; color:#ff8090; }
  .mcv-etd-hero p.sub{ font-size:16px; color:rgba(255,255,255,.68); max-width:600px; margin:20px 0 30px; }

  .mcv-etd a.mcv-etd-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-etd a.mcv-etd-btn:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 14px 36px rgba(232,52,79,.42); text-decoration:none; }
  .mcv-etd a.mcv-etd-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-etd a.mcv-etd-btn-outline:hover{ background:#fff; color:#191419; text-decoration:none; }

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

  .mcv-etd-cardstack{ position:relative; height:340px; }
  .mcv-etd-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-etd-fincard.c1{ top:0; left:10px; z-index:1; opacity:.5; transform:rotate(-6deg) scale(.92); }
  .mcv-etd-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-etd-fincard .brand{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55); }
  .mcv-etd-fincard .chip{ width:34px; height:24px; border-radius:5px; background:linear-gradient(135deg,#ff8090,#e8344f); margin:22px 0 18px; }
  .mcv-etd-fincard .num{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; letter-spacing:.1em; }
  .mcv-etd-fincard .curr{ position:absolute; bottom:22px; right:22px; font-family:'JetBrains Mono',monospace; font-size:11px; color:#ff8090; }
  .mcv-etd-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-etd-float .k2{ font-family:'JetBrains Mono',monospace; font-size:10px; color:#ff8090; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
  .mcv-etd-float .v{ font-family:'JetBrains Mono',monospace; font-size:15px; color:#fff; font-weight:700; }
  .mcv-etd-float-1{ top:-10px; right:0; }
  .mcv-etd-float-2{ bottom:10px; left:0; }

  .mcv-etd-statbar{ margin-top:-72px; position:relative; z-index:3; }
  .mcv-etd-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-etd-statbar .stat{ text-align:center; padding:0 12px; border-right:1px solid var(--line-light); }
  .mcv-etd-statbar .stat:last-child{ border-right:none; }
  .mcv-etd-statbar .num{ font-family:'JetBrains Mono',monospace; font-weight:700; font-size:22px; color:#ff8090; }
  .mcv-etd-statbar .lbl{ font-size:11.5px; color:rgba(255,255,255,.62); margin-top:6px; line-height:1.4; }

  .mcv-etd-section{ padding:100px 0 76px; }
  .mcv-etd-section.paper{ background:#faf8f8; }
  .mcv-etd-section.tight{ padding-top:76px; }
  .mcv-etd-head{ text-align:center; max-width:720px; margin:0 auto 48px; }
  .mcv-etd-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-etd-head h2{ font-size:clamp(22px,3vw,34px); color:#191419; }
  .mcv-etd-head p{ color:#6d666d; margin-top:14px; }

  .mcv-etd-rolegrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .mcv-etd-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-etd-rolecard:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,.09); border-color:#e8344f; }
  .mcv-etd-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-etd-rolecard h3{ font-size:17px; margin-bottom:12px; color:#191419; }
  .mcv-etd-rolecard ul{ margin:0; padding-left:18px; font-size:13.5px; color:#191419; }
  .mcv-etd-rolecard li{ margin-bottom:8px; line-height:1.5; }

  .mcv-etd-tablewrap{ overflow-x:auto; border-radius:16px; box-shadow:0 12px 34px rgba(0,0,0,.07); border:1px solid var(--line); }
  table.mcv-etd-table{ border-collapse:collapse; width:100%; min-width:680px; background:#fff; font-size:13.5px; }
  table.mcv-etd-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-etd-table td{ padding:14px 16px; border-bottom:1px solid rgba(11,11,16,0.1); vertical-align:top; color:#191419; }
  table.mcv-etd-table td.hl{ background:rgba(232,52,79,.06); border-top:3px solid #e8344f; font-weight:600; color:#191419; }
  table.mcv-etd-table th.hl{ background:#e8344f; color:#ffffff; }
  table.mcv-etd-table tbody tr:hover td{ background:#f4f1f1; color:#191419; }
  table.mcv-etd-table tbody tr:hover td.hl{ background:rgba(232,52,79,.13); color:#191419; }
  table.mcv-etd-table tr:last-child td{ border-bottom:none; }
  .mcv-etd-note{ font-size:12.5px; color:#6d666d; margin-top:12px; }

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

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

  .mcv-etd-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-etd-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-etd-cs-badge .dot{ width:6px; height:6px; border-radius:50%; background:#e8344f; }
  .mcv-etd-cs-body{ flex:1; min-width:260px; }
  .mcv-etd-cs-body h3{ font-size:16.5px; margin-bottom:6px; color:#191419; }
  .mcv-etd-cs-body p{ color:#6d666d; font-size:13.5px; margin:0; max-width:460px; }
  .mcv-etd a.mcv-etd-cs-link{ font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:#a70d2a; white-space:nowrap; }

  .mcv-etd-faqgrid{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; max-width:1000px; margin:0 auto; }
  .mcv-etd-faq details{ border-bottom:1px solid var(--line); padding:18px 0; }
  .mcv-etd-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-etd-faq summary::-webkit-details-marker{ display:none; }
  .mcv-etd-faq summary::after{ content:'+'; font-family:'JetBrains Mono',monospace; color:#a70d2a; font-size:20px; font-weight:700; flex:none; }
  .mcv-etd-faq details[open] summary::after{ content:'\2212'; }
  .mcv-etd-faq .a{ color:#6d666d; font-size:13.5px; margin-top:10px; line-height:1.65; }

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

  .mcv-etd-explore{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
  .mcv-etd a.mcv-etd-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-etd a.mcv-etd-pill:hover{ border-color:#e8344f; color:#a70d2a; text-decoration:none; }
  .mcv-etd a.mcv-etd-pill.cur{ background:#191419; color:#fff; border-color:#191419; }

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

    
    
      
        
          
            [Home](/)/[Etsy Clone](/etsy-clone/)/Development Company
          
          Etsy Clone · Development Company
          
# Etsy Clone Development Company: How to Choose One

          
Every provider can demo a storefront with a handful of shops on it. Two questions separate them, and neither can be answered with a slide: onboard a seller without an administrator touching the database, then give that one seller a commission rate different from everybody else. Here is how the options compare, what to ask, and what we have not done yet.

          [Talk to Our Team →](/etsy-clone/)[See Pricing](/etsy-clone/development-cost/)
          
            **Since 2010** 9,000+ projects
            **Full source** every time
            **No named client** on this platform yet
          
        
        
          DisclosureStated up front
          
            The Sixty-Minute Demo Test
            
              01Onboard a seller, no admin
              02Reprice that seller alone
              03Bulk approve fifty listings
              04Cap a plan and hit the cap
              05Pay out three small sellers
              06Ask what is encrypted
            
          
        
      
    
  

  
    
      
        2010Building Since
        9,000+Projects Delivered
        6Working Days to Deploy
        0Encrypted Files Shipped
      
    
  

  
    
      
        Compare
        
## Agency vs Freelancer vs Miracuves

        
Three routes to a marketplace of many small sellers, and the trade-off each one actually asks you to accept.

      
      
        
| What you care about | Custom agency | Freelance team | Miracuves ready-made |
| --- | --- | --- | --- |
| Time to a working platform | Quarters, and seller tooling lands last | Unpredictable, often optimistic | Six working days |
| Cost shape | A programme budget that moves | Low quote, high variance | $2,499 fixed, one-time, no per-seller fee |
| Self-service onboarding | Built if you insisted on it in the spec | Usually an admin form | Registration with KYC and documents, then an approval queue, from day one |
| Commission granularity | Whatever was specified, and hard to widen later | Usually one platform rate | Four levels - global, category, seller, product - resolved per line |
| Moderation at volume | Built for the demo dataset | One row at a time | A queue with bulk approve and reject, plus full editing rights over any listing |
| Who owns the code | Usually you, check the contract | Usually you, if documented | You - complete Laravel 12 source, no encrypted files, no callback |
| What happens if they leave | Handover is a project of its own | The single largest risk | Ordinary Laravel and Flutter; any competent team can pick it up |
| Domain knowledge included | Depends entirely on the team | Depends entirely on the individual | Already in the schema - 131 tables of it |
| Proof it works | Their portfolio | Their portfolio | A live demo where you can onboard and reprice a seller yourself |

      
      
The commission row is the one with the longest tail. A platform storing one rate can add a per-seller override later, but every historical order, every reversed commission and every payout already computed used the old assumption - and reconciling that is worse than building it right.

    
  

  
    
      
        Due Diligence
        
## Questions Worth Asking Any Provider

        
Ask these of us, and of everyone else you are talking to. The good ones are answered by doing something in a live console.

      
      
        01
### Onboard a seller in front of me

          
Not describe it - do it, without an administrator touching the database. If a vendor has to be created from the admin panel, your catalog grows at the speed of your operations headcount, and no marketing budget fixes that.

        02
### Now give that seller their own rate

          
Set one maker to a different commission from everybody else, and confirm nothing about anyone else changed. If the answer is a global setting plus a spreadsheet of exceptions, you cannot negotiate with the sellers worth negotiating with.

        03
### Where did their KYC documents go?

          
Attached to the approval decision, or sitting in somebody's inbox? A year later, when a regulator or a dispute asks how a seller was vetted, only one of those answers is an answer.

        04
### Bulk approve fifty listings

          
Watch how long it takes. With many small sellers, moderation is a daily shift, and a queue you can only work one row at a time is not slow - it is a queue that permanently grows.

        05
### Cap a plan and then hit the cap

          
Ask what a seller sees when they try to list past their limit. On this model the upgrade prompt at the cap is the revenue moment, and if it is a raw error message you have built a paywall rather than a plan.

        06
### Pay out three small sellers

          
Approve, deny and mark-processed against each one's saved details. A payout process designed for fifty monthly transfers behaves very differently at a thousand weekly ones, and this is where that shows.

        07
### Can a buyer message a seller directly?

          
With attachments? Custom and made-to-order work is negotiated rather than configured. Without a channel for it, those orders happen somewhere else, or they do not happen.

        08
### Is any of the source encrypted?

          
Ask directly, and ask whether there is a licence callback. Both are common in this category and both are leverage. Our answer is no to each, and you can verify it in the repository on day six.

        09
### What have you not done yet?

          
A provider who cannot name a gap either has not looked or will not say. Ours is on this page, in the section below, without being asked.

      
      
The first two are worth more than the other seven combined, because they are the two capabilities that decide whether a maker marketplace can grow at all.

    
  

  
    
      
        Process
        
## The Six-Step Development Process

        
What actually happens between signing and taking your first order, and who is responsible for each part of it.

      
      
        
          01
          
            
### Model discovery

            
How many sellers you expect and how small they are, what your approval bar is, which documents KYC should collect, how you intend to price plans, and whether custom or made-to-order work is central enough to need an options builder scoped alongside the base deployment.

          
        
        
          02
          
            
### Infrastructure and deployment

            
Provisioning on your provider under your account, the Laravel 12 application deployed, MySQL and Redis running, queue worker and scheduler configured, storage wired for a media-heavy seller base, domain pointed and TLS in place.

          
        
        
          03
          
            
### Seller pipeline and plans

            
The registration flow and KYC document requirements configured, the approval queue set up with the right staff permissions, and subscription tiers defined with their listing caps, commission rates and placement benefits. This is the day that decides how your catalog grows.

          
        
        
          04
          
            
### Branding and catalog structure

            
App name, logo, splash screen and colour theme applied to all three Android builds and both web surfaces, transactional email templates branded, custom domain configured, and your category tree and attribute library set up.

          
        
        
          05
          
            
### Money and rules

            
Gateway credentials installed and tested, commission configured at the levels you intend to use, withdrawal methods and thresholds set for a high-frequency small-value payout queue, loyalty and coupon rules in place, and staff accounts created with per-module permissions.

          
        
        
          06
          
            
### Walkthrough, handover and support

            
We onboard a seller end to end, approve them, put them on a plan, give them their own rate and pay them out - with you, not at you. Then the repository transfers, and 60 days of launch guidance, 6 months of priority bug fixes and 12 months of updates begin.

          
        
      
      
Six days is our side of it. Recruiting makers is the business, it runs on its own clock, and on this model it is the longest pole by a wide margin - we will say so before you buy rather than after.

    
  

  
    
      
        Warning Signs
        
## Red Flags That Mean Walk Away

        
Six things that should end the conversation, whoever you are talking to, including us.

      
      
        
### If you hear any of these, stop

        
- **"Your admin team can create the vendors"**Then your catalog grows at the speed of your operations headcount forever. At fifty sellers that is fine. At a thousand it is the whole business, and it is the reason this model needs a different platform from a general marketplace.
- **"Commission is a global setting"**The maker you most want to sign is the one who will negotiate. A single platform rate means every negotiation reprices your entire marketplace, so in practice you stop negotiating and lose the sellers worth having.
- **"Moderation is just a list you go through"**Without bulk approve and reject, and without full operator editing rights, the queue grows faster than anyone reads it. That is not an inconvenience, it is a cap on how many sellers you can accept.
- **"Sellers can email you their documents"**Then the evidence of how each seller was vetted lives in an inbox. A year later, when it is asked for, that is not an audit trail.
- **"Some files are encrypted for licensing"**Then you do not own the platform, you rent it with extra steps. Ask this early, because the answer rarely improves.
- **"Everything is ready, nothing is missing"**No platform is finished. A provider who will not name a single gap is either not looking or not telling, and both cost you the same amount eventually.

      
      
The last one is the reason the section below exists on our own page.

    
  

  
    
      
        Domain
        
## What a Maker Marketplace Has to Get Right

        
Five things that are invisible in a demo and decisive in production. Any provider you are considering should be able to show you all five with data in them.

      
      
        **Onboarding that does not need you**Self-registration with KYC and document upload, an operator approval step with those documents attached to the decision, and suspension and reinstatement from the console. At a thousand sellers you cannot interview anyone, and the pipeline has to hold quality without holding people up.
        **Commission that resolves at four levels**Global, per category, per seller and per product, looked up per line rather than assumed, taken on completion and reversed on refund. That granularity is what lets you sign one maker without repricing the marketplace.
        **Plans that cap listings**Tiered packages with product-count limits, reduced commission, featured placement and priority support. On this model the upgrade trigger is wanting to list more, which turns catalog growth into revenue without charging anything that sells.
        **Moderation built for volume**A queue with approve, reject and bulk actions, plus full operator editing rights over anything on the platform, because a small seller's listing will be wrong in ways they cannot see.
        **A conversation channel**Buyer-to-seller chat with attachments alongside a threaded ticket queue. Custom requests, sizing questions and made-to-order arrangements are negotiated rather than configured, and without a channel they happen somewhere else.
      
      
Every one of these ships in the base build and is demonstrable in the live demo. Ask us to open any of them with data in it.

    
  

  
    
    
      
        Platform Trust
        
## What We Have Not Done Yet

        
Stated plainly, because you will find it out anyway and it is better you hear it from us first.

      
      
        
          !
          
### No named client on this platform

          
We have not yet deployed this multi-vendor commerce platform for a named client. Nothing on this page is presented as an Etsy Clone reference. The testimonials on the hub are approved quotes from operators who launched *other* Miracuves marketplaces built on the same foundations - vendor onboarding, a merchant console, dispatch to a fleet, and commission and payouts on one ledger.

        
        
          !
          
### The reference deployments are modelled

          
The two deployments described below are illustrative configurations built only from capabilities that ship in the base build. They are not client engagements, they carry no reported revenue or growth figures, and the numbers in them are properties of the platform rather than results a customer reported.

        
        
          !
          
### There is no options or quote builder

          
Named on the hub as scoped work. Custom and made-to-order arrangements run through buyer-to-seller chat rather than through a configurator. That works for most maker marketplaces and does not work at all for a model where buyers are expected to configure and price a product themselves.

        
        
          !
          
### Moderation is human

          
The queue, the bulk actions and full editing rights ship. Automated pre-screening - image classification, prohibited-item detection, duplicate detection - does not, and on a large seller base that is a real staffing cost rather than a footnote. It is scopeable; it is not included.

        
        
          !
          
### Android only in the base price

          
Three Flutter Android builds ship. The projects compile for iOS, but the developer account, signing, store submission and review cycle are separate work and quoted as an add-on rather than assumed.

        
        
          !
          
### Neither ISO 27001 nor SOC 2 is held

          
Neither certificate is held and neither is claimed. The platform is built so the evidence gathering is possible - permissions per module, append-only histories, field-level edit records - but certification is a separate programme. Worth noting given the volume of seller identity documents this model collects.

        
      
      
A provider willing to publish this list is easier to verify than one who is not. Hold us to it.

    
  

  
    
      
        Modelled
        
## Modelled Reference Deployments

        
Two illustrative configurations showing how the same platform is set up for two very different commerce markets. Neither is a client engagement. Both are built only from capabilities that ship in the base build and are demonstrable in the live demo.

      
      
        
          
            Modelled Reference Deployment
            
### India: COD-Led Multi-Vendor Marketplace

            
How the platform is configured for a marketplace where cash still closes a large share of orders and growth runs outward from the metros into smaller towns.

          
          
            Illustrative scenarioNot a client engagementIndia, market modelled
          
          
            **131**Tables in the shipped schema
            **4**Wallets reconciled per order
            **6 days**Deployment window
          
          
            
**What the market makes hard:** cash closing the order at the door days after it was placed with stock and commission already committed; tax rates differing by category and by state, needing a line on every invoice; buyers who do not shop in English; and delivery that reaches some pin codes reliably and others not at all.

            
**What ships in the base build:** cash on delivery with a server-verified code at handover, a cash balance carried per agent and settled to the operator wallet, an operator-set handling fee, zip allowlists deciding where checkout is offered, tax classes bound per zone with per-product rules, and languages configured across web and all three Android apps.

            
The figures above are properties of the platform, not results reported by a customer. Named client deployments, with their own reported figures, are published separately on the Miracuves portfolio.

          
        
        
          
            Modelled Reference Deployment
            
### Thailand: Provincial and Cross-Border Marketplace

            
How the same platform is configured where one catalog has to serve a capital, the provinces and a neighbouring market, each with different delivery economics and a different currency.

          
          
            Illustrative scenarioNot a client engagementThailand, market modelled
          
          
            **11**Gateways available to switch between
            **9**Order statuses, payment to delivered
            **3**Android apps in the base build
          
          
            
**What the market makes hard:** delivery economics differing sharply between a dense capital route and a provincial or island one; buyers who expect to pay on arrival; selling into neighbouring markets that quote in a different currency; and a second market usually meaning a second deployment to keep in step.

            
**What ships in the base build:** zones with per-category shipping cost overrides, a currency catalog whose default drives checkout display, cash on delivery with per-agent reconciliation, a delivery fleet with pickup and delivery checkpoints, multi-language storefront across every surface, nine order statuses with a full history per order, and one REST API serving the storefront, the seller panel and all three apps.

            
The figures above are properties of the platform, not results reported by a customer. Named client deployments, with their own reported figures, are published separately on the Miracuves portfolio.

          
        
      
      
We label these as modelled rather than dressing them as case studies because we have not yet deployed this platform for a named client, and a reference deployment presented as client proof is the fastest way to lose the trust this page is trying to earn.

    
  

  
    
      
        FAQ
        
## Frequently Asked Questions

      
      
        
          
            Have you deployed this platform for a real client?
            Not yet, and we say so on the hub and again here: we have not yet deployed this multi-vendor commerce platform for a named client. The testimonials you will see are approved quotes from operators who launched other Miracuves marketplaces built on the same foundations - vendor onboarding and approval, a merchant console, dispatch to a delivery fleet, and commission and payouts on one ledger. The two reference deployments are modelled configurations, labelled as such.
          
          
            Why would I buy a platform with no client reference?
            Because the thing you can verify is better than a reference. Onboard a seller, reprice them alone, bulk approve fifty listings, cap a plan and pay three sellers out - all in the live demo, in under an hour. Then read the 131-table schema and take complete unobfuscated source into your repository on day six. A reference tells you someone else was satisfied; a working demo tells you what you are getting.
          
          
            How is this different from your Amazon Clone?
            Same platform, same price, different operating model on the page. The Amazon Clone is written for the general multi-vendor marketplace. This one leads on self-service onboarding, commission set per seller, subscription tiers with listing limits, continuous moderation and buyer-to-seller chat. Choose by whether you expect fifty sellers or five thousand - that single number changes which capabilities carry the business.
          
        
        
          
            Do I own the code, genuinely?
            Yes. The complete Laravel 12 backend and all three Flutter projects transfer into your repository, unobfuscated, with no encrypted files and no licence callback of any kind. There is no mechanism by which we could disable your platform, and no per-seller fee that grows as your marketplace does.
          
          
            What if I need an options or quote builder?
            It is named on the hub as scoped work rather than implied, and quoted separately at typically two to eight weeks. Weigh it honestly: buyer-to-seller chat covers custom and made-to-order arrangements well for most maker marketplaces, and covers a model where buyers configure and price a product themselves not at all. If yours is the second kind, raise it at the start.
          
          
            Can our own developers maintain this after handover?
            That is the intent behind the stack choices. Laravel 12 on PHP 8.2, MySQL, Redis 7 and Flutter are deliberately ordinary. The backend is organised into nWidart modules so AI, Blog and Tax are separable, migrations are reversible, and the hot paths carry composite indexes. Any competent Laravel team can pick this up without us.
          
        
      
    
  

  
    
    
      
        
## Ask us the hard questions first

Bring the nine questions above. The first two decide whether a maker marketplace can grow at all, and we will answer both in a live console.

        [Talk to Our Team](/etsy-clone/)[See Pricing](/etsy-clone/development-cost/)
      
    
  

  
    
      
        Explore
        
## Explore the Etsy Clone

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

  
    
    
      
        
## A partner who tells you what has not happened yet

        
No named client on this platform, two modelled reference deployments labelled as modelled, no options builder and no automated moderation - all named up front, and a live demo you can test in an hour.

        [Talk to Us →](/etsy-clone/)
      
      
        
          **Written by the Miracuves Product Team**·
          Reviewed for accuracy·
          Last updated **August 21, 2026**
        
        
          Miracuves · Etsy Clone Solution
          No-client disclosure and modelled-deployment labelling cross-verified against the live hub, 2026-08-21
