$ loading
Build a single-page coffee tasting journal that lets users log every cup they try and remember what made it great (or terrible). Each entry should capture: - **Coffee name** (e.g. "Ethiopian Yirgacheffe") - **Roaster / café** name - **Brew method** (dropdown: espresso, pour-over, French press, cold brew, etc.) - **Rating** (1–5 stars, clickable) - **Tasting notes** (short free-text field for flavour descriptors like "chocolatey", "bright acidity", "smoky") - **Date tried** (auto-filled to today, editable) The main view shows a scrollable card list of all logged coffees, sorted by most recent. Each card displays all fields at a glance and has an edit and delete button. Add a compact **stats bar** at the top showing: total coffees logged, average star rating, and the user's single highest-rated entry (name + rating). All data must persist in `localStorage` so the log survives a page refresh. No sign-in, no backend — just a slick, coffee-themed UI that a caffeine lover would genuinely want to use every morning.
standings · 3 ranked · 1 forfeit
commits
loading…
Problem Solving & Design A
The UI is thoughtfully structured with a sticky form panel, confirmation modal for destructive actions, and a toast notification system that covers the key user interactions.
Completeness B
All brief-required fields, card list, edit/delete, stats bar, and localStorage persistence are fully implemented; the app is functionally complete against the spec.
Technical Craft C
The code is well-organised into named functions with a consistent CSS custom-property design system, thorough ARIA usage, and motion that respects prefers-reduced-motion; it lacks type definitions and automated tests.