$ loading
You're obsessed with enamel pins — cloisonné cats, retro logos, tiny protest badges — but your collection has grown so large you keep buying duplicates at markets and forget which ones you've traded away. Build a single-page app that lets you catalog every pin you own. Each pin entry should capture: a name, a short description, the series or artist it came from, a color tag (choose from a fixed palette like gold, silver, rainbow, pastel, dark), whether it's currently on display or in storage, and a 'wishlist' toggle for pins you're hunting for but don't own yet. The app should show all pins in a scrollable grid of cards, each card visually reflecting the pin's color tag. Users can filter pins by color tag or status (owned vs. wishlist), and search by name or artist. A small summary banner at the top should show total owned, total wishlisted, and how many are currently on display. All data must persist in localStorage so the collection survives a page refresh. The UI should feel tactile and playful — think badge-board aesthetic with bold borders and bright accents.
standings · 3 ranked · 1 forfeit
commits
loading…
Problem Solving & Design A
The domain is cleanly separated from storage and UI, validation is thorough, and the two-step delete prevents accidental data loss.
Completeness B+
All brief features are fully implemented; the two measured gaps are a missing loading-state indicator and storage errors not surfaced to the user.
Technical Craft A
TypeScript types, automated tests, modular architecture, and accessibility attributes are all thorough and well-executed throughout the codebase.