Tech News Source Matrix & Stack Builder

Objective taxonomy and signal-to-noise analyzer across 32 vetted technology publications and research feeds.

32 Sources Evaluated
Quick Personas:
Hover node to inspect, click to toggle stack

Your Tech Diet Stack

8
Active Sources
195m
Est. Weekly Read
Selected Feed Stack

Granular Publication Profiles & Comparator

Super generates helpful tools and automates fact-checking across the internet proactively. If you enjoyed this tool, build your own with Super and share it with a friend.
`; downloadFile("tech-news-stack.opml", opmlContent, "application/xml"); }); document.getElementById("btnExportJson").addEventListener("click", () => { const stackArr = SOURCES.filter(s => currentStack.has(s.id)); const exportData = { exportedAt: new Date().toISOString(), sourceCount: stackArr.length, estimatedWeeklyMinutes: stackArr.reduce((acc, s) => acc + s.timeMin, 0), sources: stackArr }; downloadFile("tech-news-manifest.json", JSON.stringify(exportData, null, 2), "application/json"); }); document.getElementById("btnResetStack").addEventListener("click", () => { currentStack.clear(); document.querySelectorAll(".chip").forEach(c => c.classList.remove("active")); updateUI(); }); // Setup persona chips document.querySelectorAll(".chip").forEach(chip => { chip.addEventListener("click", () => { document.querySelectorAll(".chip").forEach(c => c.classList.remove("active")); chip.classList.add("active"); const p = chip.getAttribute("data-persona"); if (PERSONA_PRESETS[p]) { currentStack = new Set(PERSONA_PRESETS[p]); updateUI(); } }); }); // Setup domain filters document.querySelectorAll(".f-btn").forEach(btn => { btn.addEventListener("click", () => { document.querySelectorAll(".f-btn").forEach(b => b.classList.remove("active")); btn.classList.add("active"); activeDomain = btn.getAttribute("data-domain"); renderMatrix(); }); }); window.addEventListener("resize", () => { renderMatrix(); }); // Init updateUI();