/* global React, Icons, Badge, Btn, Pill, Meter, Score, Stat, Eyebrow */ const { useState, useMemo } = React; /* ========================================================================= DATA & CONNECTIVITY HUB — plan finder ========================================================================= */ // Plan database. Verified May 12 2026. Calyx Sprout is the sleeper — // 501(c)(3) membership tier on T-Mo backbone, no deprioritization, $500/yr // ≈ $42/mo. Nearly nobody publishes a clean guide to it; we lead with it. const PLANS = [ { id: 1, carrier: 'Calyx', name: 'Sprout (membership · $500/yr)', price: 42, deprio: 9999, hotspot: 9999, type: 'Membership', up: '10-30', score: 9.4, notes: 'Best-kept secret. T-Mo SIM, no deprioritization. 501(c)(3) membership.', highlight: true }, { id: 2, carrier: 'T-Mobile',name: 'Business 5G Unlimited Adv.', price: 70, deprio: 100, hotspot: 50, type: 'Post', up: '20-100', score: 9.2, notes: 'Best uplink in mid-density US markets.' }, { id: 3, carrier: 'Verizon', name: 'Business 5G Unlimited Plus', price: 70, deprio: 100, hotspot: 100, type: 'Post', up: '15-50', score: 9.0, notes: 'Strong urban uplink, weak rural.' }, { id: 4, carrier: 'US Mobile',name: 'Unlimited Premium (Warp)', price: 50, deprio: 100, hotspot: 50, type: 'MVNO', up: '10-40', score: 8.4, notes: 'Best dollar-per-Mbps in the postpaid tier.' }, { id: 5, carrier: 'AT&T', name: 'Business Unl. Premium', price: 85, deprio: 60, hotspot: 60, type: 'Post', up: '10-25', score: 7.8, notes: 'Inconsistent uplink; useful as third carrier only.' }, { id: 6, carrier: 'Google Fi',name: 'Unlimited Plus', price: 65, deprio: 50, hotspot: 50, type: 'MVNO', up: '8-20', score: 7.6, notes: 'Solid travel default — eSIM-clean across most countries.' }, { id: 7, carrier: 'Visible', name: 'Plus (by Verizon)', price: 45, deprio: 50, hotspot: 0, type: 'MVNO', up: '5-15', score: 7.4, notes: 'Cheap soft-priority; no native hotspot allotment.' }, ]; const DataPage = ({ onNav }) => { const [usage, setUsage] = useState(120); // GB/mo const [travel, setTravel] = useState(false); const [budget, setBudget] = useState(200); const sorted = PLANS .filter(p => p.price <= budget) .filter(p => p.deprio >= Math.min(usage / 2, 100)) .sort((a, b) => b.score - a.score); return (
Real uplink speeds, real deprioritization thresholds. No marketing-page numbers. We re-test every plan quarterly and timestamp the page.
We rank the ~78 tracked plans by your actual usage envelope.
{sorted[0]?.notes || '—'}
{g.s}