StealThis .dev

DIY — Difficulty Meter

An iFixit-style repairability meter set with a workshop blueprint aesthetic. The main card features a 1-10 SVG arc dial that animates on load, a color-coded verdict pill, and five criterion rows (opening ease, fasteners, modularity, parts, docs) rendered as staggered segmented bars. Three device presets — easy phone, average laptop, glued tablet — swap all data with smooth transitions, plus inline pill badges and a five-wrench mini rating for embedding in cards.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Difficulty Meter

A repairability scoring UI in the spirit of teardown sites, dressed in the DIY blueprint style. The hero card sits on a navy grid background and pairs a big semicircular SVG dial — its arc drawn with stroke-dasharray and animated via requestAnimationFrame with an ease-out curve — with a counting score readout and a verdict pill that shifts between green (Repairable), amber (Fixable), and red (Hostile) tiers.

Next to the dial, five criterion rows break the score down: each one is a five-block segmented bar that fills with a cascading stagger, tinted by tier, alongside a mono n/5 score. Three preset buttons (Easy phone, Average laptop, Glued tablet) swap the entire dataset — dial, verdict, criteria, estimated time, and required tools — with fade transitions and a toast confirmation. Everything respects prefers-reduced-motion.

Below the main card, an appendix shows two embeddable variants: difficulty pill badges (Easy / Moderate / Hard) demonstrated inside a parts list with mono part numbers, and a compact five-wrench icon rating built from inline SVG, sized for dense card layouts.

Illustrative UI only — always follow real safety guidance when working with tools, electronics, or repairs.