---
title: X Clone Development Company
description: 
url: https://miracuves.com/x-clone/development-company
date_modified: 2026-09-08
author: miracuves
language: en_US
---

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

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

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

  .mcv-xcd a.mcv-xcd-btn{ display:inline-flex; align-items:center; gap:8px; border-radius:12px; background:linear-gradient(160deg,#d81b46,#e6223f); 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-xcd a.mcv-xcd-btn:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 14px 36px rgba(232,52,79,.42); text-decoration:none; }
  .mcv-xcd a.mcv-xcd-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-xcd a.mcv-xcd-btn-outline:hover{ background:#fff; color:#191419; text-decoration:none; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.mcv-xcd-trustgrid{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .mcv-xcd-trustgrid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .mcv-xcd-trustgrid{ grid-template-columns:1fr; } }
.mcv-xcd-cs-grid{ grid-template-columns:1fr; }

    
    
      
        
          
            [Home](/)/[X Clone](/x-clone/)/Development Company
          
          X Clone · Development Company
          
# X Clone Development Company: What to Check Before You Hire

          
On a network that charges its members, the questions worth asking are about the account rather than the feed. Where entitlement is checked, what a badge is granted by, whether a suspension can be explained a year later, and whether the membership layer transfers at all or stays with the vendor. Below is how we work, the list we publish rather than bury, and the nine questions we would want answered.

          [Talk to Our Team →](https://miracuves.com/schedule-consultation/)[See Pricing](/x-clone/development-cost/)
          
            **Since 2010** building platforms
            **Full source** membership included
            **6 days** to deploy
          
        
        
          Entitlement logicTransfers with the rest
          
            What Handover Actually Means
            
              01Tiers priced from configuration
              02The verification workflow itself
              03Payout relationships and records
              04Firestore rules and indexes
              05Security handbook and VAPT
              06The limitation list, in writing
            
          
        
      
    
  

  
    
      
        2010Building Platforms Since
        9,000+Projects Delivered
        6 daysDeployment Window
        100%Source Code Transferred
      
    
  

  
    
      
        Compare
        
## Agency vs Freelancer vs Miracuves

        
Three routes to the same platform, and where each tends to fail once members are being charged.

      
      
        
| What matters | Freelance team | Miracuves ready-made |
| --- | --- | --- |
| Time to live | Four to nine months, if the scope holds | Six working days |
| Where entitlement is checked | In the interface, because it was faster | On the server, before the gated action runs |
| Repricing a tier | A code change and a deployment | An operator decision, no release |
| What a badge is | A boolean somebody sets by hand | A review queue, a decision and a recorded reason |
| Explaining a suspension | Nothing written down to point at | A reason, an audit entry and an appeal route |
| Who owns the membership layer | Often the vendor, quietly | You, along with the payout relationships |
| Stated limitations | Rarely offered at all | Published before purchase, audio rooms included |
| Price behaviour | Hourly, and it moves | $3,399 fixed, quoted before work starts |

      
      
Good agencies exist and will build you a competent platform. What the table measures is elapsed months, price certainty, and whether the part deciding who is allowed what ends up in your hands or somebody else's.

    
  

  
    
      
        Due Diligence
        
## Questions Worth Asking Any Provider

        
Put all nine to us and to whoever else is bidding. What a provider says about entitlement tells you more than any portfolio.

      
      
        01
### Where is a paid feature gated?

On the server before the action runs, or in the interface. Ask them to unlock a Premium feature from a modified request and watch what happens. Only one answer survives that test.

        02
### What does changing a tier price require?

An operator decision or a deployment. Your first pricing guess will be wrong, so the cost of correcting it matters more than the number you start with.

        03
### How is a badge granted?

Ask to see the review queue and the recorded reason. A verification flag somebody sets in a database is a badge members will not trust, and untrusted verification cannot be sold.

        04
### Is a paid following a relationship or a receipt?

Ask where subscriber ids live. Modelled on the creator record the platform can count and settle against them; modelled as a payment log it cannot tell a creator who is actually subscribed.

        05
### Does a suspension carry a reason?

Ask what an appeal reviewer would read. A status flag with nothing written against it gives you nothing to defend and the member nothing to answer.

        06
### Does the membership layer transfer?

Plenty of vendors hand over a feed and keep the part deciding who is allowed what. Ask explicitly whether the entitlement logic and the payout relationships come with the source.

        07
### Is admin auth separate from member auth?

A role flag on a member token is not an access boundary. On a platform that can suspend accounts and grant badges, that shortcut has the largest downside of anything on this list.

        08
### Does an entitlement resolve the same everywhere?

Ask what happens when a member upgrades on the web and opens the phone. One contract means true everywhere or false everywhere; three implementations mean whichever client refreshed last.

        09
### What is on your list of what is missing?

Any provider whose list is empty either has not looked or is not telling you. Ours starts with the fact that no software supplies members, and it sits further down this page.

      
      
All nine get answered on the first call, the uncomfortable ones included. The Platform Trust section below puts the same answers in writing.

    
  

  
    
      
        Process
        
## The Six-Step Development Process

        
What we do, in the order we do it.

      
      
        Step 1 · Day 0
### Draw the free tier

What Free includes, what Premium and Pro add, and what a verification badge has to be earned by. On a membership network the free tier is a choice rather than a limitation, and deciding it deliberately is the most valuable hour of the whole engagement.

        Step 2 · Days 1 - 2
### Branding across three surfaces

Name, logo and colour scheme across the Next.js web application, the Flutter client and the operator console, with the moderation policy language and the wording of verification decisions set to match how you intend to run the network rather than how we would.

        Step 3 · Days 3 - 4
### Deploy and connect your accounts

The application goes onto infrastructure you control, with the Firestore project, security rules and composite indexes deployed as code. Your Firebase project, Google sign-in credentials and payment credentials are connected with keys you hold rather than keys we hold for you.

        Step 4 · Day 5
### Price the tiers and open the queues

The three tiers configured with their entitlements, tips enabled, the verification review queue opened with the criteria you decided on day zero, and administrator accounts created on the console authentication path that is separate from member accounts.

        Step 5 · Day 6
### Walkthrough and handover

We run the membership loop end to end in front of your team: upgrade an account and watch the entitlement take effect in the API and both clients, approve a verification request and reload the member profile, then suspend an account with a reason and read back the audit entry it wrote.

        Step 6 · Post-launch
### The support window

Sixty days of launch guidance, six months of priority bug fixes and twelve months of updates. Creator payout operations, two-factor enforcement, live audio rooms and the iOS build usually run inside this window on their own scoped schedule.

      
      
Day zero matters more here than the branding days. What the free tier includes is the decision that determines whether anybody ever upgrades, and it is awkward to tighten once members have learned what they get for nothing.

    
  

  
    
      
        Warning Signs
        
## Red Flags That Mean Walk Away

      
      
        
### Five answers that should end the conversation

        
**"The paid features are hidden in the app."** Hidden is not gated. If the check lives in the interface, anybody willing to modify a client gets Pro for nothing, and you will not find out from your revenue figures.

        
**"We handle the subscriptions for you."** Ask what happens if you want to change the price, or leave. A vendor holding the entitlement logic holds your commercial model, and that is a dependency you cannot unwind later.

        
**"Verification is just a flag."** Then it is a badge nobody believes, which means it is a badge nobody pays for. The review queue and the recorded reason are what give it value.

        
**"We'll help you get members."** No software vendor can supply an audience, and one implying otherwise is telling you something useful about the rest of their claims.

        
**An estimate with no named exclusions.** Software has edges, and a platform charging members has payment and compliance obligations on top of them. A number presented without either was never costed properly.

      
      
The fourth is on our own list rather than only on this one, and it leads the Platform Trust section below because it is the limitation most likely to decide whether this purchase works for you.

    
  

  
    
      
        Domain
        
## What a Membership Network Has to Get Right

        
The machinery on and around the account record that determines whether a network can charge for itself.

      
      
        **Entitlement enforced where it cannot be bypassed**The plan on the member record and the check running on the server before a gated action executes. A member cannot unlock a paid feature by editing a request or running a modified client, which is the difference between a paywall and a suggestion nobody has tested.
        **Pricing that is a decision, not a deployment**Three tiers priced from configuration rather than compiled into the interface, so changing what a tier costs or includes is an operator action. Your first pricing guess is always made without evidence, so the cost of correcting it matters more than the number itself.
        **Verification somebody signs their name to**A request entering a review queue, an operator approving it, the badge written to the member record with a reason recorded and an audit entry naming who decided. This is what makes a badge worth having, and therefore worth charging for.
        **Paid followings as relationships**Subscriber ids held on the creator's own record rather than a payment log filed elsewhere, so the platform can count them, settle against them and show a creator exactly who is subscribed. A receipt cannot do any of those three things.
        **Every decision explicable later**Reasons recorded on status changes, appeal review with something to actually examine, and an audit entry capturing the administrator, the action, the target, the reason and the timestamp. On a network charging members, somebody eventually asks what happened last Tuesday.
        **One truth across three clients**64 handlers under a versioned surface with one response envelope and ownership confirmed on every write, so a tier, a badge or a block resolves identically in the browser, the Flutter client and the console rather than in whichever refreshed last.
      
      
All six ship in the base build. Ask on the call and we will open each one in the demo, including approving a verification request and watching the badge appear on the member profile.

    
  

  
    
    
      
        Platform Trust
        
## What We Have Not Done Yet

        
Six items, stated before a purchase rather than after one.

      
      
        
          01
          
### What does not arrive is people

          
No codebase supplies the thing a social network actually runs on, and a vendor who lets you believe otherwise is selling something they cannot deliver. This matters doubly on a membership model, because a network charging for accounts still needs accounts to charge. Who joins is yours to bring.

        
        
          02
          
### Two-factor is present but not enforced

          
The account record carries two-factor fields and the base build does not enforce them. On a platform charging members and holding payment relationships this is the item we would schedule first, and it is ordinary engineering rather than a rearchitecture because the fields already exist.

        
        
          03
          
### Live audio rooms are an extension

          
The Firestore rules define a spaces collection, but the surface on top of it is a scoped extension rather than a switch. If audio rooms are part of what you intend to sell membership for, raise it on the first call, because it is real work rather than a setting somebody flips.

        
        
          04
          
### Creator payouts are operations

          
Subscriber ids and tip records model who owes what and to whom. Moving money out to creators on a schedule, with the tax handling, thresholds and compliance that paying individuals implies, is operations work shaped by your jurisdiction and processor rather than a module that ships enabled.

        
        
          05
          
### Six integrations are scoped separately

          
A payment processor beyond the referenced Stripe setup, automated content moderation, video transcoding with CDN delivery, an iOS build and its submission, enterprise SSO, and analytics deeper than the console's own statistics. Each is quoted before it starts rather than assumed into the price.

        
        
          06
          
### What is built is real

          
Three tiers enforced server-side, a verification workflow with recorded reasons, creator subscriptions and tips settling between members, account status control with appeal review, an audit entry on every privileged action, sign-in history with device detail, 64 handlers under one envelope, and a fifteen page console on its own authentication path.

        
      
      
Role granularity finer than a single operator role is configuration we scope with you rather than something that arrives switched on. Clone names the functional target rather than the provenance of the code: this is an original implementation on Next.js, Flutter and Firebase, with no affiliation to X or Twitter.

    
  

  
    
      
        Modelled
        
## Modelled Reference Deployment

        
An illustrative configuration rather than a client engagement, showing how the shipped platform is set up for an operator whose revenue comes from members rather than advertisers. Every figure in it is a property of the platform.

      
      
        
          
            Illustrative Scenario
            
### Paid Membership Network

            
Tips live at launch, verification opened once a badge is worth having, paid tiers introduced against real usage, and the ad desk left switched off entirely.

          
          
            Illustrative scenarioNot a client engagementSocial networking, membership-led
          
          
            **3**Server-side tiers
            **15**Operator console pages
            **6 days**Deployment window
          
          
            
**What the situation makes hard:** members who will pay for a network but not for advertising to be removed; verification that means something rather than a flag set in a database; and paid features that cannot be unlocked by a modified client.

            
**What the configuration addresses:** charging for membership from the first month rather than after growth, giving creators a way to earn that settles between members, and making every operator decision explicable later through recorded reasons and an audit trail.

            
**What ships in the base build:** three tiers with entitlement resolved server-side, a verification review queue writing badges with reasons, creator subscriptions as subscriber ids and tips on any post or profile, account status control with appeal review, the full conversation and messaging surface, and a fifteen page operator console on its own authentication path.

          
        
      
      
Named client deployments are published separately. See the Miracuves portfolio for real engagements with their own reported figures, and hold this page to what it says it is.

    
  

  
    
      
        FAQ
        
## Frequently Asked Questions

      
      
        
          
            Why lead with membership rather than advertising?
            Because advertising does not work at the size you will actually launch at. An advertiser buys attention, and attention has to exist and be measurable before anybody will pay for it, which realistically means months of growth before the first campaign is worth selling. Membership revenue has no such threshold: a hundred engaged people can produce tips and subscriptions in the first month. There is also a strategic reason, which is that a network funded by its members answers to its members.
          
          
            How is this different from your Twitter Clone?
            It is the same platform at the same price, and we would rather say that plainly than invent a difference. X is what Twitter is called now, so these are not two products. What differs is which half of the build each page leads with, and that follows what people searching each name actually want. The Twitter Clone page leads with the typed ad campaign engine and the scoped developer keys; this one leads with tiers, verification and creator earnings.
          
          
            What exactly do I own?
            Everything that runs. The Next.js application and its 68 pages and 190 components, the 64 API handlers, the Flutter client and its 28 screens, the fifteen console pages, the twelve Cloud Functions, and the Firestore rules, composite indexes and typed converters that hold it together. Crucially the membership layer comes with it: the entitlement logic, the verification workflow and the payout relationships. The transfer is outright.
          
        
        
          
            Can it be moderated properly?
            Yes, and it is the half of the product most clone scripts never build. Reports land in a queue as records to work rather than as mail to read, and close through five graded actions: hide, unhide, delete, suspend and ban. Status changes carry a written reason, which is what gives an appeal something to actually examine. Behind all of it, privileged actions write an audit entry capturing the administrator, the action, the target account, post or report, the reason and the timestamp.
          
          
            Will you enforce two-factor for us?
            Yes, as scoped work quoted before it starts, and we would schedule it early rather than late. The account record already carries the fields, so enforcement is ordinary engineering rather than a rearchitecture. On a platform charging members and holding payment relationships it is materially cheaper to close before you have a live paying cohort than after, which is why it sits second on our own list.
          
          
            Have you deployed this for a live network?
            Miracuves has been building platforms since 2010 with over nine thousand projects delivered, and engagements are published in the portfolio with their own figures. The reference deployment on this page is labelled illustrative because it is authored rather than reported, and its numbers describe the build. Where clients ask not to be named we leave them unnamed rather than implying more than we can evidence.
          
        
      
    
  

  
    
    
      
        
## Ask us the hard questions first

Come with the nine questions above. You will get straight answers, including the one where the honest answer is that we cannot give you members.

        [Talk to Our Team](https://miracuves.com/schedule-consultation/)[See Pricing](/x-clone/development-cost/)
      
    
  

  
    
      
        Explore
        
## Explore the X Clone

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

  
    
    
      
        
## Hire on the answers, not the deck

        
Six working days to a branded membership network on your own infrastructure, the entitlement logic and verification workflow in your hands, and a limitation list you read before signing rather than after.

        [Talk to Us →](https://miracuves.com/schedule-consultation/)
      
      
        
          **Written by the Miracuves Product Team**·
          Reviewed for accuracy·
          Last updated **September 8, 2026**
        
        
          Miracuves · X Clone Solution
          Limitations and the modelled deployment transcribed from the hub, 2026-09-08
        
      
    
  

				
				
				
				
						
					
			
						
				
					
  /* 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 **X**.

        
          
            Why this name
            
“**X** Clone” is used descriptively. It is how the software industry refers to building a platform with functionality similar to X, 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 X website or applications.

          
          
            Trademarks
            
**X** 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/)
