---
title: ShortMax Clone Business Model
description: 
url: https://miracuves.com/shortmax-clone/business-model
date_modified: 2026-09-01
author: miracuves
language: en_US
---

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
    
      
        
          
            [Home](/)/[ShortMax Clone](/shortmax-clone/)/Business Model
          
          ShortMax Clone · Business Model
          
# ShortMax Clone Business Model: Retention Paid in Inventory

          
A growth-led operator earns in a specific order. The expensive part is not producing the next title, it is buying the next viewer, so the levers that matter first are the ones that make a returning viewer cheaper than an acquired one. Here that is done by paying retention in coins you issue rather than cash you spend, and the reason it can be measured at all is that every coin movement carries one of seven typed ledger codes.

          [Design My Revenue Model →](https://miracuves.com/schedule-consultation/)[See Pricing](/shortmax-clone/development-cost/)
          
            **7 codes** typed ledger
            **Operator-set** reward caps
            **0%** taken by Miracuves
          
        
        
          Every coinCarries its origin code
          
            Where the Money Comes From
            
              01Coin pack sales with bonuses
              02VIP subscription windows
              03Rewarded ad inventory
              04Per-episode coin unlocks
              05Campaign-driven repeat spend
              06Coin economy analytics, by code
            
          
        
      
    
  

  
    
      
        5Revenue Lines Available
        7Typed Ledger Codes
        0%Taken by Miracuves
        $3,399One-Time, Fixed
      
    
  

  
    
      
        The Model
        
## Why Retention Paid in Inventory Changes the Model

        
The whole argument for a growth-led short-drama platform sits in one comparison.

      
      
Acquiring a viewer costs cash and the price rises every quarter. Returning a viewer costs coins, and coins are inventory you issue at a price you set. A check-in ladder that pays a viewer to come back on day four is buying a return visit for the wholesale cost of an episode unlock rather than the retail cost of a click, and that arithmetic is the reason the reward surfaces exist at all.

      
What makes it a business model rather than a hope is the ledger. Every coin movement is written with one of seven typed codes, so a coin sold, a coin issued for a check-in, a coin paid for a referral and a coin spent on an unlock stay distinguishable forever. Without that separation the console can tell you a balance and nothing else, and a balance cannot answer the only question that matters here: what did retention cost, and did it come back.

      
This is also why the reward caps are operator settings rather than constants. The first month of real behaviour will tell you the ladder is too generous or too thin, and you need to be able to move it that week.

    
  

  
    
      
        Revenue
        
## Five Revenue Lines and One Growth Loop

        
What the platform can charge for, and what feeds it.

      
      
        
### Coin pack sales

Coin SKUs with bonus coins and an offer price, sold through hosted checkout or store billing and credited to a purchased balance that does not expire. This is the primary cash line, and the ledger keeps it separate from every coin you gave away.

        
### VIP subscription windows

Plans priced by validity and validity type, granting an entitlement window that opens locked episodes while it runs. On a growth-led launch VIP usually arrives after the reward loop, because it converts your best payers onto your cheapest tender if it lands too early.

        
### Rewarded ad inventory

Ads as a third tender for viewers who never spend cash, under an operator-set daily cap. AdMob on the Flutter store build is the live path; the web surface is a simulated timed preview, so model ad revenue against the store build.

        
### Per-episode coin unlocks

Coins spent against locked episodes are where issued coins and sold coins finally meet. Because both are ledgered, you can see what proportion of your unlock volume was paid for in cash and what proportion you funded yourself.

        
### Campaign-driven repeat spend

The campaign desk with templates, audiences, scheduling and statistics writes an in-app inbox row per targeted user, working with no external service configured. Reaching your existing audience is the cheapest revenue in the building.

        
### The loop that feeds all five

Seven day check-in ladder with streak, ad reward tasks under a daily cap, social follow bonuses, an email bonus, a login bonus, and a referral reward credited on signup. None of these are revenue lines; they are what makes the five above cheaper to fill.

      
      
Miracuves takes no percentage of any of these. The gateway you connect is yours, the AdMob account is yours, and the licence is one-time.

    
  

  
    
      
        Category
        
## How the Category Itself Makes Money

        
The shapes that recur across short-drama operators, and where each one breaks.

      
      
        
| Approach | How it earns | Where it breaks |
| --- | --- | --- |
| Coin unlocks per episode | Viewer buys coins, spends them at the lock | Dies if the lock lands before the story hooks |
| Reward-funded unlocks | Operator issues coins to return a viewer | Farmed within a week if the daily cap is loose |
| Subscription window | Flat fee opens locked episodes for a period | Cannibalizes coin revenue on a thin library |
| Rewarded advertising | Ad view becomes a third tender for the unlock | Needs store-build volume before it is material |
| Referral-led growth | Existing viewers acquire the next ones | Stops instantly if the reward is not visibly credited |
| Paid acquisition | Buy the viewer, recover through unlocks | Unmeasurable here, because there is no attribution |

      
      
The last row is the honest one. This build has no attribution, deep linking or UTM tracking, so a paid acquisition strategy needs tooling bought alongside it rather than assumed inside it.

    
  

  
    
      
        Sequence
        
## Monetization Approaches, Ranked by Acquisition Cost

        
Cheapest viewer first. The order matters more than the mix.

      
      
        
| Source of the next viewer | What it costs you | Switch it on |
| --- | --- | --- |
| A viewer you already have, returning | Coins you issue, at your wholesale cost | Day one, with the check-in ladder |
| A viewer brought by a referral | One operator-set reward, credited on signup | Day one, alongside the ladder |
| A lapsed viewer reached by campaign | Staff time, and nothing else | Week two, once there is a lapsed cohort |
| A viewer who watches an ad instead of paying | Nothing, and it earns ad revenue | With the store build, under a daily cap |
| A viewer from an organic social follow | One follow bonus, paid once | Once the social accounts exist |
| A viewer bought through paid media | Cash, rising, and unattributable here | Last, and only with external tooling |

      
      
Most operators run this list backwards, starting with paid media because it is the fastest to switch on, and discover the retention loop only after the acquisition budget is gone.

    
  

  
    
      
        Unit Economics
        
## What a Coin Actually Costs You

        
Six things worth modelling before you set a single reward value.

      
      
        **A sold coin costs a gateway fee**A coin bought in a pack costs you the payment processing on that pack and nothing else. This is the cheap coin, and every lever that increases the share of unlocks funded by sold coins improves the margin directly.
        **An issued coin costs inventory**A coin paid out for a check-in, a follow or a referral costs you the episode it eventually opens, which is content you already paid to license or produce. Cheaper than a click, but not free, and the seven ledger codes are what let you see the total.
        **The daily cap sets your worst case**Ad reward tasks under an operator-set daily cap put a ceiling on how many coins a single determined user can extract in a day. Multiply that ceiling by your user count before launch, because that is the number an uncapped economy would reach.
        **Streaks concentrate the payout**A seven day ladder with a streak pays most on the days you most want the visit. Modelled per viewer rather than per day, a ladder that looks generous on day seven is often cheaper overall than a flat daily reward.
        **A referral pays before it earns**The reward credits the referrer on signup, not on first purchase, which is deliberate because a delayed reward does not get shared. It also means the cost lands before the revenue, so the referral amount is a real number to model rather than a marketing rounding error.
        **Campaign reach costs staff time**The campaign desk and in-app inbox need no external service and no per-message fee. Once the audience exists, a scheduled campaign to lapsed viewers is the lowest-cost revenue available and the only lever on this page with effectively no unit cost.
      
      
All six are visible in the coin economy analytics because they are ledger codes rather than derived estimates. That is the difference between modelling and guessing after launch.

    
  

  
    
      
        Priority
        
## Which Lever to Switch On First

        
A launch order that assumes the library is small and the audience is smaller.

      
      
        
| Stage | Turn on | Leave off |
| --- | --- | --- |
| Launch week | Coin packs, per-episode locks, check-in ladder, referral | VIP, rewarded ads, paid media |
| Weeks two to four | Campaign desk to lapsed viewers, social follow bonuses | VIP, until the library has depth |
| Store build live | Rewarded ads under a daily cap, device push via Firebase | Web rewarded ads, which are simulated |
| Library has depth | VIP windows priced against typical monthly coin spend | Nothing, but watch the cannibalization |
| Loop is measured | Paid acquisition, with external attribution tooling | Assuming console counts are attribution |
| Any stage | Tightening the daily cap and the ladder values | Waiting for a release to change them |

      
      
Every entry in the middle column is an operator setting in the console, which is why this sequence is a decision rather than a development schedule.

    
  

  
    
      
        Operators
        
## Three Ways Operators Run This Platform

        
The same build, configured around three different constraints.

      
      
        
          A
          
### The referral-led launcher

          
An operator entering a new market with almost no acquisition budget, using the reward ladder and the referral loop as the growth channel. Growth is slow at first and then compounds, and the whole plan depends on the reward being visibly credited.

          
- Referral reward set high enough to be worth mentioning to a friend
- Five login types, because sign-up friction is the whole funnel
- Daily cap set tight, then loosened once behaviour is known

        
        
          B
          
### The reactivation operator

          
An operator with an existing audience that has gone quiet. The campaign desk and in-app inbox are the main surface, and the reward ladder is what turns a single reopened session into a habit rather than a visit.

          
- Campaigns scheduled against lapsed cohorts, no external service needed
- Check-in ladder tuned so the streak reward lands on day seven
- Firebase configured so campaigns reach the device, not just the inbox

        
        
          C
          
### The multi-market operator

          
An operator running several locales at once, where the same library is monetized differently by market. The coin economics diverge sharply between markets, and the ledger is what keeps them separable.

          
- Five locales with right-to-left layout verified before launch
- Reward values and caps set per deployment rather than globally
- Revenue read per title and per episode, never per channel

        
      
      
The first shape is the one the platform was clearly designed around, which is why the reward and referral surfaces are more developed than the analytics that would measure a paid campaign.

    
  

  
    
      
        Mistakes
        
## Common Growth-Loop Mistakes

      
      
        
### Five that are expensive to undo

        
**An uncapped reward economy.** It is farmed within a week, the coin stops meaning anything, and your paid tender dies alongside the free one. Set the daily cap before launch and tighten it early rather than late.

        
**A referral that pays on a later event.** A reward the referrer cannot see arriving is a reward nobody mentions to a friend. Crediting on signup costs more per referral and returns far more of them.

        
**VIP launched on a thin library.** An unlimited window on a small catalog moves your highest-paying viewers onto your cheapest tender and gives them very little back. Wait for depth.

        
**Treating console counts as attribution.** Signups and revenue by title are operational counts. They cannot tell you which campaign produced a viewer, and planning paid media as though they can is how budgets disappear without a finding.

        
**Modelling ad revenue on the web build.** The web rewarded-ad path is a simulated timed preview. AdMob on the store build is the live path, so ad revenue projections belong against store installs.

      
      
Four of these are configuration decisions you can correct in an afternoon. The attribution one is not, which is why it appears on every page of this bundle.

    
  

  
    
      
        
          Development Company
          
### See the modelled deployment and the stated limitations

          
A modelled reference deployment for a referral-led launch, the six-step build process, and every limitation named in writing - on the Development Company page.

        
        [See the deployment →](/shortmax-clone/development-company/#case-study)
      
    
  

  
    
      
        FAQ
        
## Frequently Asked Questions

      
      
        
          
            How do I decide what the check-in ladder should pay?
            Start from what an episode unlock costs you, not from what feels generous. A reward that funds one unlock on day seven is buying a week of visits for the wholesale cost of one episode, which is almost always cheaper than buying that viewer again. Then watch the ledger codes for a month and move the values, because they are operator settings rather than constants.
          
          
            Does Miracuves take a percentage of revenue?
            No. The licence is one-time at $3,399 and there is no revenue share, no per-seat fee and no per-transaction cut. Your payment gateway, your AdMob account, your Firebase project and your infrastructure are all connected with credentials you hold, so the money never passes through us.
          
          
            Can I run different reward values in different markets?
            Yes. Reward values, the daily cap and the referral amount are operator settings, and the platform supports five locales with right-to-left layout. Because every movement carries a ledger code, the coin economics of each market stay separable in the analytics rather than blending into one number.
          
        
        
          
            What stops users from farming the rewards?
            An operator-set daily cap on the ad reward tasks, plus the fact that the check-in ladder pays on a streak rather than per session. The honest answer is that a cap is a ceiling rather than a defence, so model your worst case as the cap multiplied by your user count and set the number with that in front of you.
          
          
            Can I measure which campaign brought a viewer?
            Not in this build. There is no attribution, deep linking, UTM tracking, cohort analysis or A/B testing, and we would rather say so here than have a paid media plan built on counts that cannot support it. Revenue is attributable per title and per episode; acquisition is not attributable per channel without external tooling.
          
          
            When should VIP go live?
            Once the library is deep enough that an unlimited window is worth more to the viewer than a coin pack is worth to you. On a thin catalog VIP converts your best payers onto your cheapest tender, which reads as growth in subscriptions and a fall in revenue. The plans are priced by validity and validity type, so you can start with short windows and lengthen them as the library grows.
          
        
      
    
  

  
    
    
      
        
## Model it against your own coin economics

Bring what an episode costs you and what you currently pay for a viewer. We will map the ladder, the cap and the referral amount against those numbers rather than hand you a projection we invented.

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

  
    
      
        Explore
        
## Explore the ShortMax Clone

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

  
    
    
      
        
## Retention you pay for in inventory, not cash

        
Coin packs, VIP windows, rewarded ads and per-episode unlocks, fed by a check-in ladder, a referral loop and a campaign desk, all operator-set and all ledgered against seven typed codes on source you own outright.

        [Talk to Us →](https://miracuves.com/schedule-consultation/)
      
      
        
          **Written by the Miracuves Product Team**·
          Reviewed for accuracy·
          Last updated **September 1, 2026**
        
        
          Miracuves · ShortMax Clone Solution
          Revenue lines cross-verified against the hub, 2026-09-01
        
      
    
  

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

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

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