feat: add sales-first Rank landing

This commit is contained in:
OpenClaw Bot
2026-05-23 22:03:59 +02:00
parent c0f97eac5f
commit 934a29b8d2
4 changed files with 124 additions and 17 deletions
+61 -14
View File
@@ -4,9 +4,9 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#061B33" />
<title>Prioritix — Feature Prioritization</title>
<title>Rank — Work your ideas before they work you</title>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="stylesheet" href="/styles.css?v=prioritix-20260522-5" />
<link rel="stylesheet" href="/styles.css?v=rank-sales-20260523-1" />
</head>
<body>
<div class="app-shell">
@@ -22,11 +22,58 @@
</aside>
<main class="workspace">
<section class="sales-hero" aria-label="Rank product promise">
<div class="hero-copy">
<span class="eyebrow">For scattered founders, product teams, and backlog-heavy brains</span>
<h1>Your backlog is not a roadmap.</h1>
<p class="hero-lede">Rank is a nice-looking tool that understands your chaos. Paste messy ideas and work them into a clear build order before they start working you.</p>
<div class="hero-actions">
<a class="primary-cta" href="#feature-sets">Paste my messy backlog</a>
<button class="secondary-cta" type="button" id="sampleBacklog">Try sample backlog</button>
</div>
<div class="trust-row" aria-label="What Rank gives you">
<span>Build now</span>
<span>Validate next</span>
<span>Park safely</span>
<span>Explain why</span>
</div>
</div>
<div class="proof-card" aria-label="Before and after example">
<div class="proof-column messy">
<span>Before</span>
<h2>Messy idea pile</h2>
<ul>
<li>AI onboarding coach</li>
<li>Team voting</li>
<li>Dark mode</li>
<li>Stripe export</li>
<li>Better mobile sorting</li>
</ul>
</div>
<div class="proof-arrow" aria-hidden="true"></div>
<div class="proof-column clear">
<span>After</span>
<h2>Defendable build order</h2>
<ol>
<li><b>Build now</b><small>Mobile sorting removes the biggest usage friction.</small></li>
<li><b>Validate next</b><small>Team voting needs proof before it becomes process theatre.</small></li>
<li><b>Park</b><small>Dark mode is nice, not the reason anyone buys.</small></li>
</ol>
</div>
</div>
</section>
<section class="approach-strip" aria-label="How Rank approaches you">
<article><strong>No dashboard first.</strong><span>Proof before controls. You see the transformation before learning the system.</span></article>
<article><strong>No fake AI mysticism.</strong><span>Every decision needs a plain reason, risk, and next evidence.</span></article>
<article><strong>No surprise gate.</strong><span>Work the ideas first; export, save, and deeper workflows come after value is obvious.</span></article>
</section>
<header class="topbar" id="home">
<button class="menu-button" type="button" aria-label="Menu"></button>
<div class="project-title">
<h1>Rank Prioritization Studio</h1>
<p><strong>Project goal:</strong> capture, sort, and turn rough feature ideas into a visible roadmap.</p>
<h1>Rank idea workbench</h1>
<p><strong>Project goal:</strong> turn rough feature ideas into a clear, defendable build order.</p>
</div>
<div class="profile-card">
<span>Sorting profile</span>
@@ -47,25 +94,25 @@
<div class="mobile-statusbar"><span>9:41</span><span>Rank</span></div>
<div class="mobile-project-card">
<span class="eyebrow">Project overview</span>
<h2>Rank Roadmap</h2>
<p>Create a clear feature timeline from rough ideas, imports, and agent suggestions.</p>
<h2>Work your ideas</h2>
<p>Paste the chaos. Sort what to build now, validate next, and park without guilt.</p>
<div id="mobileHomeProgress" class="mobile-home-progress"></div>
</div>
<div class="mobile-flow-cards">
<a href="#prioritize"><span></span><strong>Active Feature Sorting</strong><small>Prioritize using the selected profile.</small></a>
<a href="#roadmap"><span></span><strong>Timeline Roadmap</strong><small>Review and reorder the product timeline.</small></a>
<a href="#feature-sets"><span></span><strong>Import Feature Set</strong><small>Paste or upload a feature backlog.</small></a>
<a href="#feature-sets"><span></span><strong>Paste messy backlog</strong><small>Drop in rough ideas and turn them into order.</small></a>
<a href="#review"><span></span><strong>Completion Review</strong><small>Check sorted progress and export.</small></a>
</div>
</section>
<section class="capture-strip" aria-label="Quick capture">
<form id="ideaForm" autocomplete="off">
<label class="capture-title">New feature
<input id="title" name="title" maxlength="180" placeholder="Smart requirement sorting, mobile dark mode, dependency warnings…" required />
<label class="capture-title">One messy idea
<input id="title" name="title" maxlength="180" placeholder="Mobile sorting feels clumsy, team voting, Stripe export…" required />
</label>
<label>Brief
<input id="description" name="description" maxlength="500" placeholder="One sentence. Keep sorting focused." />
<input id="description" name="description" maxlength="500" placeholder="Why does this matter, and what would it change?" />
</label>
<label>Category
<input id="labels" name="labels" placeholder="UI / UX" />
@@ -81,9 +128,9 @@
<section class="feature-set-panel" id="feature-sets" aria-label="Feature set import and export">
<div class="feature-set-copy">
<div class="section-label">Feature set import / export</div>
<h2>Upload or paste a whole feature set.</h2>
<p>Use <strong>Prioritix Feature Set v1</strong>: JSON with a top-level <code>features</code> array. Required: <code>title</code>. Optional: <code>description</code>, <code>labels</code>, <code>impact</code>, <code>effort</code>, <code>confidence</code>, <code>urgency</code>, <code>status</code>, <code>milestoneId</code>, <code>rank</code>, <code>notes</code>. Export uses the same format, including the sorted setup.</p>
<div class="section-label">Paste the chaos</div>
<h2>Drop in the rough list. Rank turns it into a build order.</h2>
<p>Start with a messy backlog, stakeholder requests, or five half-formed ideas. Rank helps you decide what to build now, what needs evidence, what can wait, and what is just noise wearing a nice hat. JSON import still works if you need it.</p>
</div>
<div class="feature-set-actions">
<textarea id="featureSetInput" spellcheck="false" placeholder='{
@@ -172,6 +219,6 @@
</aside>
<div class="toast" id="toast" hidden></div>
<script src="/app.js?v=prioritix-20260522-5" type="module"></script>
<script src="/app.js?v=rank-sales-20260523-1" type="module"></script>
</body>
</html>