/* global React, Icons, Badge, Btn, Pill, Meter, Score, Stat, Eyebrow, LastVerified */ const { useState } = React; /* ========================================================================= CREATOR TOOLKIT — calculators, checklists, AI prompt packs. Featured interactive: data-usage calculator. The rest tile out as a grid of tools, each opening its own dedicated calculator in a later phase. Keeps the brief's commitment without front-loading every tool. ========================================================================= */ const TOOLS = [ { id: 'data', icon: Icons.wifi, t: 'Data usage calculator', s: 'Bitrate × hours × stream days → GB needed, plan match.', tag: 'Live demo', featured: true }, { id: 'battery', icon: Icons.battery, t: 'Battery runtime estimator', s: 'Total draw vs. capacity → realistic runtime, swap timing.', tag: 'Calculator' }, { id: 'bitrate', icon: Icons.zap, t: 'Upload bitrate calculator', s: 'Resolution + framerate → recommended encode + headroom.', tag: 'Calculator' }, { id: 'elig', icon: Icons.check, t: 'Platform eligibility tracker', s: 'Follower + watch-hour math for Twitch Affiliate, YT Live, TikTok, Kick.', tag: 'Tracker' }, { id: 'check', icon: Icons.tool, t: 'Stream checklist generator', s: 'Output the pre-flight, in-flight, and recovery checklist for your build.', tag: 'Generator' }, { id: 'compare', icon: Icons.filter, t: 'Gear comparison tables', s: 'Throw any two pieces of gear side-by-side, same six axes.', tag: 'Tool' }, { id: 'vert', icon: Icons.play, t: 'OBS vertical layout checklist', s: 'For Twitch dual-format and TikTok/Reels/Shorts simultaneously.', tag: 'Checklist' }, { id: 'prompts', icon: Icons.book, t: 'AI prompt packs', s: 'Titles, clips, sponsorship outreach, stream planning — pre-tested prompts.', tag: 'Pack' }, { id: 'sched', icon: Icons.clock, t: 'Stream-plan generator', s: 'Cadence + content-bucket scaffold for a new IRL channel.', tag: 'Generator' }, ]; const RES_OPTIONS = [ { id: '720', label: '720p · 30', mbps: 3.5 }, { id: '1080', label: '1080p · 30', mbps: 5.5 }, { id: '1080p60', label: '1080p · 60', mbps: 7.5 }, { id: '1440', label: '1440p · 60', mbps: 10.5 }, ]; const ToolkitPage = ({ onNav }) => { const [res, setRes] = useState('1080'); const [hours, setHours] = useState(3); const [days, setDays] = useState(20); const [copied, setCopied] = useState(false); const r = RES_OPTIONS.find(o => o.id === res); const perStream = (r.mbps * 0.45 * hours); // GB per stream const perMonth = perStream * days; // GB per month const promptText = `You are titling a Twitch IRL VOD clip for maximum clip-discovery surface on TikTok and YouTube Shorts simultaneously. The clip is {clip-summary}. Constraints: - 60 characters max - One concrete noun in the first three words - No emoji, no "POV:", no all-caps clickbait - Avoid words flagged by TikTok community guidelines: {list} - Match the platform tone (TikTok: punchy verb / YT Shorts: question or stat) Return 5 candidates, ranked by predicted click-through, with a one-line rationale per option grounded in {clip-summary}.`; const copyPrompt = async () => { try { await navigator.clipboard.writeText(promptText); setCopied(true); setTimeout(() => setCopied(false), 2000); } catch {/* clipboard unavailable; user can select-and-copy from the pre */} }; return (
{/* HEADER ========================================================== */}
Phase 3 · Creator Toolkit · 9 tools

The Toolkit.

Calculators and checklists for every decision that should be math, not vibes. Open-source where possible. Affiliate-free by design.

Non-affiliated Live
{/* FEATURED CALCULATOR ============================================== */}
01 · Featured

Data usage calculator.

How much data does your stream actually need per month? Move the controls; we match a plan from the data hub.

Open all calculators
{/* controls */}
Inputs
Resolution / fps {r.label} · {r.mbps} Mbps
{RES_OPTIONS.map(o => ( setRes(o.id)}>{o.label} ))}
Hours per stream {hours} h
setHours(parseFloat(e.target.value))} />
Streams per month {days}
setDays(parseFloat(e.target.value))} />
{/* output */}
Output
Per stream
{perStream.toFixed(1)} GB
Per month
{perMonth.toFixed(0)} GB
Recommended plan tier
{perMonth >= 250 ? 'Calyx Sprout (unlimited, no deprio)' : perMonth >= 100 ? 'T-Mobile Business 5G Unlimited Advanced' : 'US Mobile Premium (Warp)'}
Headroom included. Open Data hub for live plan comparison.
onNav?.('data')} iconRight={}>Open Data hub
{/* TOOL GRID ======================================================= */}
02 · All tools

Nine tools.
None of them in your way.

{TOOLS.map(t => { // Featured tool (data calc) is the live demo above — clicking // scrolls back to it. Everything else is Phase 3/4. const isFeatured = t.featured; const onClick = isFeatured ? () => document.querySelector('.section')?.scrollIntoView({ behavior: 'smooth' }) : undefined; const Tag = isFeatured ? 'button' : 'div'; return (
{isFeatured ? Live demo above : Soon}
{t.t}

{t.s}

{isFeatured ? 'TRY ABOVE' : 'PHASE 3/4'} {isFeatured && }
); })}
{/* PROMPT PACK PEEK ================================================ */}
03 · AI prompt pack · sneak peek

Pre-tested prompts.
Built for IRL workflows.

Title generation, clip selection, sponsorship outreach, stream-plan scaffolding — each prompt is run against the major models and hand-validated. No "act as a..." slop.

EXAMPLE · TITLE GENERATION VALIDATED · MAY 2026 · CLAUDE 4.7 · GPT-5 · GEMINI 3
{`You are titling a Twitch IRL VOD clip for maximum clip-discovery surface on
TikTok and YouTube Shorts simultaneously. The clip is {clip-summary}.

Constraints:
- 60 characters max
- One concrete noun in the first three words
- No emoji, no "POV:", no all-caps clickbait
- Avoid words flagged by TikTok community guidelines: {list}
- Match the platform tone (TikTok: punchy verb / YT Shorts: question or stat)

Return 5 candidates, ranked by predicted click-through, with a one-line
rationale per option grounded in {clip-summary}.`}
            
{copied ? 'Copied to clipboard' : 'Copy prompt'} Get the full pack (32 prompts)
); }; window.ToolkitPage = ToolkitPage;