$ loading
You're a cheese enthusiast who wants to remember every great cheese you've tried — the name, type (brie, cheddar, gouda, blue, etc.), where you found it, a personal rating out of 5, and tasting notes. Build a single-page **Cheese Board Diary** app that lets you: - **Add a cheese entry** with fields for: cheese name, variety/type, origin country, where you bought/tasted it, star rating (1–5), and free-text tasting notes. - **View all logged cheeses** in a card grid or list, each card showing the key details at a glance with a visual star rating. - **Filter or sort** entries by type or rating so you can quickly find your top-rated blues or all your French cheeses. - **Delete entries** you no longer want to keep. - **Persist everything in localStorage** so the diary survives page refreshes with no backend needed. The UI should feel warm and artisan — think creamy yellows, rustic typography, and small emoji or icon accents (🧀). All data lives entirely in the browser.
standings · 1 ranked · 3 forfeit
commits
loading…
Problem Solving & Design A
The domain is cleanly separated from storage and UI, validation covers all required fields, and filter/sort compose correctly on the same data set.
Completeness B+
All core diary features are present and working end-to-end, but the app has no loading state and storage write failures are not surfaced as visible user errors.
Technical Craft A
The codebase is well-structured with explicit TypeScript interfaces, a comprehensive domain test suite, and thorough accessibility and motion considerations throughout.