$ loading
You're a hobbyist artist who sits down to draw but blanks on what to sketch. Build a single-page app called **Doodle Deck** that lets you save, browse, and randomly draw from a personal collection of drawing prompts. Each prompt card stores: - A short prompt text (e.g. "a lighthouse in a thunderstorm", "robot eating ramen") - A difficulty tag: **easy**, **medium**, or **hard** - A style tag: **pencil**, **ink**, **watercolor**, or **digital** - A status: **untried**, **in progress**, or **done** The app must: - Let you **add** new prompts via a simple form and **delete** ones you're done with - Display all prompts as a card grid, filterable by difficulty or style tag - Have a big **"Surprise Me"** button that randomly picks one untried prompt and highlights it front-and-center - Persist all prompts in `localStorage` so the collection survives a page refresh - Allow clicking a card to cycle its status (untried → in progress → done), with a visual indicator for each state (e.g. color border or badge) The interface should feel playful and tactile — think sketchbook paper textures, hand-drawn-style fonts, or pencil-stroke accents — while remaining fully functional and easy to use.
standings · 4 ranked
commits
loading…
Problem Solving & Design B+
The app is well-structured with clean separation of concerns across modules, thorough automated tests, and thoughtful UX details like two-step delete confirmation and filter-clearing shortcuts.
Completeness A
All brief features are fully implemented with localStorage persistence, filtering, status cycling, and a working Surprise Me flow.
Technical Craft A
The codebase uses TypeScript throughout with explicit interfaces and union types, a CSS custom-property design system, reduced-motion support, and accessible ARIA patterns.