/* global React, Icons, PlugBot, Badge, Btn, Pill, Meter, Score, Stat, Eyebrow, SignalStrip */ const { useState } = React; /* ========================================================================= HOMEPAGE ========================================================================= */ const PathPicker = ({ onPick }) => { const paths = [ { id: 'home', label: 'Home setup', sub: 'Desktop OBS · capture · multi-monitor', icon: }, { id: 'phone', label: 'Phone', sub: 'Tethered, single device', icon: }, { id: 'backpack', label: 'Backpack', sub: 'Bonded LTE, full IRL', icon: }, { id: 'hybrid', label: 'Hybrid', sub: 'Desktop relay + bonded mobile', icon: }, { id: 'car', label: 'Car', sub: 'IRL on the move', icon: }, { id: 'event', label: 'Event', sub: 'Convention / venue', icon: }, { id: 'travel', label: 'Travel', sub: 'Hotels, airports, abroad', icon: }, ]; const [active, setActive] = useState('home'); const a = paths.find(p => p.id === active); // Recommendation copy varies by environment. Desktop / hybrid get different // tier suggestions than the mobile-first paths. const REC = { home: { tier: 'Home Creator', plat: 'Twitch + YouTube', budget: '$1,200 – $4,000', data: 'Residential gigabit' }, phone: { tier: 'Mobile Creator', plat: 'TikTok + Twitch', budget: '$400 – $1,500', data: 'Single carrier' }, backpack: { tier: 'Pro Backpack', plat: 'Twitch + TikTok', budget: '$840 – $1,800', data: 'Multi-carrier' }, hybrid: { tier: 'Hybrid Relay', plat: 'Twitch + TikTok', budget: '$2,000 – $5,000', data: 'Home + bonded mobile' }, car: { tier: 'Mobile Creator', plat: 'Twitch + Kick', budget: '$1,200 – $3,000', data: 'Multi-carrier' }, event: { tier: 'Event Broadcast',plat: 'Twitch + YouTube', budget: '$3,000 – $6,000', data: 'Bonded + venue' }, travel: { tier: 'Travel IRL', plat: 'Twitch + TikTok', budget: '$2,000 – $4,500', data: 'eSIM + local' }, }; const r = REC[active] || REC.backpack; return (
Start Here · Path Selector

Where will you stream from?

Beginner-safe
{paths.map(p => ( ))}
Recommended path · {a.label}
↵ generate
}> Open this build {/* Save as preset requires accounts — Phase 5. Hidden until then. */}
); }; const PathStat = ({ label, value }) => (
{label}
{value}
); const HeroDiagram = () => (
{/* corner ticks */} {['tl','tr','bl','br'].map(c => ( ))}
Backpack Build · BP-04
UPLINK · 12.8 Mbps · 4 carriers bonded
{/* The diagram */}
{/* central streamer */} {/* gear nodes */} {/* Connection lines (SVG) */} {[[50,50,18,22],[50,50,82,22],[50,50,12,73],[50,50,88,73]].map(([x1,y1,x2,y2], i) => ( ))} {/* accent line (router → streamer) animated */} {/* uplink meters in lower right */}
CARRIER LANES
12.8 ↑
{[['VZW','LTE',92,'good'],['T-MO','5G',78,'good'],['ATT','LTE',55,'warn'],['VZW-B','LTE',28,'bad']].map(([n, b, v, t], i) => (
{n} {b}
{v}%
))}
); const DiagramNode = ({ x, y, label, sub, big = false, tone, pulse }) => (
{pulse && }
{label}
{sub}
); const CategoryCard = ({ icon, label, sub, count, badge, onClick, accent }) => ( ); const FeatureRow = ({ items }) => (
{items.map((it, i) => (
{it.icon}
{it.title}
{it.sub}
))}
); const HomePage = ({ onNav }) => { return (
{/* HERO ============================================================= */}
The field guide & gear lab · 2026 edition

Streaming,
tested in the real world.

Home studios and backpack rigs. Bonded uplinks and home gigabit. Platform monetization, creator safety, and the gear logs to back every recommendation — for streamers everywhere.

onNav('build')} iconRight={}> Configure my build onNav('bonding')}> Compare bonding hardware
{/* PATH PICKER ====================================================== */}
01 · Start Here

Skip the
overwhelm.
Pick your environment.

A single answer about where you'll stream from generates the right build tier, platform mix, budget range, and data-plan strategy. No fluff, no funnel.

Beginner-safe Quarterly verified
onNav('build')} />
{/* CATEGORY GRID ==================================================== */}
02 · Field guides

Ten sections.
One brain trust.

document.querySelector('.footer')?.scrollIntoView({ behavior: 'smooth' })}> See the full site map
} label="IRL Builds" sub="From phone-only to pro backpack. Live BOM, wiring, runtime." count="6 build tiers · BOM downloads" badge={Live} accent onClick={() => onNav('build')} /> } label="Gear Lab" sub="Cameras, mics, routers, bonders. Scored on IRL suitability." count="184 reviewed · 12 categories" badge={Updated} onClick={() => onNav('gear')} /> } label="Data & Connectivity" sub="Best plans, deprioritization, multi-SIM, eSIM, travel." count="34 carriers · 78 plans" badge={Q2 · 26} onClick={() => onNav('data')} /> } label="Cell Bonding" sub="LiveU vs Peplink vs Speedify. Hardware vs software." count="9 systems · 2,100 test runs" badge={Pro} onClick={() => onNav('bonding')} /> } label="Platform Strategy" sub="Twitch, YouTube, TikTok, Kick. Monetization, vertical, clips." count="6 platforms · live database" onClick={() => onNav('platforms')} /> } label="IRL Safety & Legal" sub="Filming rights, harassment, theft, travel risk, insurance." count="9 long-form guides · monthly" badge={Independent} onClick={() => onNav('safety')} /> } label="Streamer Profiles" sub="Real stacks, real economics. Steal-the-setup cards." count="22 profiles · 4 in lab" onClick={() => onNav('streamer')} /> } label="Creator Toolkit" sub="Calculators, checklists, AI prompt packs — affiliate-free." count="9 tools · live" badge={Independent} onClick={() => onNav('toolkit')} /> } label="Deals & Buyer Guides" sub="Best-of buying guides. Disclosed affiliates, ranked by use case." count="32 guides · weekly deals" badge={Live deals} onClick={() => onNav('deals')} />
{/* FLAGSHIP BUILD PREVIEW ============================================ */}
Flagship · Live tool

The Build Configurator.

Sliders, filters, live BOM. Tell us your budget, environment and platform mix — we return a tested gear stack with wiring, runtime, and data strategy.

onNav('build')} iconRight={}> Open configurator
, title: 'Live bill of materials', sub: 'Add, swap, remove. Total updates as you tweak.' }, { icon: , title: 'Runtime estimator', sub: 'Real draw figures from our lab logs, not specs.' }, { icon: , title: 'Data strategy', sub: 'Carrier mix, hotspot fallback, deprioritization model.' }, { icon: , title: 'Exportable build sheet', sub: 'PDF + Notion. Hand to a tech or to yourself.' }, ]} />
{/* MARQUEE: "as used by" =========================================== */}
As tested in the wild · selected profiles onNav('streamer')}>BROWSE PROFILES ↗
{['StreamerHouse · LA', 'Roady · Pro IRL · 4.2K avg', 'NeonRunner · Tokyo', 'Desk Studio · ATX · twin-PC', 'Convention-Cam · 3 carriers', 'Glassblower IRL · welding rig', 'GamerHouse Lab · home rig', 'CitySolo · Berlin handheld', 'NorthernLights · Reykjavík home OBS', 'Cold Brewer · sim-racing IRL'].concat( ['StreamerHouse · LA', 'Roady · Pro IRL · 4.2K avg', 'NeonRunner · Tokyo', 'Desk Studio · ATX · twin-PC', 'Convention-Cam · 3 carriers', 'Glassblower IRL · welding rig', 'GamerHouse Lab · home rig', 'CitySolo · Berlin handheld', 'NorthernLights · Reykjavík home OBS', 'Cold Brewer · sim-racing IRL'] ).map((n, i) => ( {n} ))}
{/* NEWSLETTER ====================================================== */}
The weekly field log

Friday signal report.

Carrier shifts, new gear in the lab, platform changes, and one streamer profile a week. No course funnels, no AI slop.

Subscribe
4,210 streamers Free, ad-free One-click unsub
); }; window.HomePage = HomePage;