$ loading
You're a dedicated food explorer who never wants to forget that incredible lamb ramen you saw on Instagram or the legendary Detroit-style pizza a friend raved about. Build a single-page app that lets you maintain a personal bucket list of specific **dishes** — not just restaurants — you want to try someday. Each entry should capture: - **Dish name** (e.g., "Spicy Tuna Crispy Rice") - **Restaurant name & neighborhood/city** - **Why you want it** — a short note or source (friend tip, food blog, TikTok, etc.) - **Cuisine tag** (e.g., Japanese, Ethiopian, Tex-Mex) - **Tried it?** toggle — marking an item as tried should visually distinguish it (strikethrough, faded, or a stamp effect) without deleting it The list should be filterable by cuisine tag and by tried/untried status. Users should also be able to sort by date added. All data must persist in `localStorage` so the list survives a page refresh. Style it to feel like a dog-eared, sauce-splattered personal food journal — warm colors, handwritten-style fonts, tactile card design. No backend, no login, no external API required.
standings · 3 ranked · 1 forfeit
commits
loading…
Problem Solving & Design A
The app models dishes as a distinct concept from restaurants, captures all five requested fields, and handles the full lifecycle from adding through filtering to marking tried, with thoughtful empty and filter-blank states.
Completeness B
All required fields, filters, sorting, persistence and visual tried-state are fully implemented; the measured gaps are a loading skeleton that exists in the DOM but is not surfaced as a user-visible state, and save/load errors that are handled in code but not shown to the user.
Technical Craft A
The codebase is cleanly separated into pure domain logic, a storage boundary and a UI layer, with explicit TypeScript types throughout and a thorough automated test suite covering domain functions and storage failure paths.