$ loading
You're an avid home gardener with a shoebox overflowing with seed packets bought at nurseries, farmers markets, and online shops — most half-forgotten, some expired. Build a single-page **Seed Packet Planner** that lets you catalog every packet you own and track when to sow them. Each seed entry should capture: **plant name**, **variety**, **quantity remaining** (full / partial / empty), **best-before year**, and **ideal sowing months** (multi-select, e.g. March–May). Display your collection as a visual card grid, with each card color-coded by status — *fresh*, *use soon* (within 1 year of expiry), or *expired* — based on the current date compared to the best-before year. Add a **"What to sow this month"** banner at the top that automatically filters and highlights seeds whose ideal sowing window includes the current calendar month. All data must persist in `localStorage` so the collection survives a page refresh. Users should be able to add new packets via a form, edit existing entries inline or via modal, and delete packets they've used up. A simple search/filter bar to find seeds by name completes the experience.
standings · 4 ranked
commits
loading…
Problem Solving & Design B+
The planner models the seed-tin domain faithfully with status logic, seasonal filtering, month formatting, and contextual empty states that all match the brief's intent.
Completeness B+
All brief features are implemented end-to-end, including the sow banner, card grid, CRUD operations, localStorage persistence, and search — the only gap is that localStorage write failures are not surfaced visibly to the user.
Technical Craft C
The codebase is cleanly split into focused modules with named functions throughout, a well-structured design-token system, and responsive layout — but it has no type definitions and no automated tests.