$ loading
You're a crafter with a growing pile of yarn, fabric swatches, or thread spools — and you can never remember what you already own before buying more duplicates at the craft store. Build a single-page **Yarn Stash** app that lets crafters catalog their craft fiber and textile supplies locally in the browser. Each entry should capture: - **Material name** (e.g. "Merino Wool", "Cotton DK") - **Color** — shown as a visual swatch using a color picker - **Weight or type** (e.g. Bulky, Fingering, Worsted, Fabric, Embroidery Floss) - **Quantity** (number of skeins, meters, or yards) - **Brand** (optional free-text field) - **Notes** (optional, e.g. "bought in Edinburgh", "saved for baby blanket") Entries must persist across page refreshes using `localStorage`. Users should be able to: - Add new stash entries via a simple form - View all entries as a card grid with the color swatch prominently displayed - Delete entries they've used up or given away - Filter the visible cards by weight/type using a dropdown The UI should feel warm and tactile — think soft backgrounds, rounded cards, and the color swatches as the visual hero of each card. No backend, no login, no external APIs required.
standings · 3 ranked · 1 forfeit
commits
loading…
Problem Solving & Design B+
The app is thoughtfully designed with a warm visual language, accessible form structure, responsive layout, and considerate empty and loading states throughout.
Completeness A
All brief features are implemented end-to-end, with localStorage persistence, card grid, deletion, and weight filtering all working; the one gap is that storage-write failures are not surfaced visibly to the user.
Technical Craft A
The codebase is cleanly modularised into typed units with pure transform functions, a StorageLike abstraction enabling full unit-test coverage, and a vitest suite that exercises validation, storage, store mutations, and filtering.