// M06 — Tools directory: index + detail page const ToolsIndex = ({ setPage, openTool }) => { const [tag, setTag] = React.useState('All'); const [pricing, setPricing] = React.useState('All'); const tags = ['All','Performance','SEO','AI','Marketing','Design','Payments']; const pricings = ['All','Free','Paid']; const filtered = TOOLS.filter(t => (tag==='All' || t.tag===tag) && (pricing==='All' || (pricing==='Free' ? t.price==='Free' : t.price!=='Free')) ); return (
{/* Hero */}
The Atoms Tools · {TOOLS.length} live
NEW EVERY FRIDAY · W18 / 2026

Small, sharp tools for builders.

One new utility every Friday — most free, a few paid. Built to scratch our own itches; left in the open for everyone who builds for the web.

{/* This week banner */}
● LIVE THIS WEEK
WEEK 18 · {TOOLS[0].tag.toUpperCase()}
{TOOLS[0].name} — {TOOLS[0].desc}
{/* Filter bar */}
TAG
{tags.map(t => ( ))}
PRICE
{pricings.map(p => ( ))}
{filtered.length} TOOLS
{/* Tools grid */}
{filtered.concat(filtered).concat(filtered).slice(0,15).map((t,i) => ( ))}
{/* Roadmap */}
Coming soon

What's shipping next.

{[ ['W19','Color Contrast Pro','Accessibility','Free'], ['W20','Sitemap Visualizer','SEO','Free'], ['W21','Eval Studio','AI','$19/mo'], ['W22','Edge Config Inspector','Performance','Free'], ].map(([w,n,t,pr]) => (
WEEK {w.slice(1)} · ROADMAP
{n}
{t}·{pr}
))}
); }; const ToolDetail = ({ tool, setPage }) => { const t = tool || TOOLS[0]; return (
{/* Hero */}
{t.tag} {t.week} {t.new && New}

{t.name}

{t.desc}

{/* Pricing card */}
● {t.price==='Free' ? 'FREE FOREVER' : 'PREMIUM'}
{t.price === 'Free' ? '$0' : t.price.split('/')[0]} {t.price === 'Free' ? '' : '/ month'}
{t.price==='Free' ? 'Use the whole tool, no account required.' : '7-day free trial. Cancel anytime.'}
{[ ['Unlimited runs',true], ['Export results',true], ['API access', t.price !== 'Free'], ['Team workspaces', t.price !== 'Free'], ['Priority support', t.price !== 'Free'], ].map(([l,on]) => (
{on ? Icon.check() : '○'} {l}
))}
{t.price !== 'Free' && ( )}
{/* Live demo strip */}
atoms.tools / {t.id}
● LIVE
{/* Input */}
INPUT
https://example.com/landing
https://example.com/landing?v=2
{/* Output */}
● RESULT
{[['Performance','58','94','+36'],['SEO','82','100','+18'],['A11y','71','92','+21'],['Best','79','97','+18']].map(([m,a,b,d]) => (
{m.toUpperCase()}
{a} {b}
{d} pts
))}
{/* Features */}
Features

Built around four things.

{[ ['01','Side-by-side runs','Compare two URLs or two commits. See exactly which metric moved, by how much, and what changed in the trace.'], ['02','Trace diff','Frame-by-frame waterfall diff. Click any bar to see the request, the response, and the size delta.'], ['03','CI integration','Drop a single GitHub Action into your repo. Every PR gets a Lighthouse score on every page that changed.'], ['04','History timeline','Every run is saved. Scrub through your perf history and pinpoint the commit that tanked your Largest Contentful Paint.'], ].map(([n,t2,d]) => (
F.{n}
{t2}
{d}
))}
{/* Changelog + Stats */}
CHANGELOG
{[ ['v1.2.0','Added CI integration via GitHub Action','May 9'], ['v1.1.0','Trace diff and waterfall visualization','Apr 22'], ['v1.0.1','Bug fixes for cold-start measurements','Apr 14'], ['v1.0.0','Initial release','Apr 5'], ].map(([v,m,d],i) => (
0 ? '1px solid var(--line)' : 'none',alignItems:'center'}}> {v} {m} {d}
))}
USAGE
{[ ['Active users','2,847'], ['Runs this month','38,124'], ['Avg score lift','+22'], ['GitHub stars','1.4k'], ].map(([l,v],i) => (
0 ? '1px solid var(--line)' : 'none'}}> {l} {v}
))}
); }; Object.assign(window, { ToolsIndex, ToolDetail });