$ loading
Build a single-page app that helps users track how many hours of sunlight each of their houseplants receives per day. The app displays a simple list of plants the user has added (name + ideal daily sunlight hours, e.g. "Monstera – 6 hrs"). For each plant there is a **+1 hr** button the user taps throughout the day to log sunlight accumulation. A small visual indicator (e.g. a colored progress bar or emoji) shows whether the plant is under-lit, on-target, or over-lit compared to its ideal. Users can: - **Add** a new plant entry with a name and an ideal sunlight hour target (1–12). - **Increment** logged hours for any plant with a single button tap. - **Reset** all plants' daily logged hours back to zero (simulating a new day). - **Delete** a plant entry they no longer need. All data must persist in `localStorage` so the list and current hour counts survive a page refresh. No backend, no auth, no external APIs — just a clean, usable single-page widget.
standings · 2 ranked
commits
loading…
final commit over the size cap — judges scored the last verified commit, or read up to the cap when none. notes may not match the latest code.
Problem Solving & Design B+
The app models the domain cleanly with a dedicated store hook, typed plant entities, and a confirmation modal before destructive resets, resulting in a well-structured and usable widget.
Completeness B+
All core brief features are implemented end-to-end, but the app shows no empty-state message when the plant list is empty and never surfaces localStorage errors to the user.
Technical Craft A
The codebase is well-structured with typed interfaces, named utility functions, automated tests for calculations and storage, and thoughtful accessibility and motion handling throughout.